* [PATCH] ata: pata_rb532_cf: use devm_platform_ioremap_resource()
@ 2026-07-13 23:21 Rosen Penev
0 siblings, 0 replies; only message in thread
From: Rosen Penev @ 2026-07-13 23:21 UTC (permalink / raw)
To: linux-ide
Cc: Damien Le Moal, Niklas Cassel, Nathan Chancellor,
Nick Desaulniers, Bill Wendling, Justin Stitt, open list,
open list:CLANG/LLVM BUILD SUPPORT:Keyword:b(?i:clang|llvm)b
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 <rosenp@gmail.com>
---
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
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2026-07-13 23:21 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-13 23:21 [PATCH] ata: pata_rb532_cf: use devm_platform_ioremap_resource() Rosen Penev
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox