[RFC patch 0/3] Support for irq chips on slow busses (i2c, spi)

From: Thomas Gleixner
Date: Thu Aug 13 2009 - 15:41:35 EST


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

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