diff options
| author | Rosen Penev <rosenp@gmail.com> | 2026-05-12 13:22:55 -0700 |
|---|---|---|
| committer | Niklas Cassel <cassel@kernel.org> | 2026-06-01 19:07:37 +0200 |
| commit | fa0f6679c73553d3e457884759ae4c6f220a71de (patch) | |
| tree | 764153a320c8c934dc1e08e2881af2b8f31bc08b /drivers | |
| parent | 28afe01eb75cf8e858b9eecebb0e2e7ee0ceb236 (diff) | |
ata: pata_arasan_cf: simplify ioremap
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>
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/ata/pata_arasan_cf.c | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/drivers/ata/pata_arasan_cf.c b/drivers/ata/pata_arasan_cf.c index b1e281b64f57..a77fefd320c2 100644 --- a/drivers/ata/pata_arasan_cf.c +++ b/drivers/ata/pata_arasan_cf.c @@ -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)) { |
