aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rtc/rtc-da9052.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/rtc/rtc-da9052.c')
-rw-r--r--drivers/rtc/rtc-da9052.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/drivers/rtc/rtc-da9052.c b/drivers/rtc/rtc-da9052.c
index 0dde688ca09b..7286b279cf2d 100644
--- a/drivers/rtc/rtc-da9052.c
+++ b/drivers/rtc/rtc-da9052.c
@@ -239,17 +239,15 @@ static int da9052_rtc_probe(struct platform_device *pdev)
239 239
240 rtc->da9052 = dev_get_drvdata(pdev->dev.parent); 240 rtc->da9052 = dev_get_drvdata(pdev->dev.parent);
241 platform_set_drvdata(pdev, rtc); 241 platform_set_drvdata(pdev, rtc);
242 rtc->irq = platform_get_irq_byname(pdev, "ALM"); 242 rtc->irq = DA9052_IRQ_ALARM;
243 ret = devm_request_threaded_irq(&pdev->dev, rtc->irq, NULL, 243 ret = da9052_request_irq(rtc->da9052, rtc->irq, "ALM",
244 da9052_rtc_irq, 244 da9052_rtc_irq, rtc);
245 IRQF_TRIGGER_LOW | IRQF_ONESHOT,
246 "ALM", rtc);
247 if (ret != 0) { 245 if (ret != 0) {
248 rtc_err(rtc->da9052, "irq registration failed: %d\n", ret); 246 rtc_err(rtc->da9052, "irq registration failed: %d\n", ret);
249 return ret; 247 return ret;
250 } 248 }
251 249
252 rtc->rtc = rtc_device_register(pdev->name, &pdev->dev, 250 rtc->rtc = devm_rtc_device_register(&pdev->dev, pdev->name,
253 &da9052_rtc_ops, THIS_MODULE); 251 &da9052_rtc_ops, THIS_MODULE);
254 if (IS_ERR(rtc->rtc)) 252 if (IS_ERR(rtc->rtc))
255 return PTR_ERR(rtc->rtc); 253 return PTR_ERR(rtc->rtc);
@@ -259,9 +257,6 @@ static int da9052_rtc_probe(struct platform_device *pdev)
259 257
260static int da9052_rtc_remove(struct platform_device *pdev) 258static int da9052_rtc_remove(struct platform_device *pdev)
261{ 259{
262 struct da9052_rtc *rtc = pdev->dev.platform_data;
263
264 rtc_device_unregister(rtc->rtc);
265 platform_set_drvdata(pdev, NULL); 260 platform_set_drvdata(pdev, NULL);
266 261
267 return 0; 262 return 0;