diff options
Diffstat (limited to 'drivers/input/joystick/analog.c')
| -rw-r--r-- | drivers/input/joystick/analog.c | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/input/joystick/analog.c b/drivers/input/joystick/analog.c index 51f1e4bfff3..1c1afb5d468 100644 --- a/drivers/input/joystick/analog.c +++ b/drivers/input/joystick/analog.c @@ -343,7 +343,7 @@ static void analog_poll(struct gameport *gameport)  static int analog_open(struct input_dev *dev)  { -	struct analog_port *port = dev->private; +	struct analog_port *port = input_get_drvdata(dev);  	gameport_start_polling(port->gameport);  	return 0; @@ -355,7 +355,7 @@ static int analog_open(struct input_dev *dev)  static void analog_close(struct input_dev *dev)  { -	struct analog_port *port = dev->private; +	struct analog_port *port = input_get_drvdata(dev);  	gameport_stop_polling(port->gameport);  } @@ -449,10 +449,13 @@ static int analog_init_device(struct analog_port *port, struct analog *analog, i  	input_dev->id.vendor = GAMEPORT_ID_VENDOR_ANALOG;  	input_dev->id.product = analog->mask >> 4;  	input_dev->id.version = 0x0100; +	input_dev->dev.parent = &port->gameport->dev; + +	input_set_drvdata(input_dev, port);  	input_dev->open = analog_open;  	input_dev->close = analog_close; -	input_dev->private = port; +  	input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS);  	for (i = j = 0; i < 4; i++)  |