Re: [PATCH v4 4/4] soc/tegra: pmc: Use the new reset APIs to manage reset controllers

From: Philipp Zabel
Date: Thu Jun 01 2017 - 12:44:15 EST


Hi,

On Wed, 2017-05-31 at 15:23 +0100, Jon Hunter wrote:
> On 22/05/17 12:23, Vivek Gautam wrote:
> > Make use of reset_control_array_*() set of APIs to manage
> > an array of reset controllers available with the device.
> >
> > Cc: Jon Hunter <jonathanh@xxxxxxxxxx>
> > Cc: Thierry Reding <treding@xxxxxxxxxx>
> > Cc: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>
> > Signed-off-by: Vivek Gautam <vivek.gautam@xxxxxxxxxxxxxx>
> > ---
> > drivers/soc/tegra/pmc.c | 91 +++++++++++++++++--------------------------------
> > 1 file changed, 31 insertions(+), 60 deletions(-)
> >
> > diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c
> > index e233dd5dcab3..668f5d3d3635 100644
> > --- a/drivers/soc/tegra/pmc.c
> > +++ b/drivers/soc/tegra/pmc.c
> > @@ -124,8 +124,8 @@ struct tegra_powergate {
> > unsigned int id;
> > struct clk **clks;
> > unsigned int num_clks;
> > - struct reset_control **resets;
> > - unsigned int num_resets;
> > + struct reset_control *reset;
> > + struct reset_control_array *resets;
>
> It's a shame we can't avoid this additional reset pointer, but maybe
> there is no good alternative for now. So ...
>
> Acked-by: Jon Hunter <jonathanh@xxxxxxxxxx>
> Tested-by: Jon Hunter <jonathanh@xxxxxxxxxx>

Thanks. I don't see a big functional difference between a
reset_control_array and a reset_control, given that a single reset
control bit already controls multiple reset lines on some devices.

Maybe it would be preferable to let the reset_control_array_get
functions return a struct reset_control that hides the array.
I'll send a v5 to see if that would be sensible.

regards
Philipp