]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ata: pata_arasan_cf: simplify ioremap
authorRosen Penev <rosenp@gmail.com>
Tue, 12 May 2026 20:22:55 +0000 (13:22 -0700)
committerNiklas Cassel <cassel@kernel.org>
Mon, 1 Jun 2026 17:07:37 +0000 (19:07 +0200)
Use devm_platform_get_and_ioremap_resource() to combine
platform_get_resource, request_mem_region, and ioremap.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Signed-off-by: Niklas Cassel <cassel@kernel.org>
drivers/ata/pata_arasan_cf.c

index b1e281b64f57c7f1063e5d6faf0661643099eaa9..a77fefd320c26fa54ff05b795febd77a7eaae29a 100644 (file)
@@ -803,16 +803,6 @@ static int arasan_cf_probe(struct platform_device *pdev)
        irq_handler_t irq_handler = NULL;
        int ret;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!res)
-               return -EINVAL;
-
-       if (!devm_request_mem_region(&pdev->dev, res->start, resource_size(res),
-                               DRIVER_NAME)) {
-               dev_warn(&pdev->dev, "Failed to get memory region resource\n");
-               return -ENOENT;
-       }
-
        acdev = devm_kzalloc(&pdev->dev, sizeof(*acdev), GFP_KERNEL);
        if (!acdev)
                return -ENOMEM;
@@ -827,22 +817,20 @@ static int arasan_cf_probe(struct platform_device *pdev)
         * support only PIO
         */
        ret = platform_get_irq(pdev, 0);
+       if (ret == -EPROBE_DEFER)
+               return ret;
        if (ret > 0) {
                acdev->irq = ret;
                irq_handler = arasan_cf_interrupt;
-       } else  if (ret == -EPROBE_DEFER) {
-               return ret;
        } else  {
                quirk |= CF_BROKEN_MWDMA | CF_BROKEN_UDMA;
        }
 
+       acdev->vbase = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
+       if (IS_ERR(acdev->vbase))
+               return PTR_ERR(acdev->vbase);
+
        acdev->pbase = res->start;
-       acdev->vbase = devm_ioremap(&pdev->dev, res->start,
-                       resource_size(res));
-       if (!acdev->vbase) {
-               dev_warn(&pdev->dev, "ioremap fail\n");
-               return -ENOMEM;
-       }
 
        acdev->clk = devm_clk_get(&pdev->dev, NULL);
        if (IS_ERR(acdev->clk)) {