Re: [PATCH] genirq: handle shared irqs in handle_nested_irq()

From: Rabin Vincent
Date: Fri Oct 29 2010 - 12:49:29 EST


On Fri, Oct 29, 2010 at 10:04 PM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
> On Fri, 29 Oct 2010, Rabin Vincent wrote:
>> On Fri, Oct 29, 2010 at 8:56 PM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>> > On Fri, 29 Oct 2010, Rabin Vincent wrote:
>> >> On Fri, Oct 29, 2010 at 12:24 AM, Thomas Gleixner <tglx@xxxxxxxxxxxxx> wrote:
>> >> > On Thu, 28 Oct 2010, Rabin Vincent wrote:
>> >> >> Allow shared irqs to work when nested threads are used for handling
>> >> >> threaded interrupts.
>> >> >
>> >> > Why do we want this ? handle_nested_irq() is called from a interrupt
>> >> > demultiplexer, so why would we need shared interrupts for this ?
>> >>
>> >> Threaded IRQ + handle_nested_irq() is used by I2C GPIO expander drivers
>> >> like chained hander + generic_handle_irq() is used by on-chip GPIO
>> >> drivers.  If two irq handlers are registered on an on-chip GPIO
>> >> interrupt (because two devices are externally connected), it works.  If
>> >> the handlers are instead registered on one of the expander's pins'
>> >> interrupt, without this patch, only the handler registered first is
>> >> called.
>> >
>> > Have the hardware dudes not yet understood that shared interrupts are
>> > a horrible idea ?
>>
>> Note that I haven't actually seen the multiple devices to expander GPIO
>> (yet?, though I've seen the multiple devices to onchip GPIO).  It seemed
>> to be something missing from the irq handling though, rather than
>> something that was left out on purpose.
>
> No, I left it out on purpose and I'd rather go w/o it unless there is
> a intree user.

OK, fair enough.

Thanks,
Rabin
--
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/