diff options
author | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2021-01-10 23:46:06 +0100 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@bootlin.com> | 2021-01-13 00:35:37 +0100 |
commit | 1bf3e6cce8305638a859f6192635ad73af525d85 (patch) | |
tree | 3f967db159c6378104f5b8eadbea733c6e0050cb /drivers/rtc/rtc-opal.c | |
parent | 446667df283002fdda0530523347ffd1cf053373 (diff) | |
download | lwn-1bf3e6cce8305638a859f6192635ad73af525d85.tar.gz lwn-1bf3e6cce8305638a859f6192635ad73af525d85.zip |
rtc: opal: set range
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
Diffstat (limited to 'drivers/rtc/rtc-opal.c')
-rw-r--r-- | drivers/rtc/rtc-opal.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/rtc/rtc-opal.c b/drivers/rtc/rtc-opal.c index 7b9f8bcf86fe..c586f695bdc9 100644 --- a/drivers/rtc/rtc-opal.c +++ b/drivers/rtc/rtc-opal.c @@ -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[] = { |