Hi Mark, On Tue, Jul 21, 2009 at 5:06 PM, Mark Brown<broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote: > On Tue, Jul 21, 2009 at 12:59:25PM +0200, Pavel Machek wrote: > > This looks like an unrelated (but useful) change: > >> * >> + * http://www.synaptics.com/sites/default/files/511_000099_01F.pdf >> */ > > This too: > >> static void decode_report(struct synaptics_ts_data *ts, u8 *buf) >> { >> +/* >> + * This sensor sends two 6-byte absolute finger reports, an optional >> + * 2-byte relative report followed by a status byte. This function >> + * reads the two finger reports and transforms the coordinates > > Worth splitting them out? > >> +static irqreturn_t synaptics_ts_hardirq(int irq, void *dev_id) >> +{ >> + disable_irq_nosync(irq); >> + return IRQ_WAKE_THREAD; > > Are you sure that this is going to work? The IRQ thread code will not > call the thread function if the IRQ is marked as disabled so the thread > won't actually get called and the interrupt will just stay disabled (see > irq_thread() in kernel/irq/manage.c). As far as I can see the threaded > IRQ support can't be used for devices on interrupt driven buses that > can't interact with the hardware in hardirq context but I might be > missing something here. > I think threaded irqs are used in USB drivers too, I can't locate the patches link for that. -- ---Trilok Soni http://triloksoni.wordpress.com http://www.linkedin.com/in/triloksoni -- 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