From d312bfca161a55222122c751529df49b66b32d42 Mon Sep 17 00:00:00 2001 From: Thomas Gleixner Date: Wed, 18 May 2011 12:48:00 +0200 Subject: [PATCH] --- yaml --- r: 245419 b: refs/heads/master c: fe12bc2c996d3e492b2920e32ac79f7bbae3e15d h: refs/heads/master i: 245417: d9002284a575f574f3a2d8819ee4879bff2ff701 245415: 49b7e4dfc34d6b8b7a6931eb582e1664a1b144d4 v: v3 --- [refs] | 2 +- trunk/include/linux/irqdesc.h | 5 +---- trunk/kernel/irq/irqdesc.c | 15 +++++++++++++++ 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index cae0f7340442..af2aef34fa61 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fe0514348452f5b0ad7e842b0d71b8322b1297de +refs/heads/master: fe12bc2c996d3e492b2920e32ac79f7bbae3e15d diff --git a/trunk/include/linux/irqdesc.h b/trunk/include/linux/irqdesc.h index c70b1aa4b93a..2d921b35212c 100644 --- a/trunk/include/linux/irqdesc.h +++ b/trunk/include/linux/irqdesc.h @@ -111,10 +111,7 @@ static inline void generic_handle_irq_desc(unsigned int irq, struct irq_desc *de desc->handle_irq(irq, desc); } -static inline void generic_handle_irq(unsigned int irq) -{ - generic_handle_irq_desc(irq, irq_to_desc(irq)); -} +int generic_handle_irq(unsigned int irq); /* Test to see if a driver has successfully requested an irq */ static inline int irq_has_action(unsigned int irq) diff --git a/trunk/kernel/irq/irqdesc.c b/trunk/kernel/irq/irqdesc.c index e07b975fdc5a..9f65b0225d6a 100644 --- a/trunk/kernel/irq/irqdesc.c +++ b/trunk/kernel/irq/irqdesc.c @@ -290,6 +290,21 @@ static int irq_expand_nr_irqs(unsigned int nr) #endif /* !CONFIG_SPARSE_IRQ */ +/** + * generic_handle_irq - Invoke the handler for a particular irq + * @irq: The irq number to handle + * + */ +int generic_handle_irq(unsigned int irq) +{ + struct irq_desc *desc = irq_to_desc(irq); + + if (!desc) + return -EINVAL; + generic_handle_irq_desc(irq, desc); + return 0; +} + /* Dynamic interrupt handling */ /**