On Tue, Sep 15, 2009 at 07:19:14AM -0400, Mike Frysinger wrote: > On Tue, Sep 15, 2009 at 02:20, Dmitry Torokhov wrote: > > On Mon, Sep 14, 2009 at 06:18:39PM -0400, Mike Frysinger wrote: > >> +static int __devexit adp5588_remove(struct i2c_client *client) > >> +{ > >> + struct adp5588_kpad *kpad = dev_get_drvdata(&client->dev); > >> + > >> + adp5588_write(client, CFG, 0); > >> + free_irq(client->irq, kpad); > > > > cancel_work_sync() is missing. Could you try the updated version below? > > i dont think i have any adp5588 hardware. Robin: do we have any in > Norwood ? otherwise, it'll have to wait for Michael to get back to > double check. > > > BTW, maybe you shoudl convert to threaded IRQs here? > > yes, after your suggestion for the previous driver, we've been looking > at all our input drivers to convert to threaded IRQs. do we need to > convert all of them before acceptance, or can we merge now and post an > updated patch after ? It really depends on the driver. If there is a race between IRQ and the WQ in the driver I will request you to fix it one way or another before accepting the driver (and quite often using threaded IRQ gets rid of the race). In the cases like this particular driver though I am not even convinced that we need threaded IRQ. The driver is not expected to generate lots of events rapidly so using keventd as it does now is probably the best solution. -- Dmitry -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html