vserver 1.9.3
[linux-2.6.git] / drivers / input / touchscreen / gunze.c
index 9aec2e1..e5e38dd 100644 (file)
 #include <linux/serio.h>
 #include <linux/init.h>
 
+#define DRIVER_DESC    "Gunze AHL-51S touchscreen driver"
+
 MODULE_AUTHOR("Vojtech Pavlik <vojtech@ucw.cz>");
-MODULE_DESCRIPTION("Gunze AHL-51S touchscreen driver");
+MODULE_DESCRIPTION(DRIVER_DESC);
 MODULE_LICENSE("GPL");
 
 /*
@@ -111,7 +113,7 @@ static void gunze_disconnect(struct serio *serio)
  * and if yes, registers it as an input device.
  */
 
-static void gunze_connect(struct serio *serio, struct serio_dev *dev)
+static void gunze_connect(struct serio *serio, struct serio_driver *drv)
 {
        struct gunze *gunze;
 
@@ -124,12 +126,10 @@ static void gunze_connect(struct serio *serio, struct serio_dev *dev)
        memset(gunze, 0, sizeof(struct gunze));
 
        init_input_dev(&gunze->dev);
-       gunze->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_ABS);        
-       gunze->dev.absbit[0] = BIT(ABS_X) | BIT(ABS_Y);
+       gunze->dev.evbit[0] = BIT(EV_KEY) | BIT(EV_ABS);
        gunze->dev.keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH);
-
-       gunze->dev.absmin[ABS_X] = 96;   gunze->dev.absmin[ABS_Y] = 72;
-       gunze->dev.absmax[ABS_X] = 4000; gunze->dev.absmax[ABS_Y] = 3000;
+       input_set_abs_params(&gunze->dev, ABS_X, 96, 4000, 0, 0);
+       input_set_abs_params(&gunze->dev, ABS_Y, 72, 3000, 0, 0);
 
        gunze->serio = serio;
        serio->private = gunze;
@@ -144,7 +144,7 @@ static void gunze_connect(struct serio *serio, struct serio_dev *dev)
        gunze->dev.id.product = 0x0051;
        gunze->dev.id.version = 0x0100;
 
-       if (serio_open(serio, dev)) {
+       if (serio_open(serio, drv)) {
                kfree(gunze);
                return;
        }
@@ -158,10 +158,14 @@ static void gunze_connect(struct serio *serio, struct serio_dev *dev)
  * The serio device structure.
  */
 
-static struct serio_dev gunze_dev = {
-       .interrupt =    gunze_interrupt,
-       .connect =      gunze_connect,
-       .disconnect =   gunze_disconnect,
+static struct serio_driver gunze_drv = {
+       .driver         = {
+               .name   = "gunze",
+       },
+       .description    = DRIVER_DESC,
+       .interrupt      = gunze_interrupt,
+       .connect        = gunze_connect,
+       .disconnect     = gunze_disconnect,
 };
 
 /*
@@ -170,13 +174,13 @@ static struct serio_dev gunze_dev = {
 
 int __init gunze_init(void)
 {
-       serio_register_device(&gunze_dev);
+       serio_register_driver(&gunze_drv);
        return 0;
 }
 
 void __exit gunze_exit(void)
 {
-       serio_unregister_device(&gunze_dev);
+       serio_unregister_driver(&gunze_drv);
 }
 
 module_init(gunze_init);