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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




On 09/06/2023 15:42, Thierry Reding wrote:
From: Thierry Reding <treding@xxxxxxxxxx>

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@xxxxxxxxxx>
---
  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@xxxxxxxxxx>

Thanks!
Jon

--
nvpublic



[Index of Archives]     [ARM Kernel]     [Linux ARM]     [Linux ARM MSM]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux