diff mbox series

[2/2] soc/tegra: pmc: Use devm_clk_notifier_register()

Message ID 20230609144225.3898934-2-thierry.reding@gmail.com (mailing list archive)
State New, archived
Headers show
Series [1/2] soc/tegra: pmc: Simplify debugfs initialization | expand

Commit Message

Thierry Reding June 9, 2023, 2:42 p.m. UTC
From: Thierry Reding <treding@nvidia.com>

Move to the device-managed version of clk_notifier_register() to remove
the need for manual cleanup. This fixes a potential issue where the
clock notifier would stick around after the driver fails to probe at a
later point.

Signed-off-by: Thierry Reding <treding@nvidia.com>
---
 drivers/soc/tegra/pmc.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Jon Hunter June 9, 2023, 2:52 p.m. UTC | #1
On 09/06/2023 15:42, Thierry Reding wrote:
> From: Thierry Reding <treding@nvidia.com>
> 
> Move to the device-managed version of clk_notifier_register() to remove
> the need for manual cleanup. This fixes a potential issue where the
> clock notifier would stick around after the driver fails to probe at a
> later point.
> 
> Signed-off-by: Thierry Reding <treding@nvidia.com>
> ---
>   drivers/soc/tegra/pmc.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c
> index 438c30c5d473..162f52456f65 100644
> --- a/drivers/soc/tegra/pmc.c
> +++ b/drivers/soc/tegra/pmc.c
> @@ -2992,7 +2992,8 @@ static int tegra_pmc_probe(struct platform_device *pdev)
>   	 */
>   	if (pmc->clk) {
>   		pmc->clk_nb.notifier_call = tegra_pmc_clk_notify_cb;
> -		err = clk_notifier_register(pmc->clk, &pmc->clk_nb);
> +		err = devm_clk_notifier_register(&pdev->dev, pmc->clk,
> +						 &pmc->clk_nb);
>   		if (err) {
>   			dev_err(&pdev->dev,
>   				"failed to register clk notifier\n");
> @@ -3052,7 +3053,6 @@ static int tegra_pmc_probe(struct platform_device *pdev)
>   cleanup_sysfs:
>   	device_remove_file(&pdev->dev, &dev_attr_reset_reason);
>   	device_remove_file(&pdev->dev, &dev_attr_reset_level);
> -	clk_notifier_unregister(pmc->clk, &pmc->clk_nb);
>   
>   	return err;
>   }


Reviewed-by: Jon Hunter <jonathanh@nvidia.com>

Thanks!
Jon
diff mbox series

Patch

diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c
index 438c30c5d473..162f52456f65 100644
--- a/drivers/soc/tegra/pmc.c
+++ b/drivers/soc/tegra/pmc.c
@@ -2992,7 +2992,8 @@  static int tegra_pmc_probe(struct platform_device *pdev)
 	 */
 	if (pmc->clk) {
 		pmc->clk_nb.notifier_call = tegra_pmc_clk_notify_cb;
-		err = clk_notifier_register(pmc->clk, &pmc->clk_nb);
+		err = devm_clk_notifier_register(&pdev->dev, pmc->clk,
+						 &pmc->clk_nb);
 		if (err) {
 			dev_err(&pdev->dev,
 				"failed to register clk notifier\n");
@@ -3052,7 +3053,6 @@  static int tegra_pmc_probe(struct platform_device *pdev)
 cleanup_sysfs:
 	device_remove_file(&pdev->dev, &dev_attr_reset_reason);
 	device_remove_file(&pdev->dev, &dev_attr_reset_level);
-	clk_notifier_unregister(pmc->clk, &pmc->clk_nb);
 
 	return err;
 }