[PATCH] rtc: msm6242: use devm_platform_ioremap_resource()
Rosen Penev <[email protected]> Mon, 27 Jul 2026 17:56:10 -0700
| Newsgroups | org.kernel.vger.linux-rtc,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
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(). 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. Assisted-by: opencode:hy3-free Signed-off-by: Rosen Penev <[email protected]> --- drivers/rtc/rtc-msm6242.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/rtc/rtc-msm6242.c b/drivers/rtc/rtc-msm6242.c index 80e364baac53..6f28d9c2278f 100644 --- 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", -- 2.55.0