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