Re: [PATCH v3 04/18] irqchip: add nps Internal and external irqchips

From: Vineet Gupta
Date: Fri Dec 11 2015 - 02:59:50 EST


On Tuesday 01 December 2015 06:59 PM, Marc Zyngier wrote:
>> +static int nps400_irq_map(struct irq_domain *d, unsigned int irq,
>> > + irq_hw_number_t hw)
>> > +{
>> > + switch (irq) {
>> > + case TIMER0_IRQ:
>> > +#if defined(CONFIG_SMP)
>> > + case IPI_IRQ:
>> > +#endif
>> > + irq_set_chip_and_handler(irq, &nps400_irq_chip_percpu,
>> > + handle_percpu_irq);
>> > + break;
>> > + default:
>> > + irq_set_chip_and_handler(irq, &nps400_irq_chip_fasteoi,
>> > + handle_fasteoi_irq);
>> > + break;
>> > + }
> No. This is just wrong. Either you get per interrupt information from
> the device tree to configure the interrupt the right way, or you have
> different interrupt controllers for each device.
>
> But using the Linux irq number is always wrong. You should only consider
> the hwirq.

The source is this incorrectness is ARC core intc code which also does the same
thing and we get away with it because of the legacy domain usage.

I'll fix that up.

Thx,
-Vineet
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/