> > > > +#ifdef CONFIG_PM_SLEEP > > > > +static int gp2a_suspend(struct device *dev) > > > > +{ > > > > + struct i2c_client *client = to_i2c_client(dev); > > > > + struct gp2a_data *dt = i2c_get_clientdata(client); > > > > + int error; > > > > + > > > > + if (device_may_wakeup(&client->dev)) { > > > > + enable_irq_wake(client->irq); > > > > + } else { > > > > > > This needs locking WRT open/close. Please acquire dt->device->mutex and > > > only disable if dt->device->users != 0. Similar shoudl be done for > > > resume. > > > > I see what you mean. I will fix it. > Is my understanding correct?You are going to disable the device > only when there are users of the driver and not disable the device > otherwise.As anyway if there are no users the driver would have been > already disabled right? Please, see PATCH v3 for the answer to your question. -Oskar -- 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