Messages in this thread | | | Date | Thu, 13 Aug 2009 19:40:35 -0000 | From | Thomas Gleixner <> | Subject | [RFC patch 0/3] Support for irq chips on slow busses (i2c, spi) |
| |
The support for irq chips on slow busses eg. i2c, spi has been discussed to great length several times. Most of the details can be found in this thread: http://lkml.org/lkml/2009/7/21/266
The following patch series is a round up of the various patch snippets sent out during the discussion and the ideas we agreed on.
There are some subtle differences to the initial test patches:
1) Instead of using a separate flow handler we allow to request the one shot feature with a flag on request_irq and integrate the oneshot feature into the existing level/edge handlers.
2) Instead of conditional locking which makes the patch smaller but hides the already known fact that a device sits behind a slow irq chip I implemented a set of separate management functions (see patch 2/3). The initial idea with the conditional locking can be found here: http://lkml.org/lkml/2009/7/22/163
3) patch 3/3 implements a helper function which allows the demultiplexing thread to call the demux handlers in its own thread context with out creating a separate thread for each subdevice interrupt. The device driver needs to request the interrupt via request_nested_slowbus_irq() to prevent the creation of the extra thread.
Please have a thorough look and hopefully a test ride on your favourite slowbus irq chip implementation so we can get this into .32
Thanks,
tglx
| |