Input: drivers/input/joystick - don't access dev->private directly
[powerpc.git] / drivers / input / joystick / gf2k.c
index e151f8c..ac7db7a 100644 (file)
@@ -35,6 +35,7 @@
 #include <linux/init.h>
 #include <linux/input.h>
 #include <linux/gameport.h>
+#include <linux/jiffies.h>
 
 #define DRIVER_DESC    "Genius Flight 2000 joystick driver"
 
@@ -219,7 +220,7 @@ static void gf2k_poll(struct gameport *gameport)
 
 static int gf2k_open(struct input_dev *dev)
 {
-       struct gf2k *gf2k = dev->private;
+       struct gf2k *gf2k = input_get_drvdata(dev);
 
        gameport_start_polling(gf2k->gameport);
        return 0;
@@ -227,7 +228,7 @@ static int gf2k_open(struct input_dev *dev)
 
 static void gf2k_close(struct input_dev *dev)
 {
-       struct gf2k *gf2k = dev->private;
+       struct gf2k *gf2k = input_get_drvdata(dev);
 
        gameport_stop_polling(gf2k->gameport);
 }
@@ -297,7 +298,7 @@ static int gf2k_connect(struct gameport *gameport, struct gameport_driver *drv)
        gameport_set_poll_handler(gameport, gf2k_poll);
        gameport_set_poll_interval(gameport, 20);
 
-       sprintf(gf2k->phys, "%s/input0", gameport->phys);
+       snprintf(gf2k->phys, sizeof(gf2k->phys), "%s/input0", gameport->phys);
 
        gf2k->length = gf2k_lens[gf2k->id];
 
@@ -308,10 +309,12 @@ static int gf2k_connect(struct gameport *gameport, struct gameport_driver *drv)
        input_dev->id.product = gf2k->id;
        input_dev->id.version = 0x0100;
        input_dev->cdev.dev = &gameport->dev;
-       input_dev->private = gf2k;
+
+       input_set_drvdata(input_dev, gf2k);
 
        input_dev->open = gf2k_open;
        input_dev->close = gf2k_close;
+
        input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS);
 
        for (i = 0; i < gf2k_axes[gf2k->id]; i++)
@@ -340,7 +343,9 @@ static int gf2k_connect(struct gameport *gameport, struct gameport_driver *drv)
                input_dev->absflat[gf2k_abs[i]] = (i < 2) ? 24 : 0;
        }
 
-       input_register_device(gf2k->dev);
+       err = input_register_device(gf2k->dev);
+       if (err)
+               goto fail2;
 
        return 0;