staging: unisys: visorinput: no need to track open count
authorTim Sell <Timothy.Sell@unisys.com>
Wed, 14 Oct 2015 13:45:10 +0000 (09:45 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 17 Oct 2015 05:59:36 +0000 (22:59 -0700)
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@unisys.com>
Signed-off-by: Benjamin Romer <benjamin.romer@unisys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/unisys/visorinput/visorinput.c

index 9fdaa9c8a2698f4605cb98974f30eb3fca80bc35..d23c12946b0bf575157c1371b14025a970b69b55 100644 (file)
@@ -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];
@@ -227,11 +226,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;
 }
 
@@ -244,14 +240,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);
 }
 
 /*