Re: [PATCH RESEND 07/12] drm/sti: move to devm_platform_ioremap_resource() usage
From: Raphael Gallais-Pou
Date: Wed Mar 05 2025 - 04:00:19 EST
On 3/3/25 18:29, Anusha Srivatsa wrote:
> On Wed, Feb 26, 2025 at 5:19 AM Raphael Gallais-Pou <
> raphael.gallais-pou@xxxxxxxxxxx> 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
>
> Anusha
>
>
>> Regards,
>> Raphaël
>>
>>> Cc: Raphael Gallais-Pou <raphael.gallais-pou@xxxxxxxxxxx>
>>> Cc: Alain Volmat <alain.volmat@xxxxxxxxxxx>
>>> Reviewed-by: Maxime Ripard <mripard@xxxxxxxxxx>
>>> Acked-by: Raphael Gallais-Pou <rgallaispou@xxxxxxxxx>
>>> Signed-off-by: Anusha Srivatsa <asrivats@xxxxxxxxxx>
>>> ---
>>> 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;
>>>
>>