Re: Threaded interrupts for synaptic touchscreen in HTC dream

From: David Brownell
Date: Wed Jul 22 2009 - 13:34:18 EST


On Wednesday 22 July 2009, Thomas Gleixner wrote:
>
> > 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.

That direction, yes ... request_threaded_irq() can't infer ONESHOT
from IRQF_TRIGGER_{LOW,HIGH} since the hardirq handler might be
able to get Real Work (tm) done in some non-I2C/non-SPI cases.

Another alternative syntax: magic cookies for the hardirq handler.
Example, pass NULL to get a default punt-to-irqthread behavior, with
ONESHOT set up if it sees IRQF_TRIGGER_HIGH or IRQF_TRIGGER_LOW.

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