clk_disable(kmi->clk);
 }
 
-static int amba_kmi_probe(struct amba_device *dev, struct amba_id *id)
+static int __devinit amba_kmi_probe(struct amba_device *dev, struct amba_id *id)
 {
        struct amba_kmi_port *kmi;
        struct serio *io;
        io->port_data   = kmi;
        io->dev.parent  = &dev->dev;
 
-       kmi->io         = io;
+       kmi->io         = io;
        kmi->base       = ioremap(dev->res.start, resource_size(&dev->res));
        if (!kmi->base) {
                ret = -ENOMEM;
        return ret;
 }
 
-static int amba_kmi_remove(struct amba_device *dev)
+static int __devexit amba_kmi_remove(struct amba_device *dev)
 {
        struct amba_kmi_port *kmi = amba_get_drvdata(dev);
 
        },
        .id_table       = amba_kmi_idtable,
        .probe          = amba_kmi_probe,
-       .remove         = amba_kmi_remove,
+       .remove         = __devexit_p(amba_kmi_remove),
        .resume         = amba_kmi_resume,
 };