genirq: Remove real old transition functions
authorThomas Gleixner <tglx@linutronix.de>
Mon, 14 Feb 2011 19:16:43 +0000 (20:16 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Sat, 19 Feb 2011 11:58:23 +0000 (12:58 +0100)
These transition helpers are stale for years now. Remove them.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
kernel/irq/autoprobe.c
kernel/irq/chip.c
kernel/irq/internals.h
kernel/irq/manage.c

index c8bbc4f..394784c 100644 (file)
@@ -47,12 +47,6 @@ unsigned long probe_irq_on(void)
                raw_spin_lock_irq(&desc->lock);
                if (!desc->action && irq_settings_can_probe(desc)) {
                        /*
-                        * An old-style architecture might still have
-                        * the handle_bad_irq handler there:
-                        */
-                       compat_irq_chip_set_default_handler(desc);
-
-                       /*
                         * Some chips need to know about probing in
                         * progress:
                         */
index 2b0f919..c19c0b5 100644 (file)
@@ -644,19 +644,11 @@ __set_irq_handler(unsigned int irq, irq_flow_handler_t handle, int is_chained,
                return;
        }
 
-       if (!handle)
+       if (!handle) {
                handle = handle_bad_irq;
-       else if (desc->irq_data.chip == &no_irq_chip) {
-               printk(KERN_WARNING "Trying to install %sinterrupt handler "
-                      "for IRQ%d\n", is_chained ? "chained " : "", irq);
-               /*
-                * Some ARM implementations install a handler for really dumb
-                * interrupt hardware without setting an irq_chip. This worked
-                * with the ARM no_irq_chip but the check in setup_irq would
-                * prevent us to setup the interrupt at all. Switch it to
-                * dummy_irq_chip for easy transition.
-                */
-               desc->irq_data.chip = &dummy_irq_chip;
+       } else {
+               if (WARN_ON(desc->irq_data.chip == &no_irq_chip))
+                       return;
        }
 
        chip_bus_lock(desc);
index fd5777a..f80a774 100644 (file)
@@ -74,9 +74,6 @@ enum {
 /* Set default functions for irq_chip structures: */
 extern void irq_chip_set_defaults(struct irq_chip *chip);
 
-/* Set default handler: */
-extern void compat_irq_chip_set_default_handler(struct irq_desc *desc);
-
 extern int __irq_set_trigger(struct irq_desc *desc, unsigned int irq,
                unsigned long flags);
 extern void __disable_irq(struct irq_desc *desc, unsigned int irq, bool susp);
index ea6add6..99395a2 100644 (file)
@@ -540,17 +540,6 @@ int can_request_irq(unsigned int irq, unsigned long irqflags)
        return !action;
 }
 
-void compat_irq_chip_set_default_handler(struct irq_desc *desc)
-{
-       /*
-        * If the architecture still has not overriden
-        * the flow handler then zap the default. This
-        * should catch incorrect flow-type setting.
-        */
-       if (desc->handle_irq == &handle_bad_irq)
-               desc->handle_irq = NULL;
-}
-
 int __irq_set_trigger(struct irq_desc *desc, unsigned int irq,
                      unsigned long flags)
 {
@@ -912,8 +901,7 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
 
                        if (ret)
                                goto out_mask;
-               } else
-                       compat_irq_chip_set_default_handler(desc);
+               }
 
                desc->istate &= ~(IRQS_AUTODETECT | IRQS_SPURIOUS_DISABLED | \
                                  IRQS_INPROGRESS | IRQS_ONESHOT | \