* [PATCH 1/4] rtc: au1xxx: convert to devm_rtc_allocate_device
@ 2020-03-06 0:59 Alexandre Belloni
2020-03-06 0:59 ` [PATCH 2/4] rtc: au1xxx: remove goto label Alexandre Belloni
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Alexandre Belloni @ 2020-03-06 0:59 UTC (permalink / raw)
To: Alessandro Zummo, Alexandre Belloni; +Cc: linux-rtc, linux-kernel
This allows further improvement of the driver.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
---
drivers/rtc/rtc-au1xxx.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/drivers/rtc/rtc-au1xxx.c b/drivers/rtc/rtc-au1xxx.c
index 7c5530c71285..a13ac73aa2b7 100644
--- a/drivers/rtc/rtc-au1xxx.c
+++ b/drivers/rtc/rtc-au1xxx.c
@@ -99,16 +99,15 @@ static int au1xtoy_rtc_probe(struct platform_device *pdev)
while (alchemy_rdsys(AU1000_SYS_CNTRCTRL) & SYS_CNTRL_C0S)
msleep(1);
- rtcdev = devm_rtc_device_register(&pdev->dev, "rtc-au1xxx",
- &au1xtoy_rtc_ops, THIS_MODULE);
- if (IS_ERR(rtcdev)) {
- ret = PTR_ERR(rtcdev);
- goto out_err;
- }
+ rtcdev = devm_rtc_allocate_device(&pdev->dev);
+ if (IS_ERR(rtcdev))
+ return PTR_ERR(rtcdev);
+
+ rtcdev->ops = &au1xtoy_rtc_ops;
platform_set_drvdata(pdev, rtcdev);
- return 0;
+ return rtc_register_device(rtcdev);
out_err:
return ret;
--
2.24.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/4] rtc: au1xxx: remove goto label
2020-03-06 0:59 [PATCH 1/4] rtc: au1xxx: convert to devm_rtc_allocate_device Alexandre Belloni
@ 2020-03-06 0:59 ` Alexandre Belloni
2020-03-06 0:59 ` [PATCH 3/4] rtc: au1xxx: set range Alexandre Belloni
2020-03-06 0:59 ` [PATCH 4/4] rtc: au1xxx: switch to rtc_time64_to_tm/rtc_tm_to_time64 Alexandre Belloni
2 siblings, 0 replies; 4+ messages in thread
From: Alexandre Belloni @ 2020-03-06 0:59 UTC (permalink / raw)
To: Alessandro Zummo, Alexandre Belloni; +Cc: linux-rtc, linux-kernel
Simplify the driver by removing the goto label as it only does return ret.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
---
drivers/rtc/rtc-au1xxx.c | 11 ++---------
1 file changed, 2 insertions(+), 9 deletions(-)
diff --git a/drivers/rtc/rtc-au1xxx.c b/drivers/rtc/rtc-au1xxx.c
index a13ac73aa2b7..73aeb15f9491 100644
--- a/drivers/rtc/rtc-au1xxx.c
+++ b/drivers/rtc/rtc-au1xxx.c
@@ -65,17 +65,13 @@ static int au1xtoy_rtc_probe(struct platform_device *pdev)
{
struct rtc_device *rtcdev;
unsigned long t;
- int ret;
t = alchemy_rdsys(AU1000_SYS_CNTRCTRL);
if (!(t & CNTR_OK)) {
dev_err(&pdev->dev, "counters not working; aborting.\n");
- ret = -ENODEV;
- goto out_err;
+ return -ENODEV;
}
- ret = -ETIMEDOUT;
-
/* set counter0 tickrate to 1Hz if necessary */
if (alchemy_rdsys(AU1000_SYS_TOYTRIM) != 32767) {
/* wait until hardware gives access to TRIM register */
@@ -88,7 +84,7 @@ static int au1xtoy_rtc_probe(struct platform_device *pdev)
* counters are unusable.
*/
dev_err(&pdev->dev, "timeout waiting for access\n");
- goto out_err;
+ return -ETIMEDOUT;
}
/* set 1Hz TOY tick rate */
@@ -108,9 +104,6 @@ static int au1xtoy_rtc_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, rtcdev);
return rtc_register_device(rtcdev);
-
-out_err:
- return ret;
}
static struct platform_driver au1xrtc_driver = {
--
2.24.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 3/4] rtc: au1xxx: set range
2020-03-06 0:59 [PATCH 1/4] rtc: au1xxx: convert to devm_rtc_allocate_device Alexandre Belloni
2020-03-06 0:59 ` [PATCH 2/4] rtc: au1xxx: remove goto label Alexandre Belloni
@ 2020-03-06 0:59 ` Alexandre Belloni
2020-03-06 0:59 ` [PATCH 4/4] rtc: au1xxx: switch to rtc_time64_to_tm/rtc_tm_to_time64 Alexandre Belloni
2 siblings, 0 replies; 4+ messages in thread
From: Alexandre Belloni @ 2020-03-06 0:59 UTC (permalink / raw)
To: Alessandro Zummo, Alexandre Belloni; +Cc: linux-rtc, linux-kernel
The Alchemy counter0 is a 32bit seconds counter.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
---
drivers/rtc/rtc-au1xxx.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/rtc/rtc-au1xxx.c b/drivers/rtc/rtc-au1xxx.c
index 73aeb15f9491..e186fb5cfffd 100644
--- a/drivers/rtc/rtc-au1xxx.c
+++ b/drivers/rtc/rtc-au1xxx.c
@@ -100,6 +100,7 @@ static int au1xtoy_rtc_probe(struct platform_device *pdev)
return PTR_ERR(rtcdev);
rtcdev->ops = &au1xtoy_rtc_ops;
+ rtcdev->range_max = U32_MAX;
platform_set_drvdata(pdev, rtcdev);
--
2.24.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 4/4] rtc: au1xxx: switch to rtc_time64_to_tm/rtc_tm_to_time64
2020-03-06 0:59 [PATCH 1/4] rtc: au1xxx: convert to devm_rtc_allocate_device Alexandre Belloni
2020-03-06 0:59 ` [PATCH 2/4] rtc: au1xxx: remove goto label Alexandre Belloni
2020-03-06 0:59 ` [PATCH 3/4] rtc: au1xxx: set range Alexandre Belloni
@ 2020-03-06 0:59 ` Alexandre Belloni
2 siblings, 0 replies; 4+ messages in thread
From: Alexandre Belloni @ 2020-03-06 0:59 UTC (permalink / raw)
To: Alessandro Zummo, Alexandre Belloni; +Cc: linux-rtc, linux-kernel
Call the 64bit versions of rtc_tm time conversion.
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
---
drivers/rtc/rtc-au1xxx.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/rtc/rtc-au1xxx.c b/drivers/rtc/rtc-au1xxx.c
index e186fb5cfffd..791bebcb6f47 100644
--- a/drivers/rtc/rtc-au1xxx.c
+++ b/drivers/rtc/rtc-au1xxx.c
@@ -34,7 +34,7 @@ static int au1xtoy_rtc_read_time(struct device *dev, struct rtc_time *tm)
t = alchemy_rdsys(AU1000_SYS_TOYREAD);
- rtc_time_to_tm(t, tm);
+ rtc_time64_to_tm(t, tm);
return 0;
}
@@ -43,7 +43,7 @@ static int au1xtoy_rtc_set_time(struct device *dev, struct rtc_time *tm)
{
unsigned long t;
- rtc_tm_to_time(tm, &t);
+ t = rtc_tm_to_time64(tm);
alchemy_wrsys(t, AU1000_SYS_TOYWRITE);
--
2.24.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-03-06 1:00 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-06 0:59 [PATCH 1/4] rtc: au1xxx: convert to devm_rtc_allocate_device Alexandre Belloni
2020-03-06 0:59 ` [PATCH 2/4] rtc: au1xxx: remove goto label Alexandre Belloni
2020-03-06 0:59 ` [PATCH 3/4] rtc: au1xxx: set range Alexandre Belloni
2020-03-06 0:59 ` [PATCH 4/4] rtc: au1xxx: switch to rtc_time64_to_tm/rtc_tm_to_time64 Alexandre Belloni
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).