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 |
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 --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; }