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 -- To unsubscribe from this list: send the line "unsubscribe linux-i2c" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html