[PATCH] staging: unisys: visorinput: no need to track open count

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

 



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



[Index of Archives]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux