#include <linux/of_platform.h>
#include <asm/mpc52xx.h>
#include <linux/interrupt.h>
+#include <linux/slab.h>
struct motorek {
struct mpc52xx_gpt *pwmf, *pwmb, *irca, *ircb;
return gpt;
}
-static int __devinit motorek_probe(struct of_device* dev,
- const struct of_device_id *match)
+static int __devinit motorek_probe(struct platform_device* dev)
{
- struct device_node *dn = dev->node;
+ struct device_node *dn = dev->dev.of_node;
struct motorek *m;
int err;
return err;
}
-static int __devexit motorek_remove(struct of_device* dev)
+static int __devexit motorek_remove(struct platform_device* dev)
{
struct motorek *m;
{ .type = "motorek", },
{},
};
-static struct of_platform_driver motorek_driver = {
- .owner = THIS_MODULE,
- .name = "motorek",
- .match_table = motorek_match,
+static struct platform_driver motorek_driver = {
.probe = motorek_probe,
.remove = __devexit_p(motorek_remove),
+ .driver = {
+ .name = "motorek",
+ .owner = THIS_MODULE,
+ .of_match_table = motorek_match,
+ },
};
static int __init motorek_init_module(void)
{
int ret;
- struct of_device *dev;
+ struct platform_device *dev;
struct device_node *dn;
for_each_node_by_type(dn, "motorek") {
}
};
- ret = of_register_platform_driver(&motorek_driver);
+ ret = platform_driver_register(&motorek_driver);
return ret;
}
static void __exit motorek_exit_module(void)
{
- struct of_device *dev;
+ struct platform_device *dev;
struct device_node *dn;
for_each_node_by_type(dn, "motorek") {
of_device_unregister(dev);
}
}
- of_unregister_platform_driver(&motorek_driver);
+ platform_driver_unregister(&motorek_driver);
}
module_init(motorek_init_module);