Re: Threaded interrupts for synaptic touchscreen in HTC dream

Thomas Gleixner
2009-07-22T16:43:32Z

On Wed, 22 Jul 2009, David Brownell wrote:
> On Tuesday 21 July 2009, Thomas Gleixner wrote:
>
> Interesting. The model is then to switch over to __set_irq_handler(),
> or maybe set_irq_chip_and_handler(), to replace the toplevel dispatch
> code for will-be-threaded IRQs which happen to be hooked up to inputs
> that don't sense edges. (Agree, that seems like a goof. But hardware
> designers sometimes have any choices there.)
>
> The normal model is that boards don't get involved with that level of
> logic ... all IRQs get set up once on generic code, and flow handlers
> don't change. Or if they do change, it's done when changing the IRQ's
> trigger mode from edge to level, or vice versa.
>
> Can that be cleaned up a bit, so that the handle_level_oneshot_irq()
> and unmask_oneshot_irq() stuff kicks in automatically when needed,
> instead of requiring board-specific (or driver-specific) code to get
> that stuff right?

The only way I can see is to set a special trigger flag like
IRQF_TRIGGER_RISING & Co.

i.e. IRQF_TRIGGER_LEVEL | IRQF_TRIGGER_ONESHOT

That might work.

Thanks,

tglx