Skip to content

Commit

Permalink
genirq: Remove real old transition functions
Browse files Browse the repository at this point in the history
These transition helpers are stale for years now. Remove them.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
  • Loading branch information
Thomas Gleixner committed Feb 19, 2011
1 parent a6967ca commit 091738a
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 34 deletions.
6 changes: 0 additions & 6 deletions kernel/irq/autoprobe.c
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand Down
16 changes: 4 additions & 12 deletions kernel/irq/chip.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
3 changes: 0 additions & 3 deletions kernel/irq/internals.h
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
14 changes: 1 addition & 13 deletions kernel/irq/manage.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
Expand Down Expand Up @@ -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 | \
Expand Down

0 comments on commit 091738a

Please sign in to comment.