diff mbox series

clk: tegra: clk-tegra124-dfll-fcpu: don't use devm functions for regulator

Message ID 20210624084737.42336-1-aardelean@deviqon.com
State Accepted
Headers show
Series clk: tegra: clk-tegra124-dfll-fcpu: don't use devm functions for regulator | expand

Commit Message

Alexandru Ardelean June 24, 2021, 8:47 a.m. UTC
The purpose of the device-managed functions is to bind the life-time of an
object to that of a parent device object.

This is not the case for the 'vdd-cpu' regulator in this driver. A
reference is obtained via devm_regulator_get() and immediately released
with devm_regulator_put().

In this case, the usage of devm_ functions is slightly excessive, as the
un-managed versions of these functions is a little cleaner (and slightly
more economical in terms of allocation).

This change converts the devm_regulator_{get,put}() to
regulator_{get,put}() in the get_alignment_from_regulator() function of
this driver.

Signed-off-by: Alexandru Ardelean <aardelean@deviqon.com>
---
 drivers/clk/tegra/clk-tegra124-dfll-fcpu.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Thierry Reding June 24, 2021, 11:57 a.m. UTC | #1
On Thu, Jun 24, 2021 at 11:47:37AM +0300, Alexandru Ardelean wrote:
> The purpose of the device-managed functions is to bind the life-time of an
> object to that of a parent device object.
> 
> This is not the case for the 'vdd-cpu' regulator in this driver. A
> reference is obtained via devm_regulator_get() and immediately released
> with devm_regulator_put().
> 
> In this case, the usage of devm_ functions is slightly excessive, as the
> un-managed versions of these functions is a little cleaner (and slightly
> more economical in terms of allocation).
> 
> This change converts the devm_regulator_{get,put}() to
> regulator_{get,put}() in the get_alignment_from_regulator() function of
> this driver.
> 
> Signed-off-by: Alexandru Ardelean <aardelean@deviqon.com>
> ---
>  drivers/clk/tegra/clk-tegra124-dfll-fcpu.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

Indeed, this seems unnecessary:

Reviewed-by: Thierry Reding <treding@nvidia.com>

Mike, Stephen: do you want to pick this up directly or would you prefer
if I collected this into a clk branch for the next cycle?

Thierry
Stephen Boyd June 25, 2021, 11:23 p.m. UTC | #2
Quoting Thierry Reding (2021-06-24 04:57:08)
> On Thu, Jun 24, 2021 at 11:47:37AM +0300, Alexandru Ardelean wrote:
> > The purpose of the device-managed functions is to bind the life-time of an
> > object to that of a parent device object.
> > 
> > This is not the case for the 'vdd-cpu' regulator in this driver. A
> > reference is obtained via devm_regulator_get() and immediately released
> > with devm_regulator_put().
> > 
> > In this case, the usage of devm_ functions is slightly excessive, as the
> > un-managed versions of these functions is a little cleaner (and slightly
> > more economical in terms of allocation).
> > 
> > This change converts the devm_regulator_{get,put}() to
> > regulator_{get,put}() in the get_alignment_from_regulator() function of
> > this driver.
> > 
> > Signed-off-by: Alexandru Ardelean <aardelean@deviqon.com>
> > ---
> >  drivers/clk/tegra/clk-tegra124-dfll-fcpu.c | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> Indeed, this seems unnecessary:
> 
> Reviewed-by: Thierry Reding <treding@nvidia.com>
> 
> Mike, Stephen: do you want to pick this up directly or would you prefer
> if I collected this into a clk branch for the next cycle?
> 

No worries. I got it.
Stephen Boyd June 25, 2021, 11:23 p.m. UTC | #3
Quoting Alexandru Ardelean (2021-06-24 01:47:37)
> The purpose of the device-managed functions is to bind the life-time of an
> object to that of a parent device object.
> 
> This is not the case for the 'vdd-cpu' regulator in this driver. A
> reference is obtained via devm_regulator_get() and immediately released
> with devm_regulator_put().
> 
> In this case, the usage of devm_ functions is slightly excessive, as the
> un-managed versions of these functions is a little cleaner (and slightly
> more economical in terms of allocation).
> 
> This change converts the devm_regulator_{get,put}() to
> regulator_{get,put}() in the get_alignment_from_regulator() function of
> this driver.
> 
> Signed-off-by: Alexandru Ardelean <aardelean@deviqon.com>
> ---

Applied to clk-next
diff mbox series

Patch

diff --git a/drivers/clk/tegra/clk-tegra124-dfll-fcpu.c b/drivers/clk/tegra/clk-tegra124-dfll-fcpu.c
index 2ac2679d696d..5e339ad0a97c 100644
--- a/drivers/clk/tegra/clk-tegra124-dfll-fcpu.c
+++ b/drivers/clk/tegra/clk-tegra124-dfll-fcpu.c
@@ -537,7 +537,7 @@  static void get_alignment_from_dt(struct device *dev,
 static int get_alignment_from_regulator(struct device *dev,
 					 struct rail_alignment *align)
 {
-	struct regulator *reg = devm_regulator_get(dev, "vdd-cpu");
+	struct regulator *reg = regulator_get(dev, "vdd-cpu");
 
 	if (IS_ERR(reg))
 		return PTR_ERR(reg);
@@ -545,7 +545,7 @@  static int get_alignment_from_regulator(struct device *dev,
 	align->offset_uv = regulator_list_voltage(reg, 0);
 	align->step_uv = regulator_get_linear_step(reg);
 
-	devm_regulator_put(reg);
+	regulator_put(reg);
 
 	return 0;
 }