Input: add input_device_enabled()
authorAndrzej Pietrasiewicz <andrzej.p@collabora.com>
Mon, 5 Oct 2020 04:15:46 +0000 (21:15 -0700)
committerDmitry Torokhov <dmitry.torokhov@gmail.com>
Thu, 3 Dec 2020 06:10:31 +0000 (22:10 -0800)
A helper function for drivers to decide if the device is used or not.
A lockdep check is introduced as inspecting ->users should be done under
input device's mutex.

Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com>
Link: https://lore.kernel.org/r/20200608112211.12125-2-andrzej.p@collabora.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
drivers/input/input.c
include/linux/input.h

index 3cfd2c1..41377bf 100644 (file)
@@ -2127,6 +2127,14 @@ void input_enable_softrepeat(struct input_dev *dev, int delay, int period)
 }
 EXPORT_SYMBOL(input_enable_softrepeat);
 
+bool input_device_enabled(struct input_dev *dev)
+{
+       lockdep_assert_held(&dev->mutex);
+
+       return dev->users > 0;
+}
+EXPORT_SYMBOL_GPL(input_device_enabled);
+
 /**
  * input_register_device - register device with input core
  * @dev: device to be registered
index 56f2fd3..eda4587 100644 (file)
@@ -502,6 +502,8 @@ bool input_match_device_id(const struct input_dev *dev,
 
 void input_enable_softrepeat(struct input_dev *dev, int delay, int period);
 
+bool input_device_enabled(struct input_dev *dev);
+
 extern struct class input_class;
 
 /**