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

Anusha Srivatsa asrivats at redhat.com
Mon Mar 3 17:29:19 UTC 2025


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.

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/20250303/dd5992bf/attachment-0001.htm>


More information about the dri-devel mailing list