[PATCH] ata: pata_rb532_cf: use devm_platform_ioremap_resource()
Rosen Penev <[email protected]> Mon, 13 Jul 2026 16:21:43 -0700
| Newsgroups | gmane.linux.ide,gmane.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(). Similar to platform_get_irq(), it can return -EPROBE_DEFER so move it early. The pata-rb532-cf platform device (arch/mips/rb532/devices.c) provides a single IORESOURCE_MEM window at the DEV1BASE chip-select, distinct from the other RB532 chip-selects, so the region reservation now performed by devm_platform_ioremap_resource() introduces no conflict. The mapped size is unchanged. Drop the redundant error message, as devm_platform_ioremap_resource() already logs on failure. Built for MIPS (rb532_defconfig) with LLVM=1; drivers/ata/pata_rb532_cf.o compiles cleanly. Assisted-by: opencode:hy3-free Signed-off-by: Rosen Penev <[email protected]> --- drivers/ata/pata_rb532_cf.c | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/drivers/ata/pata_rb532_cf.c b/drivers/ata/pata_rb532_cf.c index fd81e75c9402..0144e597707e 100644 --- a/drivers/ata/pata_rb532_cf.c +++ b/drivers/ata/pata_rb532_cf.c @@ -103,16 +103,14 @@ static int rb532_pata_driver_probe(struct platform_device *pdev) { int irq; struct gpio_desc *gpiod; - struct resource *res; struct ata_host *ah; struct rb532_cf_info *info; + void __iomem *iobase; int ret; - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); - if (!res) { - dev_err(&pdev->dev, "no IOMEM resource found\n"); - return -EINVAL; - } + iobase = devm_platform_ioremap_resource(pdev, 0); + if (IS_ERR(iobase)) + return PTR_ERR(iobase); irq = platform_get_irq(pdev, 0); if (irq < 0) @@ -139,11 +137,7 @@ static int rb532_pata_driver_probe(struct platform_device *pdev) ah->private_data = info; info->gpio_line = gpiod; info->irq = irq; - - info->iobase = devm_ioremap(&pdev->dev, res->start, - resource_size(res)); - if (!info->iobase) - return -ENOMEM; + info->iobase = iobase; rb532_pata_setup_ports(ah); -- 2.55.0