genirq: fix devres.o build for GENERIC_HARDIRQS=n

kernel/irq/devres.c is built by sparc (32bit) and m68k via the obscure
../../../kernel/irq/devres.o reference in arch/[sparc/m68k]/kernel/Makefile

To avoid ifdeffery in devres.c provide request_threaded_irq as an
inline for these users.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

+14
+14
include/linux/interrupt.h
··· 123 request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, 124 const char *name, void *dev); 125 126 static inline void exit_irq_thread(void) { } 127 #endif 128
··· 123 request_irq(unsigned int irq, irq_handler_t handler, unsigned long flags, 124 const char *name, void *dev); 125 126 + /* 127 + * Special function to avoid ifdeffery in kernel/irq/devres.c which 128 + * gets magically built by GENERIC_HARDIRQS=n architectures (sparc, 129 + * m68k). I really love these $@%#!* obvious Makefile references: 130 + * ../../../kernel/irq/devres.o 131 + */ 132 + static inline int __must_check 133 + request_threaded_irq(unsigned int irq, irq_handler_t handler, 134 + irq_handler_t thread_fn, 135 + unsigned long flags, const char *name, void *dev) 136 + { 137 + return request_irq(irq, handler, flags, name, dev); 138 + } 139 + 140 static inline void exit_irq_thread(void) { } 141 #endif 142