Re: [PATCH] rtc: msm6242: use devm_platform_ioremap_resource()

Geert Uytterhoeven <[email protected]>
Newsgroups org.kernel.vger.linux-m68k,org.kernel.vger.linux-kernel,org.kernel.vger.linux-rtc
Message-ID <CAMuHMdUmAd0dba9_EPdJkqw4kQubtKms03Ws8P-WfY__yxTEjA@mail.gmail.com>
CC linux-m68k

On Tue, 28 Jul 2026 at 02:56, Rosen Penev <[email protected]> wrote:
> Replace the open-coded platform_get_resource() plus devm_ioremap()
> sequence with a single devm_platform_ioremap_resource() call, which folds
> the resource lookup and mapping into one step and returns an ERR_PTR on
> failure, checked with IS_ERR() and propagated via PTR_ERR().

Thanks for your patch!

> The rtc-msm6242 platform device (arch/m68k/amiga/platform.c) provides a
> single IORESOURCE_MEM window (0x00dc0000-0x00dcffff). It shares that
> resource definition with rtc-rp5c01, but the two are registered under the
> mutually exclusive A2000_CLK and A3000_CLK hardware flags, so only one
> RTC device exists on a given machine. The region reservation now
> performed by devm_platform_ioremap_resource() therefore introduces no
> conflict.

Any patches adding seemingly safe region reservations need testing on
actual hardware.

> Assisted-by: opencode:hy3-free
> Signed-off-by: Rosen Penev <[email protected]>

> --- a/drivers/rtc/rtc-msm6242.c
> +++ b/drivers/rtc/rtc-msm6242.c
> @@ -188,21 +188,20 @@ static const struct rtc_class_ops msm6242_rtc_ops = {
>
>  static int __init msm6242_rtc_probe(struct platform_device *pdev)
>  {
> -       struct resource *res;
>         struct msm6242_priv *priv;
>         struct rtc_device *rtc;
> +       void __iomem *regs;
>
> -       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> -       if (!res)
> -               return -ENODEV;
> +       regs = devm_platform_ioremap_resource(pdev, 0);
> +       if (IS_ERR(regs))
> +               return PTR_ERR(regs);
>
>         priv = devm_kzalloc(&pdev->dev, sizeof(*priv), GFP_KERNEL);
>         if (!priv)
>                 return -ENOMEM;
>
> -       priv->regs = devm_ioremap(&pdev->dev, res->start, resource_size(res));
> -       if (!priv->regs)
> -               return -ENOMEM;
> +       priv->regs = regs;
> +
>         platform_set_drvdata(pdev, priv);
>
>         rtc = devm_rtc_device_register(&pdev->dev, "rtc-msm6242",

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.