Pull bugzilla-5452 into release branch
[pandora-kernel.git] / drivers / input / serio / rpckbd.c
index 52c4925..513d37f 100644 (file)
@@ -107,50 +107,50 @@ static void rpckbd_close(struct serio *port)
  * Allocate and initialize serio structure for subsequent registration
  * with serio core.
  */
-static int __devinit rpckbd_probe(struct device *dev)
+static int __devinit rpckbd_probe(struct platform_device *dev)
 {
        struct serio *serio;
 
-       serio = kmalloc(sizeof(struct serio), GFP_KERNEL);
+       serio = kzalloc(sizeof(struct serio), GFP_KERNEL);
        if (!serio)
                return -ENOMEM;
 
-       memset(serio, 0, sizeof(struct serio));
        serio->id.type          = SERIO_8042;
        serio->write            = rpckbd_write;
        serio->open             = rpckbd_open;
        serio->close            = rpckbd_close;
-       serio->dev.parent       = dev;
+       serio->dev.parent       = &dev->dev;
        strlcpy(serio->name, "RiscPC PS/2 kbd port", sizeof(serio->name));
        strlcpy(serio->phys, "rpckbd/serio0", sizeof(serio->phys));
 
-       dev_set_drvdata(dev, serio);
+       platform_set_drvdata(dev, serio);
        serio_register_port(serio);
        return 0;
 }
 
-static int __devexit rpckbd_remove(struct device *dev)
+static int __devexit rpckbd_remove(struct platform_device *dev)
 {
-       struct serio *serio = dev_get_drvdata(dev);
+       struct serio *serio = platform_get_drvdata(dev);
        serio_unregister_port(serio);
        return 0;
 }
 
-static struct device_driver rpckbd_driver = {
-       .name           = "kart",
-       .bus            = &platform_bus_type,
+static struct platform_driver rpckbd_driver = {
        .probe          = rpckbd_probe,
        .remove         = __devexit_p(rpckbd_remove),
+       .driver         = {
+               .name   = "kart",
+       },
 };
 
 static int __init rpckbd_init(void)
 {
-       return driver_register(&rpckbd_driver);
+       return platform_driver_register(&rpckbd_driver);
 }
 
 static void __exit rpckbd_exit(void)
 {
-       driver_unregister(&rpckbd_driver);
+       platform_driver_unregister(&rpckbd_driver);
 }
 
 module_init(rpckbd_init);