static int input_open_polled_device(struct input_dev *input)
{
- struct input_polled_dev *dev = input->private;
+ struct input_polled_dev *dev = input_get_drvdata(input);
int error;
error = input_polldev_start_workqueue();
static void input_close_polled_device(struct input_dev *input)
{
- struct input_polled_dev *dev = input->private;
+ struct input_polled_dev *dev = input_get_drvdata(input);
cancel_delayed_work_sync(&dev->work);
input_polldev_stop_workqueue();
{
struct input_dev *input = dev->input;
+ input_set_drvdata(input, dev);
INIT_DELAYED_WORK(&dev->work, input_polled_device_work);
if (!dev->poll_interval)
dev->poll_interval = 500;
- input->private = dev;
input->open = input_open_polled_device;
input->close = input_close_polled_device;
* @node: used to place the device onto input_dev_list
*/
struct input_dev {
- /* private: */
- void *private; /* do not use */
- /* public: */
-
const char *name;
const char *phys;
const char *uniq;
static inline void *input_get_drvdata(struct input_dev *dev)
{
- return dev->private;
+ return dev_get_drvdata(&dev->dev);
}
static inline void input_set_drvdata(struct input_dev *dev, void *data)
{
- dev->private = data;
+ dev_set_drvdata(&dev->dev, data);
}
int __must_check input_register_device(struct input_dev *);