[PATCH] ata: ahci_da850: use devm_platform_ioremap_resource()
Rosen Penev <[email protected]> Tue, 14 Jul 2026 18:16:58 -0700
| Newsgroups | gmane.linux.ide,gmane.linux.kernel |
|---|---|
| Message-ID | <[email protected]> |
Replace the open-coded platform_get_resource(IORESOURCE_MEM, 1) plus devm_ioremap() sequence with devm_platform_ioremap_resource(pdev, 1), which looks up resource index 1 (the power-down control register), reserves it and maps it in one call, returning an ERR_PTR checked with IS_ERR()/PTR_ERR(). Resource index 0 (the AHCI register block) is still mapped separately as hpriv->mmio via ahci_platform_get_resources(). Built for ARM (davinci_all_defconfig + CONFIG_AHCI_DA850) with LLVM=1; drivers/ata/ahci_da850.o compiles cleanly. Assisted-by: opencode:hy3-free Signed-off-by: Rosen Penev <[email protected]> --- drivers/ata/ahci_da850.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-) diff --git a/drivers/ata/ahci_da850.c b/drivers/ata/ahci_da850.c index f97566c420f8..4e53ff96d712 100644 --- a/drivers/ata/ahci_da850.c +++ b/drivers/ata/ahci_da850.c @@ -162,7 +162,6 @@ static int ahci_da850_probe(struct platform_device *pdev) struct device *dev = &pdev->dev; struct ahci_host_priv *hpriv; void __iomem *pwrdn_reg; - struct resource *res; u32 mpy; int rc; @@ -198,22 +197,14 @@ static int ahci_da850_probe(struct platform_device *pdev) return -EINVAL; } + pwrdn_reg = devm_platform_ioremap_resource(pdev, 1); + if (IS_ERR(pwrdn_reg)) + return PTR_ERR(pwrdn_reg); + rc = ahci_platform_enable_resources(hpriv); if (rc) return rc; - res = platform_get_resource(pdev, IORESOURCE_MEM, 1); - if (!res) { - rc = -ENODEV; - goto disable_resources; - } - - pwrdn_reg = devm_ioremap(dev, res->start, resource_size(res)); - if (!pwrdn_reg) { - rc = -ENOMEM; - goto disable_resources; - } - da850_sata_init(dev, pwrdn_reg, hpriv->mmio, mpy); rc = ahci_platform_init_host(pdev, hpriv, &ahci_da850_port_info, -- 2.55.0