powerpc/xics: Cleanup xics_host_map and ipi
Since we already have a special case in map to set the ipi handler, use the desired flow. If we don't find an ics to handle the interrupt complain instead of returning 0 without having set a chip or handler. Signed-off-by: Milton Miller <miltonm@bga.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
parent
714542721b
commit
e085255ebc
1 changed files with 5 additions and 5 deletions
|
@ -135,9 +135,8 @@ static void xics_request_ipi(void)
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* IPIs are marked IRQF_DISABLED as they must run with irqs
|
* IPIs are marked IRQF_DISABLED as they must run with irqs
|
||||||
* disabled
|
* disabled, and PERCPU. The handler was set in map.
|
||||||
*/
|
*/
|
||||||
irq_set_handler(ipi, handle_percpu_irq);
|
|
||||||
BUG_ON(request_irq(ipi, icp_ops->ipi_action,
|
BUG_ON(request_irq(ipi, icp_ops->ipi_action,
|
||||||
IRQF_DISABLED|IRQF_PERCPU, "IPI", NULL));
|
IRQF_DISABLED|IRQF_PERCPU, "IPI", NULL));
|
||||||
}
|
}
|
||||||
|
@ -341,15 +340,16 @@ static int xics_host_map(struct irq_host *h, unsigned int virq,
|
||||||
/* Don't call into ICS for IPIs */
|
/* Don't call into ICS for IPIs */
|
||||||
if (hw == XICS_IPI) {
|
if (hw == XICS_IPI) {
|
||||||
irq_set_chip_and_handler(virq, &xics_ipi_chip,
|
irq_set_chip_and_handler(virq, &xics_ipi_chip,
|
||||||
handle_fasteoi_irq);
|
handle_percpu_irq);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Let the ICS setup the chip data */
|
/* Let the ICS setup the chip data */
|
||||||
list_for_each_entry(ics, &ics_list, link)
|
list_for_each_entry(ics, &ics_list, link)
|
||||||
if (ics->map(ics, virq) == 0)
|
if (ics->map(ics, virq) == 0)
|
||||||
break;
|
return 0;
|
||||||
return 0;
|
|
||||||
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int xics_host_xlate(struct irq_host *h, struct device_node *ct,
|
static int xics_host_xlate(struct irq_host *h, struct device_node *ct,
|
||||||
|
|
Loading…
Add table
Reference in a new issue