Skip to content

Commit b93f07c

Browse files
anushasrivatsmripard
authored andcommitted
drm/vc4: move to devm_platform_ioremap_resource() usage
Replace platform_get_resource_byname + devm_ioremap_resource with just devm_platform_ioremap_resource() Used Coccinelle to do this change. SmPl patch: //rule s/(devm_)platform_get_resource_byname + //(devm_)ioremap/devm_platform_ioremap_resource. @rule_3@ identifier res; expression ioremap; identifier pdev; constant mem; expression name; @@ -struct resource *res; <+... -res = platform_get_resource_byname(pdev,mem,name); <... -if (!res) { -... -} ...> -ioremap = devm_ioremap(...); +ioremap = devm_platform_ioremap_resource_byname(pdev,name); ...+> v2: Change the SmPl patch to work on multiple occurences of the pattern. This also fixes the compilation error. v3: Do not convert "hd" resource to follow the rest of the refactor. (Maxime) v4: fix compiler error Cc: Maxime Ripard <mripard@kernel.org> Cc: Dave Stevenson <dave.stevenson@raspberrypi.com> Cc: Maíra Canal <mcanal@igalia.com> Reviewed-by: Maxime Ripard <mripard@kernel.org> Signed-off-by: Anusha Srivatsa <asrivats@redhat.com> Link: https://lore.kernel.org/r/20250225-memory-drm-misc-next-v1-11-9d0e8761107a@redhat.com Signed-off-by: Maxime Ripard <mripard@kernel.org>
1 parent 41cb3e2 commit b93f07c

File tree

1 file changed

+18
-35
lines changed

1 file changed

+18
-35
lines changed

drivers/gpu/drm/vc4/vc4_hdmi.c

Lines changed: 18 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -2926,15 +2926,16 @@ static int vc5_hdmi_init_resources(struct drm_device *drm,
29262926
struct resource *res;
29272927
int ret;
29282928

2929-
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hdmi");
2930-
if (!res)
2931-
return -ENODEV;
2932-
2933-
vc4_hdmi->hdmicore_regs = devm_ioremap(dev, res->start,
2934-
resource_size(res));
2929+
vc4_hdmi->hdmicore_regs = devm_platform_ioremap_resource_byname(pdev,
2930+
"hdmi");
29352931
if (!vc4_hdmi->hdmicore_regs)
29362932
return -ENOMEM;
29372933

2934+
/* This is shared between both HDMI controllers. Cannot
2935+
* claim for both instances. Lets not convert to using
2936+
* devm_platform_ioremap_resource_byname() like
2937+
* the rest
2938+
*/
29382939
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hd");
29392940
if (!res)
29402941
return -ENODEV;
@@ -2943,51 +2944,33 @@ static int vc5_hdmi_init_resources(struct drm_device *drm,
29432944
if (!vc4_hdmi->hd_regs)
29442945
return -ENOMEM;
29452946

2946-
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "cec");
2947-
if (!res)
2948-
return -ENODEV;
2949-
2950-
vc4_hdmi->cec_regs = devm_ioremap(dev, res->start, resource_size(res));
2947+
vc4_hdmi->cec_regs = devm_platform_ioremap_resource_byname(pdev,
2948+
"cec");
29512949
if (!vc4_hdmi->cec_regs)
29522950
return -ENOMEM;
29532951

2954-
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "csc");
2955-
if (!res)
2956-
return -ENODEV;
2957-
2958-
vc4_hdmi->csc_regs = devm_ioremap(dev, res->start, resource_size(res));
2952+
vc4_hdmi->csc_regs = devm_platform_ioremap_resource_byname(pdev,
2953+
"csc");
29592954
if (!vc4_hdmi->csc_regs)
29602955
return -ENOMEM;
29612956

2962-
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "dvp");
2963-
if (!res)
2964-
return -ENODEV;
2965-
2966-
vc4_hdmi->dvp_regs = devm_ioremap(dev, res->start, resource_size(res));
2957+
vc4_hdmi->dvp_regs = devm_platform_ioremap_resource_byname(pdev,
2958+
"dvp");
29672959
if (!vc4_hdmi->dvp_regs)
29682960
return -ENOMEM;
29692961

2970-
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "phy");
2971-
if (!res)
2972-
return -ENODEV;
2962+
vc4_hdmi->phy_regs = devm_platform_ioremap_resource_byname(pdev,
2963+
"phy");
29732964

2974-
vc4_hdmi->phy_regs = devm_ioremap(dev, res->start, resource_size(res));
29752965
if (!vc4_hdmi->phy_regs)
29762966
return -ENOMEM;
29772967

2978-
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "packet");
2979-
if (!res)
2980-
return -ENODEV;
2981-
2982-
vc4_hdmi->ram_regs = devm_ioremap(dev, res->start, resource_size(res));
2968+
vc4_hdmi->ram_regs = devm_platform_ioremap_resource_byname(pdev,
2969+
"packet");
29832970
if (!vc4_hdmi->ram_regs)
29842971
return -ENOMEM;
29852972

2986-
res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "rm");
2987-
if (!res)
2988-
return -ENODEV;
2989-
2990-
vc4_hdmi->rm_regs = devm_ioremap(dev, res->start, resource_size(res));
2973+
vc4_hdmi->rm_regs = devm_platform_ioremap_resource_byname(pdev, "rm");
29912974
if (!vc4_hdmi->rm_regs)
29922975
return -ENOMEM;
29932976

0 commit comments

Comments
 (0)