On Sun, Aug 21, 2011 at 1:15 PM, Dmitry Torokhov <dmitry.torokhov@xxxxxxxxx> wrote: > > Implement open() and close() methods for the input device so that we > do not start the device unless there are users listening to the events. > > Signed-off-by: Dmitry Torokhov <dtor@xxxxxxx> Tested-by: Ping Cheng <pingc@xxxxxxxxx> for the series. I can not tell if the driver doing what it claimed in the commit comment or not since I didn't trace into the code. As far as my testing goes, the driver works as it was; it works as usual after suspend and resume. Ping > > --- > drivers/input/touchscreen/wacom_w8001.c | 21 ++++++++++++++++++++- > 1 files changed, 20 insertions(+), 1 deletions(-) > > diff --git a/drivers/input/touchscreen/wacom_w8001.c b/drivers/input/touchscreen/wacom_w8001.c > index c14412e..5ece6c1 100644 > --- a/drivers/input/touchscreen/wacom_w8001.c > +++ b/drivers/input/touchscreen/wacom_w8001.c > @@ -367,6 +367,20 @@ static int w8001_command(struct w8001 *w8001, unsigned char command, > return rc; > } > > +static int w8001_open(struct input_dev *dev) > +{ > + struct w8001 *w8001 = input_get_drvdata(dev); > + > + return w8001_command(w8001, W8001_CMD_START, false); > +} > + > +static void w8001_close(struct input_dev *dev) > +{ > + struct w8001 *w8001 = input_get_drvdata(dev); > + > + w8001_command(w8001, W8001_CMD_STOP, false); > +} > + > static int w8001_setup(struct w8001 *w8001) > { > struct input_dev *dev = w8001->dev; > @@ -474,7 +488,7 @@ static int w8001_setup(struct w8001 *w8001) > > strlcat(w8001->name, " Touchscreen", sizeof(w8001->name)); > > - return w8001_command(w8001, W8001_CMD_START, false); > + return 0; > } > > /* > @@ -534,6 +548,11 @@ static int w8001_connect(struct serio *serio, struct serio_driver *drv) > input_dev->id.version = 0x0100; > input_dev->dev.parent = &serio->dev; > > + input_dev->open = w8001_open; > + input_dev->close = w8001_close; > + > + input_set_drvdata(input_dev, w8001); > + > err = input_register_device(w8001->dev); > if (err) > goto fail3; > -- > 1.7.6 > -- 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