Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[pandora-kernel.git] / drivers / input / touchscreen / penmount.c
index f737010..c7f9ceb 100644 (file)
@@ -46,7 +46,7 @@ struct pm {
 };
 
 static irqreturn_t pm_interrupt(struct serio *serio,
-               unsigned char data, unsigned int flags, struct pt_regs *regs)
+               unsigned char data, unsigned int flags)
 {
        struct pm *pm = serio_get_drvdata(serio);
        struct input_dev *dev = pm->dev;
@@ -55,7 +55,6 @@ static irqreturn_t pm_interrupt(struct serio *serio,
 
        if (pm->data[0] & 0x80) {
                if (PM_MAX_LENGTH == ++pm->idx) {
-                       input_regs(dev, regs);
                        input_report_abs(dev, ABS_X, pm->data[2] * 128 + pm->data[1]);
                        input_report_abs(dev, ABS_Y, pm->data[4] * 128 + pm->data[3]);
                        input_report_key(dev, BTN_TOUCH, !!(pm->data[0] & 0x40));
@@ -106,17 +105,16 @@ static int pm_connect(struct serio *serio, struct serio_driver *drv)
        pm->dev = input_dev;
        snprintf(pm->phys, sizeof(pm->phys), "%s/input0", serio->phys);
 
-       input_dev->private = pm;
        input_dev->name = "Penmount Serial TouchScreen";
        input_dev->phys = pm->phys;
        input_dev->id.bustype = BUS_RS232;
        input_dev->id.vendor = SERIO_PENMOUNT;
        input_dev->id.product = 0;
        input_dev->id.version = 0x0100;
-       input_dev->cdev.dev = &serio->dev;
+       input_dev->dev.parent = &serio->dev;
 
-        input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS);
-        input_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH);
+        input_dev->evbit[0] = BIT_MASK(EV_KEY) | BIT_MASK(EV_ABS);
+        input_dev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);
         input_set_abs_params(pm->dev, ABS_X, 0, 0x3ff, 0, 0);
         input_set_abs_params(pm->dev, ABS_Y, 0, 0x3ff, 0, 0);
 
@@ -172,8 +170,7 @@ static struct serio_driver pm_drv = {
 
 static int __init pm_init(void)
 {
-       serio_register_driver(&pm_drv);
-       return 0;
+       return serio_register_driver(&pm_drv);
 }
 
 static void __exit pm_exit(void)