[PATCH 1/2] Input: wacom_w8001 - implement open and close

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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


[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux