]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - kernel/irq/handle.c
Merge branches 'irq/genirq' and 'linus' into irq/core
[linux-2.6-omap-h63xx.git] / kernel / irq / handle.c
index 759b8b04d294147e1dd6740dabdb7589f3e765a3..f6cdda68e5c6c04b4c0da4626db67d05a78af3b0 100644 (file)
@@ -338,6 +338,8 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action)
        irqreturn_t ret, retval = IRQ_NONE;
        unsigned int status = 0;
 
+       WARN_ONCE(!in_irq(), "BUG: IRQ handler called from non-hardirq context!");
+
        if (!(action->flags & IRQF_DISABLED))
                local_irq_enable_in_hardirq();
 
@@ -357,6 +359,11 @@ irqreturn_t handle_IRQ_event(unsigned int irq, struct irqaction *action)
 }
 
 #ifndef CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ
+
+#ifdef CONFIG_ENABLE_WARN_DEPRECATED
+# warning __do_IRQ is deprecated. Please convert to proper flow handlers
+#endif
+
 /**
  * __do_IRQ - original all in one highlevel IRQ handler
  * @irq:       the interrupt number