OSDN Git Service

genirq: provide old request_irq() for CONFIG_GENERIC_HARDIRQ=n
authorThomas Gleixner <tglx@linutronix.de>
Tue, 24 Mar 2009 19:27:39 +0000 (20:27 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 24 Mar 2009 19:34:24 +0000 (20:34 +0100)
Impact: Undo compile breakage for archs with CONFIG_GENERIC_HARDIRQ=n

The threaded interrupt handler patches changed request_irq from extern
to inline. Architectures which do not use the generic irq code still
have request_irq() as a global function and therefor fail to compile.

Keep the extern declaration for CONFIG_GENERIC_HARDIRQ=n

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/linux/interrupt.h

index 266a5f5..7e63b82 100644 (file)
@@ -103,6 +103,7 @@ struct irqaction {
 
 extern irqreturn_t no_action(int cpl, void *dev_id);
 
+#ifdef CONFIG_GENERIC_HARDIRQS
 extern int __must_check
 request_threaded_irq(unsigned int irq, irq_handler_t handler,
                     irq_handler_t thread_fn,
@@ -115,9 +116,13 @@ request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags,
        return request_threaded_irq(irq, handler, NULL, flags, name, dev);
 }
 
-#ifdef CONFIG_GENERIC_HARDIRQS
 extern void exit_irq_thread(void);
 #else
+
+extern int __must_check
+request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags,
+           const char *name, void *dev);
+
 static inline void exit_irq_thread(void) { }
 #endif