diff options
Diffstat (limited to 'drivers/rtc/rtc-rc5t583.c')
-rw-r--r-- | drivers/rtc/rtc-rc5t583.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/drivers/rtc/rtc-rc5t583.c b/drivers/rtc/rtc-rc5t583.c index eb3194d664a8..8eabcf51b35a 100644 --- a/drivers/rtc/rtc-rc5t583.c +++ b/drivers/rtc/rtc-rc5t583.c | |||
@@ -256,7 +256,7 @@ static int rc5t583_rtc_probe(struct platform_device *pdev) | |||
256 | } | 256 | } |
257 | device_init_wakeup(&pdev->dev, 1); | 257 | device_init_wakeup(&pdev->dev, 1); |
258 | 258 | ||
259 | ricoh_rtc->rtc = rtc_device_register(pdev->name, &pdev->dev, | 259 | ricoh_rtc->rtc = devm_rtc_device_register(&pdev->dev, pdev->name, |
260 | &rc5t583_rtc_ops, THIS_MODULE); | 260 | &rc5t583_rtc_ops, THIS_MODULE); |
261 | if (IS_ERR(ricoh_rtc->rtc)) { | 261 | if (IS_ERR(ricoh_rtc->rtc)) { |
262 | ret = PTR_ERR(ricoh_rtc->rtc); | 262 | ret = PTR_ERR(ricoh_rtc->rtc); |
@@ -276,13 +276,10 @@ static int rc5t583_rtc_remove(struct platform_device *pdev) | |||
276 | struct rc5t583_rtc *rc5t583_rtc = dev_get_drvdata(&pdev->dev); | 276 | struct rc5t583_rtc *rc5t583_rtc = dev_get_drvdata(&pdev->dev); |
277 | 277 | ||
278 | rc5t583_rtc_alarm_irq_enable(&rc5t583_rtc->rtc->dev, 0); | 278 | rc5t583_rtc_alarm_irq_enable(&rc5t583_rtc->rtc->dev, 0); |
279 | |||
280 | rtc_device_unregister(rc5t583_rtc->rtc); | ||
281 | return 0; | 279 | return 0; |
282 | } | 280 | } |
283 | 281 | ||
284 | #ifdef CONFIG_PM_SLEEP | 282 | #ifdef CONFIG_PM_SLEEP |
285 | |||
286 | static int rc5t583_rtc_suspend(struct device *dev) | 283 | static int rc5t583_rtc_suspend(struct device *dev) |
287 | { | 284 | { |
288 | struct rc5t583 *rc5t583 = dev_get_drvdata(dev->parent); | 285 | struct rc5t583 *rc5t583 = dev_get_drvdata(dev->parent); |
@@ -304,24 +301,18 @@ static int rc5t583_rtc_resume(struct device *dev) | |||
304 | return regmap_write(rc5t583->regmap, RC5T583_RTC_CTL1, | 301 | return regmap_write(rc5t583->regmap, RC5T583_RTC_CTL1, |
305 | rc5t583_rtc->irqen); | 302 | rc5t583_rtc->irqen); |
306 | } | 303 | } |
307 | |||
308 | static const struct dev_pm_ops rc5t583_rtc_pm_ops = { | ||
309 | .suspend = rc5t583_rtc_suspend, | ||
310 | .resume = rc5t583_rtc_resume, | ||
311 | }; | ||
312 | |||
313 | #define DEV_PM_OPS (&rc5t583_rtc_pm_ops) | ||
314 | #else | ||
315 | #define DEV_PM_OPS NULL | ||
316 | #endif | 304 | #endif |
317 | 305 | ||
306 | static SIMPLE_DEV_PM_OPS(rc5t583_rtc_pm_ops, rc5t583_rtc_suspend, | ||
307 | rc5t583_rtc_resume); | ||
308 | |||
318 | static struct platform_driver rc5t583_rtc_driver = { | 309 | static struct platform_driver rc5t583_rtc_driver = { |
319 | .probe = rc5t583_rtc_probe, | 310 | .probe = rc5t583_rtc_probe, |
320 | .remove = rc5t583_rtc_remove, | 311 | .remove = rc5t583_rtc_remove, |
321 | .driver = { | 312 | .driver = { |
322 | .owner = THIS_MODULE, | 313 | .owner = THIS_MODULE, |
323 | .name = "rtc-rc5t583", | 314 | .name = "rtc-rc5t583", |
324 | .pm = DEV_PM_OPS, | 315 | .pm = &rc5t583_rtc_pm_ops, |
325 | }, | 316 | }, |
326 | }; | 317 | }; |
327 | 318 | ||