aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/input-poller.h
diff options
context:
space:
mode:
authorDmitry Torokhov <dmitry.torokhov@gmail.com>2017-04-18 17:28:30 -0700
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2019-08-20 12:04:07 -0700
commite95656ea15e54d4e6a192d560d84008b53fc1eb5 (patch)
tree0470cd10f6a489669c8a8ac5a99526ead4257e4f /drivers/input/input-poller.h
parentInput: wacom_w8001 - allocate additional space for 'phys' (diff)
downloadlinux-dev-e95656ea15e54d4e6a192d560d84008b53fc1eb5.tar.xz
linux-dev-e95656ea15e54d4e6a192d560d84008b53fc1eb5.zip
Input: add support for polling to input devices
Separating "normal" and "polled" input devices was a mistake, as often we want to allow the very same device work on both interrupt-driven and polled mode, depending on the board on which the device is used. This introduces new APIs: - input_setup_polling - input_set_poll_interval - input_set_min_poll_interval - input_set_max_poll_interval These new APIs allow switching an input device into polled mode with sysfs attributes matching drivers using input_polled_dev APIs that will be eventually removed. Tested-by: Michal Vokáč <michal.vokac@ysoft.com> Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/input/input-poller.h')
-rw-r--r--drivers/input/input-poller.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/input/input-poller.h b/drivers/input/input-poller.h
new file mode 100644
index 000000000000..e3fca0be1d32
--- /dev/null
+++ b/drivers/input/input-poller.h
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+#ifndef _INPUT_POLLER_H
+#define _INPUT_POLLER_H
+
+/*
+ * Support for polling mode for input devices.
+ */
+#include <linux/sysfs.h>
+
+struct input_dev_poller;
+
+void input_dev_poller_finalize(struct input_dev_poller *poller);
+void input_dev_poller_start(struct input_dev_poller *poller);
+void input_dev_poller_stop(struct input_dev_poller *poller);
+
+extern struct attribute_group input_poller_attribute_group;
+
+#endif /* _INPUT_POLLER_H */