summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorSamu Onkalo <samu.p.onkalo@nokia.com>2009-11-13 21:13:22 -0800
committerDmitry Torokhov <dmitry.torokhov@gmail.com>2009-11-20 00:52:09 -0800
commitdad725d089b94bce8bbc769b7471dcfba3fbda0e (patch)
tree5010ad0f241530511bd5e80b7f5437556527641a /include/linux
parentbc8f1eaf68a8aa1d993492f1ad2d74502665f578 (diff)
downloadlinux-stable-dad725d089b94bce8bbc769b7471dcfba3fbda0e.tar.gz
linux-stable-dad725d089b94bce8bbc769b7471dcfba3fbda0e.tar.bz2
linux-stable-dad725d089b94bce8bbc769b7471dcfba3fbda0e.zip
Input: input-polldev - add sysfs interface for controlling poll interval
Sysfs entry for reading and setting of the polling interval. If the interval is set to 0, polling is stopped. Polling is restarted when interval is changed to non-zero. sysfs entries: poll = current polling interval in msec (RW) max = max allowed polling interval (RO) min = min allowed polling interval (RO) Minimum and maximum limit for interval can be set while setting up the device. Interval can be adjusted even if the input device is not currently open. [dtor@mail.ru: add kernel doc markup for the new fields] Signed-off-by: Samu Onkalo <samu.p.onkalo@nokia.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/input-polldev.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/include/linux/input-polldev.h b/include/linux/input-polldev.h
index 5c0ec68a965e..5e3dddf8f562 100644
--- a/include/linux/input-polldev.h
+++ b/include/linux/input-polldev.h
@@ -21,7 +21,12 @@
* longer being polled. Used to put device into low power mode.
* @poll: driver-supplied method that polls the device and posts
* input events (mandatory).
- * @poll_interval: specifies how often the poll() method shoudl be called.
+ * @poll_interval: specifies how often the poll() method should be called.
+ * Defaults to 500 msec unless overriden when registering the device.
+ * @poll_interval_max: specifies upper bound for the poll interval.
+ * Defaults to the initial value of @poll_interval.
+ * @poll_interval_min: specifies lower bound for the poll interval.
+ * Defaults to 0.
* @input: input device structire associated with the polled device.
* Must be properly initialized by the driver (id, name, phys, bits).
*
@@ -36,8 +41,12 @@ struct input_polled_dev {
void (*close)(struct input_polled_dev *dev);
void (*poll)(struct input_polled_dev *dev);
unsigned int poll_interval; /* msec */
+ unsigned int poll_interval_max; /* msec */
+ unsigned int poll_interval_min; /* msec */
struct input_dev *input;
+
+/* private: */
struct delayed_work work;
};