Re: Moving staging:iio over to threaded interrupts.

From: Thomas Gleixner
Date: Tue Mar 08 2011 - 07:12:31 EST


On Tue, 8 Mar 2011, Jonathan Cameron wrote:
> On 03/08/11 10:30, Thomas Gleixner wrote:
> > So now you can request the interrupts for your subdevices with
> > request_irq or request_threaded_irq.
> >
> > You can also implement #1 this way, you just mark the sub device
> > interrupts as IRQ_NESTED_THREAD, and then call the handlers from the
> > main trigger irq thread.
> Hi Thomas,
>
> One issue here that I'm not quite sure how to overcome is that the trigger to
> device mapping tends to be dynamic. That is we quite often switch around
> what device is triggered by which trigger at runtime. All done via text label
> matching via sysfs.

Was not aware of that.

> I guess we could maintain this by a spot of indirection and pool of interrupts per
> trigger (with compile time control on how many). Any other approaches come to mind?

That should work. You just need a function in the trigger
implementation which hands back an unused irq number to the device
when a trigger is installed for a device. Then the device calls
request[_threaded]_irq() on that irq number and all should work
magically.

Thanks,

tglx

--
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/