Skip to content

RFC Support for irq chips on slow busses (i2c, spi) - V2

Thomas Gleixner lkml 1 version In review

Get series with b4
b4 am [email protected]

Versions newest first

  1. v1 RFC Latest3 patches 4 repliesIn review

Patches in v1 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/3genirq: Add oneshot supportinclude/linux/interrupt.h include/linux/irq.h kernel/irq/chip.c +1 more+62 -52 replies
2/3genirq: Add buslock supportinclude/linux/irq.h kernel/irq/chip.c kernel/irq/internals.h +1 more+39 -10 replies
3/3genirq: Support nested threaded irq handlinginclude/linux/irq.h kernel/irq/chip.c kernel/irq/internals.h +1 more+99 -30 replies

Reviews trailers per patch

No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.

Read the v1 thread

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

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.

This is version 2 of the patch series. The main changes vs. V1
(http://lkml.org/lkml/2009/8/13/348)

- patch 1/3: Provide a generic primary handler function which just returns IRQ_WAKE_THREAD as this is all what oneshot threaded handlers need to avoid useless copies of that all over the place.

- patch 2/3: Reverted to the initial idea of conditional locking to allow drivers to be used for both slowbus and standard interrupts without any magic in the driver code

- patch 3/3: To avoid different driver code for nested or separate thread handling a new function is provided which allows to mark the interrupt nested. request_threaded_irq() creates a separate thread only when the flag is not set.

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