[PATCH] genirq: fix symbol export for __irq_set_affinity

From: Jesse Brandeburg
Date: Thu Dec 18 2014 - 17:30:38 EST


The function __irq_set_affinity is referenced by interrupt.h
with static inlines, but if you try to use one of the inlines
in interrupt.h (for instance to call irq_set_affinity) then
compile fails due to a missing symbol, when building modules.

Enabling this function means that kernel drivers can include
an initial affinity setting for the interrupt, instead of all
interrupts starting out life on CPU0. It seems to have just
been an oversight that it was not included.

This function and the helpers that call it from interrupt.h were
already in the kernel API, but if used would then fail to compile
due to the lack of an export even though already defined via extern.

Signed-off-by: Jesse Brandeburg <jesse.brandeburg@xxxxxxxxx>
CC: Thomas Gleixner <tglx@xxxxxxxxxxxxx>

---

Note: The use of EXPORT_SYMBOL_GPL was only because the next
latest function added to this file (irq_set_affinity_hint)
also used it.
---
kernel/irq/manage.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 8069237..8c1a5ad 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -233,6 +233,7 @@ int __irq_set_affinity(unsigned int irq, const struct cpumask *mask, bool force)
raw_spin_unlock_irqrestore(&desc->lock, flags);
return ret;
}
+EXPORT_SYMBOL_GPL(__irq_set_affinity);

int irq_set_affinity_hint(unsigned int irq, const struct cpumask *m)
{

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/