Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  1 #ifndef _INPUT_POLLDEV_H
  2 #define _INPUT_POLLDEV_H
  3 
  4 /*
  5  * Copyright (c) 2007 Dmitry Torokhov
  6  *
  7  * This program is free software; you can redistribute it and/or modify it
  8  * under the terms of the GNU General Public License version 2 as published by
  9  * the Free Software Foundation.
 10  */
 11 
 12 #include <linux/input.h>
 13 #include <linux/workqueue.h>
 14 
 15 /**
 16  * struct input_polled_dev - simple polled input device
 17  * @private: private driver data
 18  * @flush: driver-supplied method that flushes device's state upon
 19  *      opening (optional)
 20  * @poll: driver-supplied method that polls the device and posts
 21  *      input events (mandatory).
 22  * @poll_interval: specifies how often the poll() method shoudl be called.
 23  * @input: input device structire associated with the polled device.
 24  *      Must be properly initialized by the driver (id, name, phys, bits).
 25  *
 26  * Polled input device provides a skeleton for supporting simple input
 27  * devices that do not raise interrupts but have to be periodically
 28  * scanned or polled to detect changes in their state.
 29  */
 30 struct input_polled_dev {
 31         void *private;
 32 
 33         void (*flush)(struct input_polled_dev *dev);
 34         void (*poll)(struct input_polled_dev *dev);
 35         unsigned int poll_interval; /* msec */
 36 
 37         struct input_dev *input;
 38         struct delayed_work work;
 39 };
 40 
 41 struct input_polled_dev *input_allocate_polled_device(void);
 42 void input_free_polled_device(struct input_polled_dev *dev);
 43 int input_register_polled_device(struct input_polled_dev *dev);
 44 void input_unregister_polled_device(struct input_polled_dev *dev);
 45 
 46 #endif
 47 
  This page was automatically generated by the LXR engine.