input_dev->name = "ADS784x Touchscreen";
        input_dev->phys = ts->phys;
-       input_dev->cdev.dev = &spi->dev;
+       input_dev->dev.parent = &spi->dev;
 
        input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS);
        input_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH);
 
        input_dev->id.vendor = 0x0001;
        input_dev->id.product = 0x0002;
        input_dev->id.version = 0x0100;
-       input_dev->cdev.dev = &pdev->dev;
+       input_dev->dev.parent = &pdev->dev;
 
        input_dev->evbit[0] = BIT(EV_KEY) | BIT(EV_ABS);
        input_dev->keybit[LONG(BTN_TOUCH)] = BIT(BTN_TOUCH);
 
        input_dev->id.vendor = SERIO_ELO;
        input_dev->id.product = elo->id;
        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->id.vendor = SERIO_GUNZE;
        input_dev->id.product = 0x0051;
        input_dev->id.version = 0x0100;
+       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_set_abs_params(input_dev, ABS_X, 24, 1000, 0, 0);
 
        input_dev->id.vendor = SERIO_H3600;
        input_dev->id.product = 0x0666;  /* FIXME !!! We can ask the hardware */
        input_dev->id.version = 0x0100;
-       input_dev->cdev.dev = &serio->dev;
+       input_dev->dev.parent = &serio->dev;
 
        input_set_drvdata(input_dev, ts);
 
 
        input_dev->id.vendor = SERIO_MICROTOUCH;
        input_dev->id.product = 0;
        input_dev->id.version = 0x0100;
+       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_set_abs_params(mtouch->dev, ABS_X, MTOUCH_MIN_XC, MTOUCH_MAX_XC, 0, 0);
 
        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->id.vendor = SERIO_TOUCHRIGHT;
        input_dev->id.product = 0;
        input_dev->id.version = 0x0100;
+       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_set_abs_params(tr->dev, ABS_X, TR_MIN_XC, TR_MAX_XC, 0, 0);
 
        input_dev->id.vendor = SERIO_TOUCHWIN;
        input_dev->id.product = 0;
        input_dev->id.version = 0x0100;
+       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_set_abs_params(tw->dev, ABS_X, TW_MIN_XC, TW_MAX_XC, 0, 0);
 
 
        input_set_drvdata(idev, ucb);
 
-       idev->cdev.dev          = dev;
+       idev->dev.parent        = dev;
        idev->name              = "UCB1400 touchscreen interface";
        idev->id.vendor         = ucb1400_reg_read(ucb, AC97_VENDOR_ID1);
        idev->id.product        = id;