PCI/MSI: pci-xgene-msi: Consolidate chained IRQ handler install/remove
Chained irq handlers usually set up handler data as well. We now have a function to set both under irq_desc->lock. Replace the two calls with one. Search and conversion was done with coccinelle. Reported-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: Julia Lawall <Julia.Lawall@lip6.fr> Cc: Duc Dang <dhdang@apm.com>
This commit is contained in:
parent
f70229e2a3
commit
36f024ed8f
|
@ -368,10 +368,8 @@ static int xgene_msi_remove(struct platform_device *pdev)
|
|||
|
||||
for (i = 0; i < NR_HW_IRQS; i++) {
|
||||
virq = msi->msi_groups[i].gic_irq;
|
||||
if (virq != 0) {
|
||||
irq_set_chained_handler(virq, NULL);
|
||||
irq_set_handler_data(virq, NULL);
|
||||
}
|
||||
if (virq != 0)
|
||||
irq_set_chained_handler_and_data(virq, NULL, NULL);
|
||||
}
|
||||
kfree(msi->msi_groups);
|
||||
|
||||
|
@ -421,8 +419,8 @@ static int xgene_msi_hwirq_alloc(unsigned int cpu)
|
|||
}
|
||||
|
||||
if (err) {
|
||||
irq_set_chained_handler(msi_group->gic_irq, NULL);
|
||||
irq_set_handler_data(msi_group->gic_irq, NULL);
|
||||
irq_set_chained_handler_and_data(msi_group->gic_irq,
|
||||
NULL, NULL);
|
||||
return err;
|
||||
}
|
||||
}
|
||||
|
@ -441,8 +439,8 @@ static void xgene_msi_hwirq_free(unsigned int cpu)
|
|||
if (!msi_group->gic_irq)
|
||||
continue;
|
||||
|
||||
irq_set_chained_handler(msi_group->gic_irq, NULL);
|
||||
irq_set_handler_data(msi_group->gic_irq, NULL);
|
||||
irq_set_chained_handler_and_data(msi_group->gic_irq, NULL,
|
||||
NULL);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue