Messages in this thread Patch in this message | | | From | Arnd Bergmann <> | Subject | [PATCH 3/4] ARM: export set_irq_flags/irq_set_chip_and_handler | Date | Wed, 22 Aug 2012 16:29:39 +0200 |
| |
The recently added Emma Mobile GPIO driver calls set_irq_flags and irq_set_chip_and_handler for the interrupts it exports and it can be built as a module, which currently fails with
ERROR: "set_irq_flags" [drivers/gpio/gpio-em.ko] undefined! ERROR: "irq_set_chip_and_handler_name" [drivers/gpio/gpio-em.ko] undefined!
We either need to replace the call to set_irq_flags with something else or export that function. This patch does the latter.
Signed-off-by: Arnd Bergmann <arnd@arndb.de> Cc: Magnus Damm <damm@opensource.se> Cc: Linus Walleij <linus.walleij@linaro.org> Cc: Rafael J. Wysocki <rjw@sisk.pl> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Russell King <rmk+kernel@arm.linux.org.uk> --- arch/arm/kernel/irq.c | 2 ++ kernel/irq/chip.c | 2 ++ 2 files changed, 4 insertions(+)
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index 16cedb4..8961650 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c @@ -34,6 +34,7 @@ #include <linux/list.h> #include <linux/kallsyms.h> #include <linux/proc_fs.h> +#include <linux/export.h> #include <asm/exception.h> #include <asm/mach/arch.h> @@ -109,6 +110,7 @@ void set_irq_flags(unsigned int irq, unsigned int iflags) /* Order is clear bits in "clr" then set bits in "set" */ irq_modify_status(irq, clr, set & ~clr); } +EXPORT_SYMBOL_GPL(set_irq_flags); void __init init_IRQ(void) { diff --git a/kernel/irq/chip.c b/kernel/irq/chip.c index eebd6d5..3c3cea3 100644 --- a/kernel/irq/chip.c +++ b/kernel/irq/chip.c @@ -13,6 +13,7 @@ #include <linux/irq.h> #include <linux/msi.h> #include <linux/module.h> +#include <linux/export.h> #include <linux/interrupt.h> #include <linux/kernel_stat.h> @@ -671,6 +672,7 @@ irq_set_chip_and_handler_name(unsigned int irq, struct irq_chip *chip, irq_set_chip(irq, chip); __irq_set_handler(irq, handle, 0, name); } +EXPORT_SYMBOL_GPL(irq_set_chip_and_handler_name); void irq_modify_status(unsigned int irq, unsigned long clr, unsigned long set) { -- 1.7.10
| |