diff options
Diffstat (limited to 'drivers/rtc/rtc-parisc.c')
-rw-r--r-- | drivers/rtc/rtc-parisc.c | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/rtc/rtc-parisc.c b/drivers/rtc/rtc-parisc.c index 0477cc129c6d..a2ca07ad42cb 100644 --- a/drivers/rtc/rtc-parisc.c +++ b/drivers/rtc/rtc-parisc.c | |||
@@ -40,19 +40,14 @@ static const struct rtc_class_ops parisc_rtc_ops = { | |||
40 | .set_time = parisc_set_time, | 40 | .set_time = parisc_set_time, |
41 | }; | 41 | }; |
42 | 42 | ||
43 | static int __devinit parisc_rtc_probe(struct platform_device *dev) | 43 | static int __init parisc_rtc_probe(struct platform_device *dev) |
44 | { | 44 | { |
45 | struct rtc_device *p; | 45 | struct rtc_device *p; |
46 | 46 | ||
47 | p = kzalloc(sizeof (*p), GFP_KERNEL); | ||
48 | if (!p) | ||
49 | return -ENOMEM; | ||
50 | |||
51 | p = rtc_device_register("rtc-parisc", &dev->dev, &parisc_rtc_ops, | 47 | p = rtc_device_register("rtc-parisc", &dev->dev, &parisc_rtc_ops, |
52 | THIS_MODULE); | 48 | THIS_MODULE); |
53 | if (IS_ERR(p)) { | 49 | if (IS_ERR(p)) { |
54 | int err = PTR_ERR(p); | 50 | int err = PTR_ERR(p); |
55 | kfree(p); | ||
56 | return err; | 51 | return err; |
57 | } | 52 | } |
58 | 53 | ||
@@ -61,12 +56,11 @@ static int __devinit parisc_rtc_probe(struct platform_device *dev) | |||
61 | return 0; | 56 | return 0; |
62 | } | 57 | } |
63 | 58 | ||
64 | static int __devexit parisc_rtc_remove(struct platform_device *dev) | 59 | static int __exit parisc_rtc_remove(struct platform_device *dev) |
65 | { | 60 | { |
66 | struct rtc_device *p = platform_get_drvdata(dev); | 61 | struct rtc_device *p = platform_get_drvdata(dev); |
67 | 62 | ||
68 | rtc_device_unregister(p); | 63 | rtc_device_unregister(p); |
69 | kfree(p); | ||
70 | 64 | ||
71 | return 0; | 65 | return 0; |
72 | } | 66 | } |
@@ -82,7 +76,7 @@ static struct platform_driver parisc_rtc_driver = { | |||
82 | 76 | ||
83 | static int __init parisc_rtc_init(void) | 77 | static int __init parisc_rtc_init(void) |
84 | { | 78 | { |
85 | return platform_driver_register(&parisc_rtc_driver); | 79 | return platform_driver_probe(&parisc_rtc_driver, parisc_rtc_probe); |
86 | } | 80 | } |
87 | 81 | ||
88 | static void __exit parisc_rtc_fini(void) | 82 | static void __exit parisc_rtc_fini(void) |