[PATCH 3/4] ARM: export set_irq_flags/irq_set_chip_and_handler
From: arnd@arndb.de (Arnd Bergmann)
Date: 2012-08-22 14:30:19
Also in:
lkml
Subsystem:
arm port, irq subsystem, the rest · Maintainers:
Russell King, Thomas Gleixner, Linus Torvalds
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 <redacted> Cc: Linus Walleij <redacted> Cc: Rafael J. Wysocki <redacted> Cc: Thomas Gleixner <redacted> Cc: Russell King <redacted> --- 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