<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Thu, Feb 6, 2025 at 11:13 AM Maxime Ripard <<a href="mailto:mripard@kernel.org">mripard@kernel.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">On Wed, Feb 05, 2025 at 03:08:07PM -0500, Anusha Srivatsa wrote:<br>
> Replace platform_get_resource_byname + devm_ioremap_resource<br>
> with just devm_platform_ioremap_resource()<br>
> <br>
> Used Coccinelle to do this change. SmPl patch:<br>
> //rule s/(devm_)platform_get_resource_byname +<br>
> //(devm_)ioremap/devm_platform_ioremap_resource.<br>
> @rule_3@<br>
> identifier res;<br>
> expression ioremap;<br>
> identifier pdev;<br>
> constant mem;<br>
> expression name;<br>
> @@<br>
> -struct resource *res;<br>
> <+...<br>
> -res = platform_get_resource_byname(pdev,mem,name);<br>
> <...<br>
> -if (!res) {<br>
> -...<br>
> -}<br>
> ...><br>
> -ioremap = devm_ioremap(...);<br>
> +ioremap = devm_platform_ioremap_resource_byname(pdev,name);<br>
> ...+><br>
> <br>
> v2: Change the SmPl patch to work on multiple occurences of<br>
> the pattern. This also fixes the compilation error.<br>
> <br>
> Cc: Maxime Ripard <<a href="mailto:mripard@kernel.org" target="_blank">mripard@kernel.org</a>><br>
> Cc: Dave Stevenson <<a href="mailto:dave.stevenson@raspberrypi.com" target="_blank">dave.stevenson@raspberrypi.com</a>><br>
> Cc: Maíra Canal <<a href="mailto:mcanal@igalia.com" target="_blank">mcanal@igalia.com</a>><br>
> Signed-off-by: Anusha Srivatsa <<a href="mailto:asrivats@redhat.com" target="_blank">asrivats@redhat.com</a>><br>
> ---<br>
> drivers/gpu/drm/vc4/vc4_hdmi.c | 55 +++++++++++-------------------------------<br>
> 1 file changed, 14 insertions(+), 41 deletions(-)<br>
> <br>
> diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdmi.c<br>
> index 47d9ada98430634cfd8c1e21c2a4d00d501bab7e..066f1246dab420ee889845b0c573d80ce7c88595 100644<br>
> --- a/drivers/gpu/drm/vc4/vc4_hdmi.c<br>
> +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c<br>
> @@ -2951,71 +2951,44 @@ static int vc5_hdmi_init_resources(struct drm_device *drm,<br>
> {<br>
> struct platform_device *pdev = vc4_hdmi->pdev;<br>
> struct device *dev = &pdev->dev;<br>
> - struct resource *res;<br>
> int ret;<br>
> <br>
> - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hdmi");<br>
> - if (!res)<br>
> - return -ENODEV;<br>
> -<br>
> - vc4_hdmi->hdmicore_regs = devm_ioremap(dev, res->start,<br>
> - resource_size(res));<br>
> + vc4_hdmi->hdmicore_regs = devm_platform_ioremap_resource_byname(pdev,<br>
> + "hdmi");<br>
> if (!vc4_hdmi->hdmicore_regs)<br>
> return -ENOMEM;<br>
> <br>
> - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, "hd");<br>
> - if (!res)<br>
> - return -ENODEV;<br>
> -<br>
> - vc4_hdmi->hd_regs = devm_ioremap(dev, res->start, resource_size(res));<br>
> + vc4_hdmi->hd_regs = devm_platform_ioremap_resource_byname(pdev, "hd");<br>
> if (!vc4_hdmi->hd_regs)<br>
> return -ENOMEM;<br>
<br>
I *think* that one is shared between both HDMI controllers on the<br>
RaspberryPi4, so we can't claim them from both instances. We should add<br>
a comment there to document that it's on purpose.<br>
<br></blockquote><div>How about vc4_hdmi->hdmicore_regs? It also has another instance vc4_hdmi_init_resources(). Looks like that also doesnt need any converting and shold be left as is.</div><div><br></div><div>Anusha<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
The rest looks good.<br>
<br>
Maxime<br>
</blockquote></div></div>