[PATCH] Revert "thermal/drivers/mediatek: Use devm_of_iomap to avoid resource leak in mtk_thermal_probe"
AngeloGioacchino Del Regno
angelogioacchino.delregno at collabora.com
Thu May 25 04:18:29 PDT 2023
Il 25/05/23 13:17, AngeloGioacchino Del Regno ha scritto:
> Il 25/05/23 13:14, Ricardo Cañuelo ha scritto:
>> This reverts commit f05c7b7d9ea9477fcc388476c6f4ade8c66d2d26.
>>
>> That change was causing a regression in the generic-adc-thermal-probed
>> bootrr test as reported in the kernelci-results list [1].
>> A proper rework will take longer, so revert it for now.
>>
>> [1] https://groups.io/g/kernelci-results/message/42660
>>
>> Signed-off-by: Ricardo Cañuelo <ricardo.canuelo at collabora.com>
>> Suggested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
>> ---
>
> Adding context: the rework would require us to "probably" change this
> iomap to getting regmap handle(s) and working with that, which is why
> that wouldn't be trivial.
>
> My apologies about initially misunderstanding the fact that
> devm_of_iomap() behaves in a different way compared to of_iomap().
>
> Ricardo, huge thanks for sending this revert.
>
> Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno at collabora.com>
>
>
Sorry for the double mail, you're missing the Fixes tag, as this should also
be scheduled for backporting; you can use the commit that you're reverting
as your Fixes tag.
>> drivers/thermal/mediatek/auxadc_thermal.c | 14 ++------------
>> 1 file changed, 2 insertions(+), 12 deletions(-)
>>
>> diff --git a/drivers/thermal/mediatek/auxadc_thermal.c
>> b/drivers/thermal/mediatek/auxadc_thermal.c
>> index 0b5528804bbd..f59d36de20a0 100644
>> --- a/drivers/thermal/mediatek/auxadc_thermal.c
>> +++ b/drivers/thermal/mediatek/auxadc_thermal.c
>> @@ -1222,12 +1222,7 @@ static int mtk_thermal_probe(struct platform_device *pdev)
>> return -ENODEV;
>> }
>> - auxadc_base = devm_of_iomap(&pdev->dev, auxadc, 0, NULL);
>> - if (IS_ERR(auxadc_base)) {
>> - of_node_put(auxadc);
>> - return PTR_ERR(auxadc_base);
>> - }
>> -
>> + auxadc_base = of_iomap(auxadc, 0);
>> auxadc_phys_base = of_get_phys_base(auxadc);
>> of_node_put(auxadc);
>> @@ -1243,12 +1238,7 @@ static int mtk_thermal_probe(struct platform_device *pdev)
>> return -ENODEV;
>> }
>> - apmixed_base = devm_of_iomap(&pdev->dev, apmixedsys, 0, NULL);
>> - if (IS_ERR(apmixed_base)) {
>> - of_node_put(apmixedsys);
>> - return PTR_ERR(apmixed_base);
>> - }
>> -
>> + apmixed_base = of_iomap(apmixedsys, 0);
>> apmixed_phys_base = of_get_phys_base(apmixedsys);
>> of_node_put(apmixedsys);
>
>
More information about the Linux-mediatek
mailing list