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 <[email protected]>
Cc: Dmitry Baryshkov <[email protected]>
Signed-off-by: Anusha Srivatsa <[email protected]>
Reviewed-by: Chunyan Zhang <[email protected]>(v1)
Reviewed-by: Maxime Ripard <[email protected]>(v1)
---
 drivers/gpu/drm/sprd/sprd_dpu.c | 13 +++----------
 drivers/gpu/drm/sprd/sprd_dsi.c | 13 +++----------
 2 files changed, 6 insertions(+), 20 deletions(-)

diff --git a/drivers/gpu/drm/sprd/sprd_dpu.c b/drivers/gpu/drm/sprd/sprd_dpu.c
index 
cb2816985305fd19eac27413c214681a5a1e9ffa..a3447622a33cd612e34be038e833222567bdcd2c
 100644
--- a/drivers/gpu/drm/sprd/sprd_dpu.c
+++ b/drivers/gpu/drm/sprd/sprd_dpu.c
@@ -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);
diff --git a/drivers/gpu/drm/sprd/sprd_dsi.c b/drivers/gpu/drm/sprd/sprd_dsi.c
index 
8fc26479bb6bce0aa94914f49d0986a7e19326c1..23b0e1dc547a5023ee6ad7d5e1c49e2cec986bf0
 100644
--- a/drivers/gpu/drm/sprd/sprd_dsi.c
+++ b/drivers/gpu/drm/sprd/sprd_dsi.c
@@ -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);

-- 
2.48.1

Reply via email to