Loading kernel/irq/autoprobe.c +0 −6 Original line number Diff line number Diff line Loading @@ -46,12 +46,6 @@ unsigned long probe_irq_on(void) for_each_irq_desc_reverse(i, desc) { 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: Loading kernel/irq/chip.c +4 −12 Original line number Diff line number Diff line Loading @@ -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); Loading kernel/irq/internals.h +0 −3 Original line number Diff line number Diff line Loading @@ -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); Loading kernel/irq/manage.c +1 −13 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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 | \ Loading Loading
kernel/irq/autoprobe.c +0 −6 Original line number Diff line number Diff line Loading @@ -46,12 +46,6 @@ unsigned long probe_irq_on(void) for_each_irq_desc_reverse(i, desc) { 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: Loading
kernel/irq/chip.c +4 −12 Original line number Diff line number Diff line Loading @@ -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); Loading
kernel/irq/internals.h +0 −3 Original line number Diff line number Diff line Loading @@ -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); Loading
kernel/irq/manage.c +1 −13 Original line number Diff line number Diff line Loading @@ -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) { Loading Loading @@ -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 | \ Loading