aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/irqdesc.h5
-rw-r--r--kernel/irq/irqdesc.c15
2 files changed, 16 insertions, 4 deletions
diff --git a/include/linux/irqdesc.h b/include/linux/irqdesc.h
index c70b1aa4b93a..2d921b35212c 100644
--- a/include/linux/irqdesc.h
+++ b/include/linux/irqdesc.h
@@ -111,10 +111,7 @@ static inline void generic_handle_irq_desc(unsigned int irq, struct irq_desc *de
111 desc->handle_irq(irq, desc); 111 desc->handle_irq(irq, desc);
112} 112}
113 113
114static inline void generic_handle_irq(unsigned int irq) 114int generic_handle_irq(unsigned int irq);
115{
116 generic_handle_irq_desc(irq, irq_to_desc(irq));
117}
118 115
119/* Test to see if a driver has successfully requested an irq */ 116/* Test to see if a driver has successfully requested an irq */
120static inline int irq_has_action(unsigned int irq) 117static inline int irq_has_action(unsigned int irq)
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c
index e07b975fdc5a..9f65b0225d6a 100644
--- a/kernel/irq/irqdesc.c
+++ b/kernel/irq/irqdesc.c
@@ -290,6 +290,21 @@ static int irq_expand_nr_irqs(unsigned int nr)
290 290
291#endif /* !CONFIG_SPARSE_IRQ */ 291#endif /* !CONFIG_SPARSE_IRQ */
292 292
293/**
294 * generic_handle_irq - Invoke the handler for a particular irq
295 * @irq: The irq number to handle
296 *
297 */
298int generic_handle_irq(unsigned int irq)
299{
300 struct irq_desc *desc = irq_to_desc(irq);
301
302 if (!desc)
303 return -EINVAL;
304 generic_handle_irq_desc(irq, desc);
305 return 0;
306}
307
293/* Dynamic interrupt handling */ 308/* Dynamic interrupt handling */
294 309
295/** 310/**