diff mbox series

[1/3] rtc: ab3100: set range

Message ID 20190409195945.20725-1-alexandre.belloni@bootlin.com (mailing list archive)
State Mainlined, archived
Commit 386b5941a0dd18dda24b459a421ddc51d5fb0371
Headers show
Series [1/3] rtc: ab3100: set range | expand

Commit Message

Alexandre Belloni April 9, 2019, 7:59 p.m. UTC
The ab3100 has a 48bit counter running at 65536 Hz (despite one of the
comment). The max value is then (2^48 - 1)/2^16 == 2^32 - 1.

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
---
 drivers/rtc/rtc-ab3100.c | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

Comments

Linus Walleij April 11, 2019, 1:38 p.m. UTC | #1
On Tue, Apr 9, 2019 at 9:59 PM Alexandre Belloni
<alexandre.belloni@bootlin.com> wrote:

> The ab3100 has a 48bit counter running at 65536 Hz (despite one of the
> comment). The max value is then (2^48 - 1)/2^16 == 2^32 - 1.
>
> Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>

Ah, sweet.
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>

Yours,
Linus Walleij
diff mbox series

Patch

diff --git a/drivers/rtc/rtc-ab3100.c b/drivers/rtc/rtc-ab3100.c
index 821ff52a2222..f73a3707b897 100644
--- a/drivers/rtc/rtc-ab3100.c
+++ b/drivers/rtc/rtc-ab3100.c
@@ -228,15 +228,17 @@  static int __init ab3100_rtc_probe(struct platform_device *pdev)
 		/* Ignore any error on this write */
 	}
 
-	rtc = devm_rtc_device_register(&pdev->dev, "ab3100-rtc",
-					&ab3100_rtc_ops, THIS_MODULE);
-	if (IS_ERR(rtc)) {
-		err = PTR_ERR(rtc);
-		return err;
-	}
+	rtc = devm_rtc_allocate_device(&pdev->dev);
+	if (IS_ERR(rtc))
+		return PTR_ERR(rtc);
+
+	rtc->ops = &ab3100_rtc_ops;
+	/* 48bit counter at (AB3100_RTC_CLOCK_RATE * 2) */
+	rtc->range_max = U32_MAX;
+
 	platform_set_drvdata(pdev, rtc);
 
-	return 0;
+	return rtc_register_device(rtc);
 }
 
 static struct platform_driver ab3100_rtc_driver = {