|
@@ -59,8 +59,7 @@ static void combiner_handle_cascade_irq(unsigned int irq, struct irq_desc *desc)
|
|
|
unsigned int cascade_irq, combiner_irq;
|
|
|
unsigned long status;
|
|
|
|
|
|
- /* primary controller ack'ing */
|
|
|
- chip->irq_ack(&desc->irq_data);
|
|
|
+ chained_irq_enter(chip, desc);
|
|
|
|
|
|
spin_lock(&irq_controller_lock);
|
|
|
status = __raw_readl(chip_data->base + COMBINER_INT_STATUS);
|
|
@@ -79,8 +78,7 @@ static void combiner_handle_cascade_irq(unsigned int irq, struct irq_desc *desc)
|
|
|
generic_handle_irq(cascade_irq);
|
|
|
|
|
|
out:
|
|
|
- /* primary controller unmasking */
|
|
|
- chip->irq_unmask(&desc->irq_data);
|
|
|
+ chained_irq_exit(chip, desc);
|
|
|
}
|
|
|
|
|
|
static struct irq_chip combiner_chip = {
|