]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/input/joystick/interact.c
Merge master.kernel.org:/pub/scm/linux/kernel/git/davej/agpgart
[linux-2.6-omap-h63xx.git] / drivers / input / joystick / interact.c
index c4ed01758226ae34b07f4210461245c6a1e69c1f..1aec1e9d7c5942f2b58d090778a08516ccee79b4 100644 (file)
@@ -185,7 +185,7 @@ static void interact_poll(struct gameport *gameport)
 
 static int interact_open(struct input_dev *dev)
 {
-       struct interact *interact = dev->private;
+       struct interact *interact = input_get_drvdata(dev);
 
        gameport_start_polling(interact->gameport);
        return 0;
@@ -197,7 +197,7 @@ static int interact_open(struct input_dev *dev)
 
 static void interact_close(struct input_dev *dev)
 {
-       struct interact *interact = dev->private;
+       struct interact *interact = input_get_drvdata(dev);
 
        gameport_stop_polling(interact->gameport);
 }
@@ -251,7 +251,7 @@ static int interact_connect(struct gameport *gameport, struct gameport_driver *d
        gameport_set_poll_handler(gameport, interact_poll);
        gameport_set_poll_interval(gameport, 20);
 
-       sprintf(interact->phys, "%s/input0", gameport->phys);
+       snprintf(interact->phys, sizeof(interact->phys), "%s/input0", gameport->phys);
 
        interact->type = i;
        interact->length = interact_type[i].length;
@@ -262,7 +262,9 @@ static int interact_connect(struct gameport *gameport, struct gameport_driver *d
        input_dev->id.vendor = GAMEPORT_ID_VENDOR_INTERACT;
        input_dev->id.product = interact_type[i].id;
        input_dev->id.version = 0x0100;
-       input_dev->private = interact;
+       input_dev->dev.parent = &gameport->dev;
+
+       input_set_drvdata(input_dev, interact);
 
        input_dev->open = interact_open;
        input_dev->close = interact_close;
@@ -283,7 +285,9 @@ static int interact_connect(struct gameport *gameport, struct gameport_driver *d
        for (i = 0; (t = interact_type[interact->type].btn[i]) >= 0; i++)
                set_bit(t, input_dev->keybit);
 
-       input_register_device(interact->dev);
+       err = input_register_device(interact->dev);
+       if (err)
+               goto fail2;
 
        return 0;