rtc: opal: set range
authorAlexandre Belloni <alexandre.belloni@bootlin.com>
Sun, 10 Jan 2021 22:46:06 +0000 (23:46 +0100)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Tue, 12 Jan 2021 23:35:37 +0000 (00:35 +0100)
It is a BCD RTC with 4 digits for the year.

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Link: https://lore.kernel.org/r/20210110224606.1414307-1-alexandre.belloni@bootlin.com
drivers/rtc/rtc-opal.c

index 7b9f8bc..c586f69 100644 (file)
@@ -233,6 +233,10 @@ static int opal_rtc_probe(struct platform_device *pdev)
 {
        struct rtc_device *rtc;
 
+       rtc = devm_rtc_allocate_device(&pdev->dev);
+       if (IS_ERR(rtc))
+               return PTR_ERR(rtc);
+
        if (pdev->dev.of_node &&
            (of_property_read_bool(pdev->dev.of_node, "wakeup-source") ||
             of_property_read_bool(pdev->dev.of_node, "has-tpo")/* legacy */)) {
@@ -242,14 +246,12 @@ static int opal_rtc_probe(struct platform_device *pdev)
                opal_rtc_ops.alarm_irq_enable = opal_tpo_alarm_irq_enable;
        }
 
-       rtc = devm_rtc_device_register(&pdev->dev, DRVNAME, &opal_rtc_ops,
-                                      THIS_MODULE);
-       if (IS_ERR(rtc))
-               return PTR_ERR(rtc);
-
+       rtc->ops = &opal_rtc_ops;
+       rtc->range_min = RTC_TIMESTAMP_BEGIN_0000;
+       rtc->range_max = RTC_TIMESTAMP_END_9999;
        rtc->uie_unsupported = 1;
 
-       return 0;
+       return devm_rtc_register_device(rtc);
 }
 
 static const struct of_device_id opal_rtc_match[] = {