|
@@ -567,6 +567,12 @@ static int ac100_rtc_probe(struct platform_device *pdev)
|
|
return chip->irq;
|
|
return chip->irq;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ chip->rtc = devm_rtc_allocate_device(&pdev->dev);
|
|
|
|
+ if (IS_ERR(chip->rtc))
|
|
|
|
+ return PTR_ERR(chip->rtc);
|
|
|
|
+
|
|
|
|
+ chip->rtc->ops = &ac100_rtc_ops;
|
|
|
|
+
|
|
ret = devm_request_threaded_irq(&pdev->dev, chip->irq, NULL,
|
|
ret = devm_request_threaded_irq(&pdev->dev, chip->irq, NULL,
|
|
ac100_rtc_irq,
|
|
ac100_rtc_irq,
|
|
IRQF_SHARED | IRQF_ONESHOT,
|
|
IRQF_SHARED | IRQF_ONESHOT,
|
|
@@ -586,17 +592,16 @@ static int ac100_rtc_probe(struct platform_device *pdev)
|
|
/* clear counter alarm pending interrupts */
|
|
/* clear counter alarm pending interrupts */
|
|
regmap_write(chip->regmap, AC100_ALM_INT_STA, AC100_ALM_INT_ENABLE);
|
|
regmap_write(chip->regmap, AC100_ALM_INT_STA, AC100_ALM_INT_ENABLE);
|
|
|
|
|
|
- chip->rtc = devm_rtc_device_register(&pdev->dev, "rtc-ac100",
|
|
|
|
- &ac100_rtc_ops, THIS_MODULE);
|
|
|
|
- if (IS_ERR(chip->rtc)) {
|
|
|
|
- dev_err(&pdev->dev, "unable to register device\n");
|
|
|
|
- return PTR_ERR(chip->rtc);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
ret = ac100_rtc_register_clks(chip);
|
|
ret = ac100_rtc_register_clks(chip);
|
|
if (ret)
|
|
if (ret)
|
|
return ret;
|
|
return ret;
|
|
|
|
|
|
|
|
+ ret = rtc_register_device(chip->rtc);
|
|
|
|
+ if (ret) {
|
|
|
|
+ dev_err(&pdev->dev, "unable to register device\n");
|
|
|
|
+ return ret;
|
|
|
|
+ }
|
|
|
|
+
|
|
dev_info(&pdev->dev, "RTC enabled\n");
|
|
dev_info(&pdev->dev, "RTC enabled\n");
|
|
|
|
|
|
return 0;
|
|
return 0;
|