On Tue, Sep 15, 2009 at 12:26, Dmitry Torokhov wrote: > 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. i dont think there is a race here as we only use the IRQ to schedule the WQ; we dont read/pass info between the two. at any rate, i noticed that this driver isnt the final one. i spent some time cleaning it up a bit more (style, messages, dev_pm_ops), so i'll merge your changes and mine and post another one. -mike -- 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