[tip: irq/core] genirq: Reexport irq_to_desc() for PPC KVM

From: tip-bot2 for Thomas Gleixner
Date: Sun Dec 13 2020 - 09:06:31 EST


The following commit has been merged into the irq/core branch of tip:

Commit-ID: 3bda84519c6c2d57e7378417ac116f61d50abae1
Gitweb: https://git.kernel.org/tip/3bda84519c6c2d57e7378417ac116f61d50abae1
Author: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
AuthorDate: Sun, 13 Dec 2020 14:33:57 +01:00
Committer: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
CommitterDate: Sun, 13 Dec 2020 14:58:44 +01:00

genirq: Reexport irq_to_desc() for PPC KVM

Commit f07147b162a1 ("genirq: Remove export of irq_to_desc()") breaks the
PPC - CONFIG_KVM_BOOK3S_64_HV=n build because the analysis of irq_to_desc()
usage missed that the creative fiddling in arch/powerpc/kvm/ is actually in
a module and not in built in code. The only real purpose is to access
irq_desc::kstat_irqs which can be solved differently, but not without some
surgery.

Reexport it when KVM_BOOK3S_64_HV is enabled. That means that all other
modular code especially drivers/* cannot rely on it, which was the whole
point of the exercise.

Fixes: f07147b162a1 ("genirq: Remove export of irq_to_desc()")
Reported-by: Ingo Molnar <mingo@xxxxxxxxxx>
Signed-off-by: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
Cc: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
---
kernel/irq/irqdesc.c | 3 +++
1 file changed, 3 insertions(+)

diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index 5d766f4..0e1f89d 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -352,6 +352,9 @@ struct irq_desc *irq_to_desc(unsigned int irq)
{
return radix_tree_lookup(&irq_desc_tree, irq);
}
+#ifdef CONFIG_KVM_BOOK3S_64_HV
+EXPORT_SYMBOL_GPL(irq_to_desc);
+#endif

static void delete_irq_desc(unsigned int irq)
{