All of lore.kernel.org
 help / color / mirror / Atom feed
From: Kang Chen <void0red@hust.edu.cn>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: amitk@kernel.org, angelogioacchino.delregno@collabora.com,
	bchihi@baylibre.com, daniel@makrotopia.org, dzm91@hust.edu.cn,
	error27@gmail.com, henry.yen@mediatek.com,
	hust-os-kernel-patches@googlegroups.com,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org,
	linux-pm@vger.kernel.org, matthias.bgg@gmail.com,
	rafael@kernel.org, rdunlap@infradead.org, rui.zhang@intel.com,
	void0red@gmail.com
Subject: Re: [PATCH v3 2/2] thermal: mediatek: change clk_prepare_enable to devm_clk_get_enabled in mtk_thermal_probe
Date: Mon, 17 Apr 2023 18:15:02 +0800	[thread overview]
Message-ID: <6108982E-A3DC-4B7E-829E-20BBAC9C503F@hust.edu.cn> (raw)
In-Reply-To: <cfb7743b-03b0-96c4-fcc3-7095694f6fbb@linaro.org>



> 2023年4月17日 17:52,Daniel Lezcano <daniel.lezcano@linaro.org> 写道:
> 
> 
> Hi,
> 
> this patch does not apply:
> 
> Analyzing 9 messages in the thread
> Will use the latest revision: v3
> You can pick other revisions using the -vN flag
> Checking attestation on all messages, may take a moment...
> ---
>  [PATCH v3 2/2] thermal: mediatek: change clk_prepare_enable to devm_clk_get_enabled in mtk_thermal_probe
>    + Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
>    + Link: https://lore.kernel.org/r/20230411063531.3976354-2-void0red@hust.edu.cn
> ---
> Total patches: 1 (cherrypicked: 2)
> ---
> Link: https://lore.kernel.org/r/20230411063531.3976354-1-void0red@hust.edu.cn
> Base: not specified
> Applying: thermal: mediatek: change clk_prepare_enable to devm_clk_get_enabled in mtk_thermal_probe
> error: patch failed: drivers/thermal/mediatek/auxadc_thermal.c:1182
> error: drivers/thermal/mediatek/auxadc_thermal.c: patch does not apply
> Patch failed at 0001 thermal: mediatek: change clk_prepare_enable to devm_clk_get_enabled in mtk_thermal_probe
Could you show me your work tree? I can apply it on mainline-6.3-rc7...
> hint: Use 'git am --show-current-patch=diff' to see the failed patch
> When you have resolved this problem, run "git am --continue".
> If you prefer to skip this patch, run "git am --skip" instead.
> To restore the original branch and stop patching, run "git am --abort".
> 
> 
> 
> On 15/04/2023 09:14, void0red@hust.edu.cn wrote:
>>> -----Original Messages-----
>>> From: "Kang Chen" <void0red@hust.edu.cn>
>>> Sent Time: 2023-04-11 14:35:31 (Tuesday)
>>> To: daniel.lezcano@linaro.org
>>> Cc: amitk@kernel.org, angelogioacchino.delregno@collabora.com, bchihi@baylibre.com, daniel@makrotopia.org, dzm91@hust.edu.cn, error27@gmail.com, henry.yen@mediatek.com, hust-os-kernel-patches@googlegroups.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-pm@vger.kernel.org, matthias.bgg@gmail.com, rafael@kernel.org, rdunlap@infradead.org, rui.zhang@intel.com, void0red@gmail.com, void0red@hust.edu.cn
>>> Subject: [PATCH v3 2/2] thermal: mediatek: change clk_prepare_enable to devm_clk_get_enabled in mtk_thermal_probe
>>> 
>>> use devm_clk_get_enabled to do automatic resource management.
>>> Meanwhile, remove error handling labels in the probe function and
>>> the whole remove function.
>>> 
>>> Signed-off-by: Kang Chen <void0red@hust.edu.cn>
>>> Reviewed-by: Dongliang Mu <dzm91@hust.edu.cn>
>>> ---
>>> v3 -> v2: remove some useles func calls.
>>> v2 -> v1: init
>>> 
>>> Notice the devm_clk_get_enabled do the clk_get and clk_prepare_enable
>>> at the same time.
>>> I'm not sure if this has any side effects in initialization.
>>> 
>>>  drivers/thermal/mediatek/auxadc_thermal.c | 48 +++++------------------
>>>  1 file changed, 10 insertions(+), 38 deletions(-)
>>> 
>>> diff --git a/drivers/thermal/mediatek/auxadc_thermal.c b/drivers/thermal/mediatek/auxadc_thermal.c
>>> index 3372f7c29626..995837ce3ea2 100644
>>> --- a/drivers/thermal/mediatek/auxadc_thermal.c
>>> +++ b/drivers/thermal/mediatek/auxadc_thermal.c
>>> @@ -1116,14 +1116,6 @@ static int mtk_thermal_probe(struct platform_device *pdev)
>>>    	mt->conf = of_device_get_match_data(&pdev->dev);
>>>  -	mt->clk_peri_therm = devm_clk_get(&pdev->dev, "therm");
>>> -	if (IS_ERR(mt->clk_peri_therm))
>>> -		return PTR_ERR(mt->clk_peri_therm);
>>> -
>>> -	mt->clk_auxadc = devm_clk_get(&pdev->dev, "auxadc");
>>> -	if (IS_ERR(mt->clk_auxadc))
>>> -		return PTR_ERR(mt->clk_auxadc);
>>> -
>>>  	mt->thermal_base = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
>>>  	if (IS_ERR(mt->thermal_base))
>>>  		return PTR_ERR(mt->thermal_base);
>>> @@ -1182,16 +1174,16 @@ static int mtk_thermal_probe(struct platform_device *pdev)
>>>  	if (ret)
>>>  		return ret;
>>>  -	ret = clk_prepare_enable(mt->clk_auxadc);
>>> -	if (ret) {
>>> -		dev_err(&pdev->dev, "Can't enable auxadc clk: %d\n", ret);
>>> -		return ret;
>>> +	mt->clk_auxadc = devm_clk_get_enabled(&pdev->dev, "auxadc");
>>> +	if (IS_ERR(mt->clk_auxadc)) {
>>> +		dev_err(&pdev->dev, "Can't enable auxadc clk: %d\n", mt->clk_auxadc);
>>> +		return PTR_ERR(mt->clk_auxadc);
>>>  	}
>>>  -	ret = clk_prepare_enable(mt->clk_peri_therm);
>>> -	if (ret) {
>>> -		dev_err(&pdev->dev, "Can't enable peri clk: %d\n", ret);
>>> -		goto err_disable_clk_auxadc;
>>> +	mt->clk_peri_therm = devm_clk_get_enabled(&pdev->dev, "therm");
>>> +	if (IS_ERR(mt->clk_peri_therm)) {
>>> +		dev_err(&pdev->dev, "Can't enable peri clk: %d\n", mt->clk_peri_therm);
>>> +		return PTR_ERR(mt->clk_peri_therm);
>>>  	}
>>>    	if (mt->conf->version != MTK_THERMAL_V1) {
>>> @@ -1215,38 +1207,18 @@ static int mtk_thermal_probe(struct platform_device *pdev)
>>>    	tzdev = devm_thermal_of_zone_register(&pdev->dev, 0, mt,
>>>  					      &mtk_thermal_ops);
>>> -	if (IS_ERR(tzdev)) {
>>> -		ret = PTR_ERR(tzdev);
>>> -		goto err_disable_clk_peri_therm;
>>> -	}
>>> +	if (IS_ERR(tzdev))
>>> +		return PTR_ERR(tzdev);
>>>    	ret = devm_thermal_add_hwmon_sysfs(tzdev);
>>>  	if (ret)
>>>  		dev_warn(&pdev->dev, "error in thermal_add_hwmon_sysfs");
>>>    	return 0;
>>> -
>>> -err_disable_clk_peri_therm:
>>> -	clk_disable_unprepare(mt->clk_peri_therm);
>>> -err_disable_clk_auxadc:
>>> -	clk_disable_unprepare(mt->clk_auxadc);
>>> -
>>> -	return ret;
>>> -}
>>> -
>>> -static int mtk_thermal_remove(struct platform_device *pdev)
>>> -{
>>> -	struct mtk_thermal *mt = platform_get_drvdata(pdev);
>>> -
>>> -	clk_disable_unprepare(mt->clk_peri_therm);
>>> -	clk_disable_unprepare(mt->clk_auxadc);
>>> -
>>> -	return 0;
>>>  }
>>>    static struct platform_driver mtk_thermal_driver = {
>>>  	.probe = mtk_thermal_probe,
>>> -	.remove = mtk_thermal_remove,
>>>  	.driver = {
>>>  		.name = "mtk-thermal",
>>>  		.of_match_table = mtk_thermal_of_match,
>>> -- 
>>> 2.34.1
>> ping?
> 
> -- 
> <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
> 
> Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
> <http://twitter.com/#!/linaroorg> Twitter |
> <http://www.linaro.org/linaro-blog/> Blog



WARNING: multiple messages have this Message-ID (diff)
From: Kang Chen <void0red@hust.edu.cn>
To: Daniel Lezcano <daniel.lezcano@linaro.org>
Cc: amitk@kernel.org, angelogioacchino.delregno@collabora.com,
	bchihi@baylibre.com, daniel@makrotopia.org, dzm91@hust.edu.cn,
	error27@gmail.com, henry.yen@mediatek.com,
	hust-os-kernel-patches@googlegroups.com,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org,
	linux-pm@vger.kernel.org, matthias.bgg@gmail.com,
	rafael@kernel.org, rdunlap@infradead.org, rui.zhang@intel.com,
	void0red@gmail.com
Subject: Re: [PATCH v3 2/2] thermal: mediatek: change clk_prepare_enable to devm_clk_get_enabled in mtk_thermal_probe
Date: Mon, 17 Apr 2023 18:15:02 +0800	[thread overview]
Message-ID: <6108982E-A3DC-4B7E-829E-20BBAC9C503F@hust.edu.cn> (raw)
In-Reply-To: <cfb7743b-03b0-96c4-fcc3-7095694f6fbb@linaro.org>



> 2023年4月17日 17:52,Daniel Lezcano <daniel.lezcano@linaro.org> 写道:
> 
> 
> Hi,
> 
> this patch does not apply:
> 
> Analyzing 9 messages in the thread
> Will use the latest revision: v3
> You can pick other revisions using the -vN flag
> Checking attestation on all messages, may take a moment...
> ---
>  [PATCH v3 2/2] thermal: mediatek: change clk_prepare_enable to devm_clk_get_enabled in mtk_thermal_probe
>    + Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
>    + Link: https://lore.kernel.org/r/20230411063531.3976354-2-void0red@hust.edu.cn
> ---
> Total patches: 1 (cherrypicked: 2)
> ---
> Link: https://lore.kernel.org/r/20230411063531.3976354-1-void0red@hust.edu.cn
> Base: not specified
> Applying: thermal: mediatek: change clk_prepare_enable to devm_clk_get_enabled in mtk_thermal_probe
> error: patch failed: drivers/thermal/mediatek/auxadc_thermal.c:1182
> error: drivers/thermal/mediatek/auxadc_thermal.c: patch does not apply
> Patch failed at 0001 thermal: mediatek: change clk_prepare_enable to devm_clk_get_enabled in mtk_thermal_probe
Could you show me your work tree? I can apply it on mainline-6.3-rc7...
> hint: Use 'git am --show-current-patch=diff' to see the failed patch
> When you have resolved this problem, run "git am --continue".
> If you prefer to skip this patch, run "git am --skip" instead.
> To restore the original branch and stop patching, run "git am --abort".
> 
> 
> 
> On 15/04/2023 09:14, void0red@hust.edu.cn wrote:
>>> -----Original Messages-----
>>> From: "Kang Chen" <void0red@hust.edu.cn>
>>> Sent Time: 2023-04-11 14:35:31 (Tuesday)
>>> To: daniel.lezcano@linaro.org
>>> Cc: amitk@kernel.org, angelogioacchino.delregno@collabora.com, bchihi@baylibre.com, daniel@makrotopia.org, dzm91@hust.edu.cn, error27@gmail.com, henry.yen@mediatek.com, hust-os-kernel-patches@googlegroups.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-mediatek@lists.infradead.org, linux-pm@vger.kernel.org, matthias.bgg@gmail.com, rafael@kernel.org, rdunlap@infradead.org, rui.zhang@intel.com, void0red@gmail.com, void0red@hust.edu.cn
>>> Subject: [PATCH v3 2/2] thermal: mediatek: change clk_prepare_enable to devm_clk_get_enabled in mtk_thermal_probe
>>> 
>>> use devm_clk_get_enabled to do automatic resource management.
>>> Meanwhile, remove error handling labels in the probe function and
>>> the whole remove function.
>>> 
>>> Signed-off-by: Kang Chen <void0red@hust.edu.cn>
>>> Reviewed-by: Dongliang Mu <dzm91@hust.edu.cn>
>>> ---
>>> v3 -> v2: remove some useles func calls.
>>> v2 -> v1: init
>>> 
>>> Notice the devm_clk_get_enabled do the clk_get and clk_prepare_enable
>>> at the same time.
>>> I'm not sure if this has any side effects in initialization.
>>> 
>>>  drivers/thermal/mediatek/auxadc_thermal.c | 48 +++++------------------
>>>  1 file changed, 10 insertions(+), 38 deletions(-)
>>> 
>>> diff --git a/drivers/thermal/mediatek/auxadc_thermal.c b/drivers/thermal/mediatek/auxadc_thermal.c
>>> index 3372f7c29626..995837ce3ea2 100644
>>> --- a/drivers/thermal/mediatek/auxadc_thermal.c
>>> +++ b/drivers/thermal/mediatek/auxadc_thermal.c
>>> @@ -1116,14 +1116,6 @@ static int mtk_thermal_probe(struct platform_device *pdev)
>>>    	mt->conf = of_device_get_match_data(&pdev->dev);
>>>  -	mt->clk_peri_therm = devm_clk_get(&pdev->dev, "therm");
>>> -	if (IS_ERR(mt->clk_peri_therm))
>>> -		return PTR_ERR(mt->clk_peri_therm);
>>> -
>>> -	mt->clk_auxadc = devm_clk_get(&pdev->dev, "auxadc");
>>> -	if (IS_ERR(mt->clk_auxadc))
>>> -		return PTR_ERR(mt->clk_auxadc);
>>> -
>>>  	mt->thermal_base = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
>>>  	if (IS_ERR(mt->thermal_base))
>>>  		return PTR_ERR(mt->thermal_base);
>>> @@ -1182,16 +1174,16 @@ static int mtk_thermal_probe(struct platform_device *pdev)
>>>  	if (ret)
>>>  		return ret;
>>>  -	ret = clk_prepare_enable(mt->clk_auxadc);
>>> -	if (ret) {
>>> -		dev_err(&pdev->dev, "Can't enable auxadc clk: %d\n", ret);
>>> -		return ret;
>>> +	mt->clk_auxadc = devm_clk_get_enabled(&pdev->dev, "auxadc");
>>> +	if (IS_ERR(mt->clk_auxadc)) {
>>> +		dev_err(&pdev->dev, "Can't enable auxadc clk: %d\n", mt->clk_auxadc);
>>> +		return PTR_ERR(mt->clk_auxadc);
>>>  	}
>>>  -	ret = clk_prepare_enable(mt->clk_peri_therm);
>>> -	if (ret) {
>>> -		dev_err(&pdev->dev, "Can't enable peri clk: %d\n", ret);
>>> -		goto err_disable_clk_auxadc;
>>> +	mt->clk_peri_therm = devm_clk_get_enabled(&pdev->dev, "therm");
>>> +	if (IS_ERR(mt->clk_peri_therm)) {
>>> +		dev_err(&pdev->dev, "Can't enable peri clk: %d\n", mt->clk_peri_therm);
>>> +		return PTR_ERR(mt->clk_peri_therm);
>>>  	}
>>>    	if (mt->conf->version != MTK_THERMAL_V1) {
>>> @@ -1215,38 +1207,18 @@ static int mtk_thermal_probe(struct platform_device *pdev)
>>>    	tzdev = devm_thermal_of_zone_register(&pdev->dev, 0, mt,
>>>  					      &mtk_thermal_ops);
>>> -	if (IS_ERR(tzdev)) {
>>> -		ret = PTR_ERR(tzdev);
>>> -		goto err_disable_clk_peri_therm;
>>> -	}
>>> +	if (IS_ERR(tzdev))
>>> +		return PTR_ERR(tzdev);
>>>    	ret = devm_thermal_add_hwmon_sysfs(tzdev);
>>>  	if (ret)
>>>  		dev_warn(&pdev->dev, "error in thermal_add_hwmon_sysfs");
>>>    	return 0;
>>> -
>>> -err_disable_clk_peri_therm:
>>> -	clk_disable_unprepare(mt->clk_peri_therm);
>>> -err_disable_clk_auxadc:
>>> -	clk_disable_unprepare(mt->clk_auxadc);
>>> -
>>> -	return ret;
>>> -}
>>> -
>>> -static int mtk_thermal_remove(struct platform_device *pdev)
>>> -{
>>> -	struct mtk_thermal *mt = platform_get_drvdata(pdev);
>>> -
>>> -	clk_disable_unprepare(mt->clk_peri_therm);
>>> -	clk_disable_unprepare(mt->clk_auxadc);
>>> -
>>> -	return 0;
>>>  }
>>>    static struct platform_driver mtk_thermal_driver = {
>>>  	.probe = mtk_thermal_probe,
>>> -	.remove = mtk_thermal_remove,
>>>  	.driver = {
>>>  		.name = "mtk-thermal",
>>>  		.of_match_table = mtk_thermal_of_match,
>>> -- 
>>> 2.34.1
>> ping?
> 
> -- 
> <http://www.linaro.org/> Linaro.org │ Open source software for ARM SoCs
> 
> Follow Linaro:  <http://www.facebook.com/pages/Linaro> Facebook |
> <http://twitter.com/#!/linaroorg> Twitter |
> <http://www.linaro.org/linaro-blog/> Blog


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-04-17 10:18 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-04-03 10:38 [PATCH] drivers: thermal: mediatek: fix of_iomap leak in mtk_thermal_probe Kang Chen
2023-04-03 10:38 ` Kang Chen
2023-04-03 11:32 ` Daniel Lezcano
2023-04-03 11:32   ` Daniel Lezcano
2023-04-03 16:46   ` [PATCH v2 1/2] thermal: mediatek: use devm_of_iomap to avoid resource " Kang Chen
2023-04-03 16:46     ` Kang Chen
2023-04-03 16:46     ` [PATCH v2 2/2] thermal: mediatek: change clk_prepare_enable to devm_clk_get_enabled " Kang Chen
2023-04-03 16:46       ` Kang Chen
2023-04-10  3:46       ` 陈康
2023-04-10  3:46         ` 陈康
2023-04-10 19:42         ` Daniel Lezcano
2023-04-10 19:42           ` Daniel Lezcano
2023-04-11  6:35           ` [PATCH v3 1/2] thermal: mediatek: use devm_of_iomap to avoid resource leak " Kang Chen
2023-04-11  6:35             ` Kang Chen
2023-04-11  6:35             ` [PATCH v3 2/2] thermal: mediatek: change clk_prepare_enable to devm_clk_get_enabled " Kang Chen
2023-04-11  6:35               ` Kang Chen
2023-04-15  7:14               ` void0red
2023-04-15  7:14                 ` void0red
2023-04-17  9:52                 ` Daniel Lezcano
2023-04-17  9:52                   ` Daniel Lezcano
2023-04-17 10:15                   ` Kang Chen [this message]
2023-04-17 10:15                     ` Kang Chen
2023-04-17 10:43                     ` Dan Carpenter
2023-04-17 10:43                       ` Dan Carpenter
2023-04-17 12:55                       ` [PATCH v4 1/2] thermal: mediatek: use devm_of_iomap to avoid resource leak " Kang Chen
2023-04-17 12:55                         ` Kang Chen
2023-04-17 12:55                         ` [PATCH v4 2/2] thermal: mediatek: change clk_prepare_enable to devm_clk_get_enabled " Kang Chen
2023-04-17 12:55                           ` Kang Chen
2023-04-18  9:25                         ` [PATCH v4 1/2] thermal: mediatek: use devm_of_iomap to avoid resource leak " AngeloGioacchino Del Regno
2023-04-18  9:25                           ` AngeloGioacchino Del Regno

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=6108982E-A3DC-4B7E-829E-20BBAC9C503F@hust.edu.cn \
    --to=void0red@hust.edu.cn \
    --cc=amitk@kernel.org \
    --cc=angelogioacchino.delregno@collabora.com \
    --cc=bchihi@baylibre.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=daniel@makrotopia.org \
    --cc=dzm91@hust.edu.cn \
    --cc=error27@gmail.com \
    --cc=henry.yen@mediatek.com \
    --cc=hust-os-kernel-patches@googlegroups.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=matthias.bgg@gmail.com \
    --cc=rafael@kernel.org \
    --cc=rdunlap@infradead.org \
    --cc=rui.zhang@intel.com \
    --cc=void0red@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.