[PATCH RESEND 07/12] drm/sti: move to devm_platform_ioremap_resource() usage

Anusha Srivatsa asrivats at redhat.com
Wed Mar 5 16:30:06 UTC 2025


On Wed, Mar 5, 2025 at 3:59 AM Raphael Gallais-Pou <
raphael.gallais-pou at 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-pou at 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-pou at foss.st.com>
> >>> Cc: Alain Volmat <alain.volmat at foss.st.com>
> >>> Reviewed-by: Maxime Ripard <mripard at kernel.org>
> >>> Acked-by: Raphael Gallais-Pou <rgallaispou at gmail.com>
> >>> Signed-off-by: Anusha Srivatsa <asrivats at 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;
> >>>
> >>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20250305/cc7e9a7a/attachment-0001.htm>


More information about the dri-devel mailing list