On Wed, Mar 5, 2025 at 3:59 AM Raphael Gallais-Pou < raphael.gallais-...@foss.st.com> wrote:
> > On 3/3/25 18:29, Anusha Srivatsa wrote: > > On Wed, Feb 26, 2025 at 5:19 AM Raphael Gallais-Pou < > > raphael.gallais-...@foss.st.com> wrote: > > > >> On 2/25/25 23:20, Anusha Srivatsa wrote: > >>> Replace platform_get_resource/_byname + devm_ioremap > >>> with just devm_platform_ioremap_resource() > >>> > >>> Used Coccinelle to do this change. SmPl patch: > >>> > >>> @rule@ > >>> 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); > >>> > >>> and > >>> @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: Fix compilation error. > >> > >> Hi Anusha, > >> > >> > >> You did not take into account my comment regarding the changelog. :-) > >> > >> > https://www.kernel.org/doc/html/latest/process/submitting-patches.html#commentary > >> > >> While the commit summary do not specify the version, this changelog > >> suggests > >> that the version of your series as been incremented. > >> If this is a v2, then a version descriptor should be applied to the > >> patchset. > >> > >> > https://www.kernel.org/doc/html/latest/process/submitting-patches.html#subject-line > >> > >> Hi Raphael, > > That is correct. While this patch is a v2, there is another patch or two > in > > the same series that is on v4 when it got acked and reviewed. Having > > patches belonging to the same series with different version prefixes > seemed > > odd when I sent the series. Hence added what exactly changed in the > commit > > log. > > > Indeed, the serie version should remain consistent across all patches. > > Maxime told you in an earlier answer, any modification of any patch what > so ever > increases the serie version. Thus all patches are at v5 (looking at your > latest > revision). > > Verbatim from the documentation : > > Other comments relevant only to the moment or the maintainer, not suitable > for > the permanent changelog, should also go here [under the --- marker]. A good > example of such comments might be patch changelogs which describe what has > changed between the v1 and v2 version of the patch. > > Please put this information after the --- line which separates the > changelog > from the rest of the patch. The version information is not part of the > changelog > which gets committed to the git tree. It is additional information for the > reviewers. If it’s placed above the commit tags, it needs manual > interaction to > remove it. If it is below the separator line, it gets automatically > stripped off > when applying the patch: > > > https://www.kernel.org/doc/html/latest/process/submitting-patches.html#commentary > > Raphaël > > Thanks Raphael and Maxime for the detailed explanation. I had overlooked this. Shall keep in mind going forward. Anusha > > > Anusha > > > > > >> Regards, > >> Raphaël > >> > >>> Cc: Raphael Gallais-Pou <raphael.gallais-...@foss.st.com> > >>> Cc: Alain Volmat <alain.vol...@foss.st.com> > >>> Reviewed-by: Maxime Ripard <mrip...@kernel.org> > >>> Acked-by: Raphael Gallais-Pou <rgallais...@gmail.com> > >>> Signed-off-by: Anusha Srivatsa <asriv...@redhat.com> > >>> --- > >>> drivers/gpu/drm/sti/sti_compositor.c | 10 +--------- > >>> drivers/gpu/drm/sti/sti_dvo.c | 10 +--------- > >>> drivers/gpu/drm/sti/sti_hda.c | 9 +-------- > >>> drivers/gpu/drm/sti/sti_hdmi.c | 11 +---------- > >>> drivers/gpu/drm/sti/sti_hqvdp.c | 10 +--------- > >>> drivers/gpu/drm/sti/sti_tvout.c | 10 +--------- > >>> drivers/gpu/drm/sti/sti_vtg.c | 10 +--------- > >>> 7 files changed, 7 insertions(+), 63 deletions(-) > >>> > >>> diff --git a/drivers/gpu/drm/sti/sti_compositor.c > >> b/drivers/gpu/drm/sti/sti_compositor.c > >>> index > >> > 063f82d23d80c4ba83624a0066a18416a2b37351..7aefce6706ba2cd7d97a33228c9b9812edecf06f > >> 100644 > >>> --- a/drivers/gpu/drm/sti/sti_compositor.c > >>> +++ b/drivers/gpu/drm/sti/sti_compositor.c > >>> @@ -177,7 +177,6 @@ static int sti_compositor_probe(struct > >> platform_device *pdev) > >>> struct device_node *np = dev->of_node; > >>> struct device_node *vtg_np; > >>> struct sti_compositor *compo; > >>> - struct resource *res; > >>> unsigned int i; > >>> > >>> compo = devm_kzalloc(dev, sizeof(*compo), GFP_KERNEL); > >>> @@ -194,14 +193,7 @@ static int sti_compositor_probe(struct > >> platform_device *pdev) > >>> memcpy(&compo->data, of_match_node(compositor_of_match, > np)->data, > >>> sizeof(struct sti_compositor_data)); > >>> - > >>> - /* Get Memory ressources */ > >>> - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > >>> - if (res == NULL) { > >>> - DRM_ERROR("Get memory resource failed\n"); > >>> - return -ENXIO; > >>> - } > >>> - compo->regs = devm_ioremap(dev, res->start, resource_size(res)); > >>> + compo->regs = devm_platform_ioremap_resource(pdev, 0); > >>> if (compo->regs == NULL) { > >>> DRM_ERROR("Register mapping failed\n"); > >>> return -ENXIO; > >>> diff --git a/drivers/gpu/drm/sti/sti_dvo.c > >> b/drivers/gpu/drm/sti/sti_dvo.c > >>> index > >> > 4dcddd02629b6a1052be8fb8333bd3aa17c083c5..c877298a7f2bad171724eca4d43ea622db4c81cd > >> 100644 > >>> --- a/drivers/gpu/drm/sti/sti_dvo.c > >>> +++ b/drivers/gpu/drm/sti/sti_dvo.c > >>> @@ -511,7 +511,6 @@ static int sti_dvo_probe(struct platform_device > >> *pdev) > >>> { > >>> struct device *dev = &pdev->dev; > >>> struct sti_dvo *dvo; > >>> - struct resource *res; > >>> struct device_node *np = dev->of_node; > >>> > >>> DRM_INFO("%s\n", __func__); > >>> @@ -523,14 +522,7 @@ static int sti_dvo_probe(struct platform_device > >> *pdev) > >>> } > >>> > >>> dvo->dev = pdev->dev; > >>> - > >>> - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, > >> "dvo-reg"); > >>> - if (!res) { > >>> - DRM_ERROR("Invalid dvo resource\n"); > >>> - return -ENOMEM; > >>> - } > >>> - dvo->regs = devm_ioremap(dev, res->start, > >>> - resource_size(res)); > >>> + dvo->regs = devm_platform_ioremap_resource_byname(pdev, > "dvo-reg"); > >>> if (!dvo->regs) > >>> return -ENOMEM; > >>> > >>> diff --git a/drivers/gpu/drm/sti/sti_hda.c > >> b/drivers/gpu/drm/sti/sti_hda.c > >>> index > >> > 14fdc00d2ba03d4f96ba407ac8e576decb6f32c0..3ca3abb80d425901f4c031edfd327a770d624e1c > >> 100644 > >>> --- a/drivers/gpu/drm/sti/sti_hda.c > >>> +++ b/drivers/gpu/drm/sti/sti_hda.c > >>> @@ -750,14 +750,7 @@ static int sti_hda_probe(struct platform_device > >> *pdev) > >>> return -ENOMEM; > >>> > >>> hda->dev = pdev->dev; > >>> - > >>> - /* Get resources */ > >>> - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, > >> "hda-reg"); > >>> - if (!res) { > >>> - DRM_ERROR("Invalid hda resource\n"); > >>> - return -ENOMEM; > >>> - } > >>> - hda->regs = devm_ioremap(dev, res->start, resource_size(res)); > >>> + hda->regs = devm_platform_ioremap_resource_byname(pdev, > "hda-reg"); > >>> if (!hda->regs) > >>> return -ENOMEM; > >>> > >>> diff --git a/drivers/gpu/drm/sti/sti_hdmi.c > >> b/drivers/gpu/drm/sti/sti_hdmi.c > >>> index > >> > 164a34d793d86f114394048667ae3189e1c39242..c64ce7a1ef58b9ce4429edd368269bea87d86984 > >> 100644 > >>> --- a/drivers/gpu/drm/sti/sti_hdmi.c > >>> +++ b/drivers/gpu/drm/sti/sti_hdmi.c > >>> @@ -1380,7 +1380,6 @@ static int sti_hdmi_probe(struct platform_device > >> *pdev) > >>> struct device *dev = &pdev->dev; > >>> struct sti_hdmi *hdmi; > >>> struct device_node *np = dev->of_node; > >>> - struct resource *res; > >>> struct device_node *ddc; > >>> int ret; > >>> > >>> @@ -1399,15 +1398,7 @@ static int sti_hdmi_probe(struct platform_device > >> *pdev) > >>> } > >>> > >>> hdmi->dev = pdev->dev; > >>> - > >>> - /* Get resources */ > >>> - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, > >> "hdmi-reg"); > >>> - if (!res) { > >>> - DRM_ERROR("Invalid hdmi resource\n"); > >>> - ret = -ENOMEM; > >>> - goto release_adapter; > >>> - } > >>> - hdmi->regs = devm_ioremap(dev, res->start, resource_size(res)); > >>> + hdmi->regs = devm_platform_ioremap_resource_byname(pdev, > >> "hdmi-reg"); > >>> if (!hdmi->regs) { > >>> ret = -ENOMEM; > >>> goto release_adapter; > >>> diff --git a/drivers/gpu/drm/sti/sti_hqvdp.c > >> b/drivers/gpu/drm/sti/sti_hqvdp.c > >>> index > >> > 0f658709c9d0d398c4eed65202443db9d0b41f8c..420395598d119a403d531211022e6005d6a2bd59 > >> 100644 > >>> --- a/drivers/gpu/drm/sti/sti_hqvdp.c > >>> +++ b/drivers/gpu/drm/sti/sti_hqvdp.c > >>> @@ -1356,7 +1356,6 @@ static int sti_hqvdp_probe(struct platform_device > >> *pdev) > >>> struct device *dev = &pdev->dev; > >>> struct device_node *vtg_np; > >>> struct sti_hqvdp *hqvdp; > >>> - struct resource *res; > >>> > >>> DRM_DEBUG_DRIVER("\n"); > >>> > >>> @@ -1367,14 +1366,7 @@ static int sti_hqvdp_probe(struct > platform_device > >> *pdev) > >>> } > >>> > >>> hqvdp->dev = dev; > >>> - > >>> - /* Get Memory resources */ > >>> - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > >>> - if (!res) { > >>> - DRM_ERROR("Get memory resource failed\n"); > >>> - return -ENXIO; > >>> - } > >>> - hqvdp->regs = devm_ioremap(dev, res->start, resource_size(res)); > >>> + hqvdp->regs = devm_platform_ioremap_resource(pdev, 0); > >>> if (!hqvdp->regs) { > >>> DRM_ERROR("Register mapping failed\n"); > >>> return -ENXIO; > >>> diff --git a/drivers/gpu/drm/sti/sti_tvout.c > >> b/drivers/gpu/drm/sti/sti_tvout.c > >>> index > >> > af6c06f448c4819def8cc0d0836e30f991529690..0bebe815f5e7567f84388af93723a6fa7d2cc7a2 > >> 100644 > >>> --- a/drivers/gpu/drm/sti/sti_tvout.c > >>> +++ b/drivers/gpu/drm/sti/sti_tvout.c > >>> @@ -838,7 +838,6 @@ static int sti_tvout_probe(struct platform_device > >> *pdev) > >>> struct device *dev = &pdev->dev; > >>> struct device_node *node = dev->of_node; > >>> struct sti_tvout *tvout; > >>> - struct resource *res; > >>> > >>> DRM_INFO("%s\n", __func__); > >>> > >>> @@ -850,14 +849,7 @@ static int sti_tvout_probe(struct platform_device > >> *pdev) > >>> return -ENOMEM; > >>> > >>> tvout->dev = dev; > >>> - > >>> - /* get memory resources */ > >>> - res = platform_get_resource_byname(pdev, IORESOURCE_MEM, > >> "tvout-reg"); > >>> - if (!res) { > >>> - DRM_ERROR("Invalid glue resource\n"); > >>> - return -ENOMEM; > >>> - } > >>> - tvout->regs = devm_ioremap(dev, res->start, resource_size(res)); > >>> + tvout->regs = devm_platform_ioremap_resource_byname(pdev, > >> "tvout-reg"); > >>> if (!tvout->regs) > >>> return -ENOMEM; > >>> > >>> diff --git a/drivers/gpu/drm/sti/sti_vtg.c > >> b/drivers/gpu/drm/sti/sti_vtg.c > >>> index > >> > 5ba469b711b5318e9e9e6d8df127fb8933d1fac1..b5353fe774d72fd629ecd3ef75a5d2817ca8617f > >> 100644 > >>> --- a/drivers/gpu/drm/sti/sti_vtg.c > >>> +++ b/drivers/gpu/drm/sti/sti_vtg.c > >>> @@ -380,20 +380,12 @@ static int vtg_probe(struct platform_device > *pdev) > >>> { > >>> struct device *dev = &pdev->dev; > >>> struct sti_vtg *vtg; > >>> - struct resource *res; > >>> int ret; > >>> > >>> vtg = devm_kzalloc(dev, sizeof(*vtg), GFP_KERNEL); > >>> if (!vtg) > >>> return -ENOMEM; > >>> - > >>> - /* Get Memory ressources */ > >>> - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > >>> - if (!res) { > >>> - DRM_ERROR("Get memory resource failed\n"); > >>> - return -ENOMEM; > >>> - } > >>> - vtg->regs = devm_ioremap(dev, res->start, resource_size(res)); > >>> + vtg->regs = devm_platform_ioremap_resource(pdev, 0); > >>> if (!vtg->regs) { > >>> DRM_ERROR("failed to remap I/O memory\n"); > >>> return -ENOMEM; > >>> > >> > >