2021-06-24 08:50:06

by Alexandru Ardelean

[permalink] [raw]
Subject: [PATCH] clk: tegra: clk-tegra124-dfll-fcpu: don't use devm functions for regulator

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 <[email protected]>
---
drivers/clk/tegra/clk-tegra124-dfll-fcpu.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

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


2021-06-24 11:56:29

by Thierry Reding

[permalink] [raw]
Subject: Re: [PATCH] clk: tegra: clk-tegra124-dfll-fcpu: don't use devm functions for regulator

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 <[email protected]>
> ---
> drivers/clk/tegra/clk-tegra124-dfll-fcpu.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)

Indeed, this seems unnecessary:

Reviewed-by: Thierry Reding <[email protected]>

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


Attachments:
(No filename) (1.11 kB)
signature.asc (849.00 B)
Download all attachments

2021-06-25 23:25:33

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH] clk: tegra: clk-tegra124-dfll-fcpu: don't use devm functions for regulator

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 <[email protected]>
> > ---
> > drivers/clk/tegra/clk-tegra124-dfll-fcpu.c | 4 ++--
> > 1 file changed, 2 insertions(+), 2 deletions(-)
>
> Indeed, this seems unnecessary:
>
> Reviewed-by: Thierry Reding <[email protected]>
>
> 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.

2021-06-25 23:26:35

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH] clk: tegra: clk-tegra124-dfll-fcpu: don't use devm functions for regulator

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 <[email protected]>
> ---

Applied to clk-next