Messages in this thread Patch in this message | | | Date | Sun, 31 Oct 2010 14:22:11 +0100 (CET) | From | Thomas Gleixner <> | Subject | [GIT pull] genirq updates for 2.6.37 |
| |
Linus,
Please pull the latest irq-core-for-linus git tree from:
git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip.git irq-core-for-linus
Thanks,
tglx
------------------> Paul Mundt (2): genirq: Add single IRQ reservation helper genirq: Fix up irq_node() for irq_data changes.
Thomas Gleixner (1): genirq: Warn if enable_irq is called before irq is set up
include/linux/irq.h | 5 +++++ include/linux/irqnr.h | 2 +- kernel/irq/manage.c | 4 ++++ 3 files changed, 10 insertions(+), 1 deletions(-)
diff --git a/include/linux/irq.h b/include/linux/irq.h index e963911..abde252 100644 --- a/include/linux/irq.h +++ b/include/linux/irq.h @@ -412,6 +412,11 @@ static inline void irq_free_desc(unsigned int irq) irq_free_descs(irq, 1); } +static inline int irq_reserve_irq(unsigned int irq) +{ + return irq_reserve_irqs(irq, 1); +} + #endif /* CONFIG_GENERIC_HARDIRQS */ #endif /* !CONFIG_S390 */ diff --git a/include/linux/irqnr.h b/include/linux/irqnr.h index 05aa8c23..3bc4dca 100644 --- a/include/linux/irqnr.h +++ b/include/linux/irqnr.h @@ -43,7 +43,7 @@ unsigned int irq_get_next_irq(unsigned int offset); else #ifdef CONFIG_SMP -#define irq_node(irq) (irq_to_desc(irq)->node) +#define irq_node(irq) (irq_get_irq_data(irq)->node) #else #define irq_node(irq) 0 #endif diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 644e8d5..5f92acc 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -324,6 +324,10 @@ void enable_irq(unsigned int irq) if (!desc) return; + if (WARN(!desc->irq_data.chip || !desc->irq_data.chip->irq_enable, + KERN_ERR "enable_irq before setup/request_irq: irq %u\n", irq)) + return; + chip_bus_lock(desc); raw_spin_lock_irqsave(&desc->lock, flags); __enable_irq(desc, irq, false);
| |