]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/sprd: move to devm_platform_ioremap_resource() usage
authorAnusha Srivatsa <asrivats@redhat.com>
Tue, 4 Mar 2025 21:05:34 +0000 (16:05 -0500)
committerAnusha Srivatsa <asrivats@asrivats-thinkpadt14sgen2i.rmtustx.csb>
Mon, 10 Mar 2025 20:25:01 +0000 (16:25 -0400)
Replace platform_get_resource + devm_ioremap
with just devm_platform_ioremap_resource()

Used Coccinelle to do this change. SmPl patch:
@rule_2@
identifier res;
expression ioremap;
identifier pdev;
@@
-struct resource *res;
...
-res = platform_get_resource(pdev,...);
<...
-if (!res) {
-...
-}
...>
-ioremap = devm_ioremap(...);
+ioremap = devm_platform_ioremap_resource(pdev,0);

v2: Address the return handling properly since
the new API returns error pointers and not NULL.

Cc: Chunyan Zhang <zhang.lyra@gmail.com>
Cc: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Signed-off-by: Anusha Srivatsa <asrivats@redhat.com>
Reviewed-by: Chunyan Zhang <zhang.lyra@gmail.com>(v1)
Reviewed-by: Maxime Ripard <mripard@kernel.org>(v1)
Link: https://patchwork.freedesktop.org/patch/640854/?series=144073&rev=5
drivers/gpu/drm/sprd/sprd_dpu.c
drivers/gpu/drm/sprd/sprd_dsi.c

index cb2816985305fd19eac27413c214681a5a1e9ffa..a3447622a33cd612e34be038e833222567bdcd2c 100644 (file)
@@ -784,19 +784,12 @@ static int sprd_dpu_context_init(struct sprd_dpu *dpu,
 {
        struct platform_device *pdev = to_platform_device(dev);
        struct dpu_context *ctx = &dpu->ctx;
-       struct resource *res;
        int ret;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!res) {
-               dev_err(dev, "failed to get I/O resource\n");
-               return -EINVAL;
-       }
-
-       ctx->base = devm_ioremap(dev, res->start, resource_size(res));
-       if (!ctx->base) {
+       ctx->base = devm_platform_ioremap_resource(pdev, 0);
+       if (IS_ERR(ctx->base)) {
                dev_err(dev, "failed to map dpu registers\n");
-               return -EFAULT;
+               return PTR_ERR(ctx->base);
        }
 
        ctx->irq = platform_get_irq(pdev, 0);
index 8fc26479bb6bce0aa94914f49d0986a7e19326c1..23b0e1dc547a5023ee6ad7d5e1c49e2cec986bf0 100644 (file)
@@ -901,18 +901,11 @@ static int sprd_dsi_context_init(struct sprd_dsi *dsi,
 {
        struct platform_device *pdev = to_platform_device(dev);
        struct dsi_context *ctx = &dsi->ctx;
-       struct resource *res;
 
-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!res) {
-               dev_err(dev, "failed to get I/O resource\n");
-               return -EINVAL;
-       }
-
-       ctx->base = devm_ioremap(dev, res->start, resource_size(res));
-       if (!ctx->base) {
+       ctx->base = devm_platform_ioremap_resource(pdev, 0);
+       if (IS_ERR(ctx->base)) {
                drm_err(dsi->drm, "failed to map dsi host registers\n");
-               return -ENXIO;
+               return PTR_ERR(ctx->base);
        }
 
        ctx->regmap = devm_regmap_init(dev, &regmap_tst_io, dsi, &byte_config);