devm_rtc_device_register() is deprecated. Use devm_rtc_allocate_device()
and devm_rtc_register_device() API instead.
Signed-off-by: Sam Protsenko <[email protected]>
---
drivers/rtc/rtc-s3c.c | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index e57d3ca70a78..10e591794276 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -447,15 +447,18 @@ static int s3c_rtc_probe(struct platform_device *pdev)
device_init_wakeup(&pdev->dev, 1);
- /* register RTC and exit */
- info->rtc = devm_rtc_device_register(&pdev->dev, "s3c", &s3c_rtcops,
- THIS_MODULE);
+ info->rtc = devm_rtc_allocate_device(&pdev->dev);
if (IS_ERR(info->rtc)) {
- dev_err(&pdev->dev, "cannot attach rtc\n");
ret = PTR_ERR(info->rtc);
goto err_nortc;
}
+ info->rtc->ops = &s3c_rtcops;
+
+ ret = devm_rtc_register_device(info->rtc);
+ if (ret)
+ goto err_nortc;
+
ret = devm_request_irq(&pdev->dev, info->irq_alarm, s3c_rtc_alarmirq,
0, "s3c2410-rtc alarm", info);
if (ret) {
--
2.30.2
On 18/10/2021 20:32:01+0300, Sam Protsenko wrote:
> devm_rtc_device_register() is deprecated. Use devm_rtc_allocate_device()
> and devm_rtc_register_device() API instead.
>
If you do that, please also set the range properly, either in the same
patch or as a follow-up.
> Signed-off-by: Sam Protsenko <[email protected]>
> ---
> drivers/rtc/rtc-s3c.c | 11 +++++++----
> 1 file changed, 7 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
> index e57d3ca70a78..10e591794276 100644
> --- a/drivers/rtc/rtc-s3c.c
> +++ b/drivers/rtc/rtc-s3c.c
> @@ -447,15 +447,18 @@ static int s3c_rtc_probe(struct platform_device *pdev)
>
> device_init_wakeup(&pdev->dev, 1);
>
> - /* register RTC and exit */
> - info->rtc = devm_rtc_device_register(&pdev->dev, "s3c", &s3c_rtcops,
> - THIS_MODULE);
> + info->rtc = devm_rtc_allocate_device(&pdev->dev);
> if (IS_ERR(info->rtc)) {
> - dev_err(&pdev->dev, "cannot attach rtc\n");
> ret = PTR_ERR(info->rtc);
> goto err_nortc;
> }
>
> + info->rtc->ops = &s3c_rtcops;
> +
> + ret = devm_rtc_register_device(info->rtc);
> + if (ret)
> + goto err_nortc;
> +
> ret = devm_request_irq(&pdev->dev, info->irq_alarm, s3c_rtc_alarmirq,
> 0, "s3c2410-rtc alarm", info);
> if (ret) {
> --
> 2.30.2
>
--
Alexandre Belloni, co-owner and COO, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
On Mon, 18 Oct 2021 at 21:57, Alexandre Belloni
<[email protected]> wrote:
>
> On 18/10/2021 20:32:01+0300, Sam Protsenko wrote:
> > devm_rtc_device_register() is deprecated. Use devm_rtc_allocate_device()
> > and devm_rtc_register_device() API instead.
> >
>
> If you do that, please also set the range properly, either in the same
> patch or as a follow-up.
>
No problem. Just sent patch series [1], which supersedes this one.
Time range setting is present there in [PATCH 2/4].
[1] https://lkml.org/lkml/2021/10/19/632
> > Signed-off-by: Sam Protsenko <[email protected]>
> > ---
> > drivers/rtc/rtc-s3c.c | 11 +++++++----
> > 1 file changed, 7 insertions(+), 4 deletions(-)
> >
> > diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
> > index e57d3ca70a78..10e591794276 100644
> > --- a/drivers/rtc/rtc-s3c.c
> > +++ b/drivers/rtc/rtc-s3c.c
> > @@ -447,15 +447,18 @@ static int s3c_rtc_probe(struct platform_device *pdev)
> >
> > device_init_wakeup(&pdev->dev, 1);
> >
> > - /* register RTC and exit */
> > - info->rtc = devm_rtc_device_register(&pdev->dev, "s3c", &s3c_rtcops,
> > - THIS_MODULE);
> > + info->rtc = devm_rtc_allocate_device(&pdev->dev);
> > if (IS_ERR(info->rtc)) {
> > - dev_err(&pdev->dev, "cannot attach rtc\n");
> > ret = PTR_ERR(info->rtc);
> > goto err_nortc;
> > }
> >
> > + info->rtc->ops = &s3c_rtcops;
> > +
> > + ret = devm_rtc_register_device(info->rtc);
> > + if (ret)
> > + goto err_nortc;
> > +
> > ret = devm_request_irq(&pdev->dev, info->irq_alarm, s3c_rtc_alarmirq,
> > 0, "s3c2410-rtc alarm", info);
> > if (ret) {
> > --
> > 2.30.2
> >
>
> --
> Alexandre Belloni, co-owner and COO, Bootlin
> Embedded Linux and Kernel engineering
> https://bootlin.com