diff options
Diffstat (limited to 'drivers/rtc/rtc-tps65910.c')
-rw-r--r-- | drivers/rtc/rtc-tps65910.c | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/rtc/rtc-tps65910.c b/drivers/rtc/rtc-tps65910.c index 8bd8115329b5..a9caf043b0ce 100644 --- a/drivers/rtc/rtc-tps65910.c +++ b/drivers/rtc/rtc-tps65910.c | |||
@@ -263,7 +263,7 @@ static int tps65910_rtc_probe(struct platform_device *pdev) | |||
263 | if (irq <= 0) { | 263 | if (irq <= 0) { |
264 | dev_warn(&pdev->dev, "Wake up is not possible as irq = %d\n", | 264 | dev_warn(&pdev->dev, "Wake up is not possible as irq = %d\n", |
265 | irq); | 265 | irq); |
266 | return ret; | 266 | return -ENXIO; |
267 | } | 267 | } |
268 | 268 | ||
269 | ret = devm_request_threaded_irq(&pdev->dev, irq, NULL, | 269 | ret = devm_request_threaded_irq(&pdev->dev, irq, NULL, |
@@ -276,7 +276,7 @@ static int tps65910_rtc_probe(struct platform_device *pdev) | |||
276 | tps_rtc->irq = irq; | 276 | tps_rtc->irq = irq; |
277 | device_set_wakeup_capable(&pdev->dev, 1); | 277 | device_set_wakeup_capable(&pdev->dev, 1); |
278 | 278 | ||
279 | tps_rtc->rtc = rtc_device_register(pdev->name, &pdev->dev, | 279 | tps_rtc->rtc = devm_rtc_device_register(&pdev->dev, pdev->name, |
280 | &tps65910_rtc_ops, THIS_MODULE); | 280 | &tps65910_rtc_ops, THIS_MODULE); |
281 | if (IS_ERR(tps_rtc->rtc)) { | 281 | if (IS_ERR(tps_rtc->rtc)) { |
282 | ret = PTR_ERR(tps_rtc->rtc); | 282 | ret = PTR_ERR(tps_rtc->rtc); |
@@ -295,12 +295,8 @@ static int tps65910_rtc_probe(struct platform_device *pdev) | |||
295 | */ | 295 | */ |
296 | static int tps65910_rtc_remove(struct platform_device *pdev) | 296 | static int tps65910_rtc_remove(struct platform_device *pdev) |
297 | { | 297 | { |
298 | /* leave rtc running, but disable irqs */ | ||
299 | struct tps65910_rtc *tps_rtc = platform_get_drvdata(pdev); | ||
300 | |||
301 | tps65910_rtc_alarm_irq_enable(&pdev->dev, 0); | 298 | tps65910_rtc_alarm_irq_enable(&pdev->dev, 0); |
302 | 299 | ||
303 | rtc_device_unregister(tps_rtc->rtc); | ||
304 | return 0; | 300 | return 0; |
305 | } | 301 | } |
306 | 302 | ||
@@ -324,9 +320,8 @@ static int tps65910_rtc_resume(struct device *dev) | |||
324 | } | 320 | } |
325 | #endif | 321 | #endif |
326 | 322 | ||
327 | static const struct dev_pm_ops tps65910_rtc_pm_ops = { | 323 | static SIMPLE_DEV_PM_OPS(tps65910_rtc_pm_ops, tps65910_rtc_suspend, |
328 | SET_SYSTEM_SLEEP_PM_OPS(tps65910_rtc_suspend, tps65910_rtc_resume) | 324 | tps65910_rtc_resume); |
329 | }; | ||
330 | 325 | ||
331 | static struct platform_driver tps65910_rtc_driver = { | 326 | static struct platform_driver tps65910_rtc_driver = { |
332 | .probe = tps65910_rtc_probe, | 327 | .probe = tps65910_rtc_probe, |