aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rtc/rtc-generic.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/rtc/rtc-generic.c')
-rw-r--r--drivers/rtc/rtc-generic.c21
1 files changed, 3 insertions, 18 deletions
diff --git a/drivers/rtc/rtc-generic.c b/drivers/rtc/rtc-generic.c
index 98322004ad2e..06279ce6bff2 100644
--- a/drivers/rtc/rtc-generic.c
+++ b/drivers/rtc/rtc-generic.c
@@ -38,8 +38,8 @@ static int __init generic_rtc_probe(struct platform_device *dev)
38{ 38{
39 struct rtc_device *rtc; 39 struct rtc_device *rtc;
40 40
41 rtc = rtc_device_register("rtc-generic", &dev->dev, &generic_rtc_ops, 41 rtc = devm_rtc_device_register(&dev->dev, "rtc-generic",
42 THIS_MODULE); 42 &generic_rtc_ops, THIS_MODULE);
43 if (IS_ERR(rtc)) 43 if (IS_ERR(rtc))
44 return PTR_ERR(rtc); 44 return PTR_ERR(rtc);
45 45
@@ -50,10 +50,6 @@ static int __init generic_rtc_probe(struct platform_device *dev)
50 50
51static int __exit generic_rtc_remove(struct platform_device *dev) 51static int __exit generic_rtc_remove(struct platform_device *dev)
52{ 52{
53 struct rtc_device *rtc = platform_get_drvdata(dev);
54
55 rtc_device_unregister(rtc);
56
57 return 0; 53 return 0;
58} 54}
59 55
@@ -65,18 +61,7 @@ static struct platform_driver generic_rtc_driver = {
65 .remove = __exit_p(generic_rtc_remove), 61 .remove = __exit_p(generic_rtc_remove),
66}; 62};
67 63
68static int __init generic_rtc_init(void) 64module_platform_driver_probe(generic_rtc_driver, generic_rtc_probe);
69{
70 return platform_driver_probe(&generic_rtc_driver, generic_rtc_probe);
71}
72
73static void __exit generic_rtc_fini(void)
74{
75 platform_driver_unregister(&generic_rtc_driver);
76}
77
78module_init(generic_rtc_init);
79module_exit(generic_rtc_fini);
80 65
81MODULE_AUTHOR("Kyle McMartin <kyle@mcmartin.ca>"); 66MODULE_AUTHOR("Kyle McMartin <kyle@mcmartin.ca>");
82MODULE_LICENSE("GPL"); 67MODULE_LICENSE("GPL");