From: Tim Sell <Timothy.Sell@xxxxxxxxxx> evdev_open_device() and evdev_close_device() (in evdev.c) already track the open count under lock, and will only call visorinput_open() on the first open and visorinput_close() on the last close. So this patch removes the unnessary logic from visorinput, and the now-unused counter from the struct. Signed-off-by: Tim Sell <timothy.sell@xxxxxxxxxx> Signed-off-by: Benjamin Romer <benjamin.romer@xxxxxxxxxx> --- drivers/staging/unisys/visorinput/visorinput.c | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/drivers/staging/unisys/visorinput/visorinput.c b/drivers/staging/unisys/visorinput/visorinput.c index 058ee91c..546e6be 100644 --- a/drivers/staging/unisys/visorinput/visorinput.c +++ b/drivers/staging/unisys/visorinput/visorinput.c @@ -66,7 +66,6 @@ struct visorinput_devdata { struct rw_semaphore lock_visor_dev; /* lock for dev */ struct input_dev *visorinput_dev; bool paused; - unsigned int opened; unsigned int keycode_table_bytes; /* size of following array */ /* for keyboard devices: visorkbd_keycode[] + visorkbd_ext_keycode[] */ unsigned char keycode_table[0]; @@ -226,11 +225,8 @@ static int visorinput_open(struct input_dev *visorinput_dev) __func__, visorinput_dev); return -EINVAL; } - devdata->opened++; - dev_dbg(&visorinput_dev->dev, "%s opened %d\n", __func__, - devdata->opened); - if (devdata->opened == 1) - visorbus_enable_channel_interrupts(devdata->dev); + dev_dbg(&visorinput_dev->dev, "%s opened\n", __func__); + visorbus_enable_channel_interrupts(devdata->dev); return 0; } @@ -243,14 +239,8 @@ static void visorinput_close(struct input_dev *visorinput_dev) __func__, visorinput_dev); return; } - if (devdata->opened) { - devdata->opened--; - dev_dbg(&visorinput_dev->dev, "%s closed %d\n", __func__, - devdata->opened); - if (devdata->opened == 0) - visorbus_disable_channel_interrupts(devdata->dev); - } else - dev_err(&visorinput_dev->dev, "%s not open\n", __func__); + dev_dbg(&visorinput_dev->dev, "%s closed\n", __func__); + visorbus_disable_channel_interrupts(devdata->dev); } /* -- 2.1.4 _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel