On Fri, Oct 20, 2017 at 04:51:24PM +0100, Jon Hunter wrote: > Hi Philipp, > > On 19/10/17 16:17, Philipp Zabel wrote: > > Hi Jon, Thierry, > > > > On Wed, 2017-07-19 at 17:59 +0200, Philipp Zabel wrote: > >> From: Vivek Gautam <vivek.gautam@xxxxxxxxxxxxxx> > >> > >> Make use of of_reset_control_array_get_exclusive() to manage > >> an array of reset controllers available with the device. > >> > >> Cc: Jon Hunter <jonathanh@xxxxxxxxxx> > >> Cc: Thierry Reding <treding@xxxxxxxxxx> > >> Signed-off-by: Vivek Gautam <vivek.gautam@xxxxxxxxxxxxxx> > >> [p.zabel@xxxxxxxxxxxxxx: switch to hidden reset control array] > >> Signed-off-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx> > > > > will you pick this up now that the prerequisite patch 1 is contained in > > master? > > Please let me know if there are any issues with this patch. > > > > regards > > Philipp > > > >> --- > >> No changes since v6. > >> --- > >> drivers/soc/tegra/pmc.c | 82 ++++++++++++------------------------------------- > >> 1 file changed, 20 insertions(+), 62 deletions(-) > >> > >> diff --git a/drivers/soc/tegra/pmc.c b/drivers/soc/tegra/pmc.c > >> index e233dd5dcab3d..749b218147a19 100644 > >> --- a/drivers/soc/tegra/pmc.c > >> +++ b/drivers/soc/tegra/pmc.c > >> @@ -124,8 +124,7 @@ 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 tegra_io_pad_soc { > >> @@ -348,32 +347,14 @@ static int tegra_powergate_enable_clocks(struct tegra_powergate *pg) > >> return err; > >> } > >> > >> -static int tegra_powergate_reset_assert(struct tegra_powergate *pg) > >> +static inline int tegra_powergate_reset_assert(struct tegra_powergate *pg) > >> { > >> - unsigned int i; > >> - int err; > >> - > >> - for (i = 0; i < pg->num_resets; i++) { > >> - err = reset_control_assert(pg->resets[i]); > >> - if (err) > >> - return err; > >> - } > >> - > >> - return 0; > >> + return reset_control_assert(pg->reset); > >> } > >> > >> -static int tegra_powergate_reset_deassert(struct tegra_powergate *pg) > >> +static inline int tegra_powergate_reset_deassert(struct tegra_powergate *pg) > >> { > >> - unsigned int i; > >> - int err; > >> - > >> - for (i = 0; i < pg->num_resets; i++) { > >> - err = reset_control_deassert(pg->resets[i]); > >> - if (err) > >> - return err; > >> - } > >> - > >> - return 0; > >> + return reset_control_deassert(pg->reset); > >> } > > Nit-pick ... I think we should just get rid of this inline functions now > and just call reset_control_assert/deassert() where these are used. > [...] > > Otherwise ... > > Acked-by: Jon Hunter <jonathanh@xxxxxxxxxx> > > Thierry has just sent out his pull requests for v4.15 so we may have > missed this release :-( Thanks, I'll drop the inline functions and send a new version, then. regards Philipp -- To unsubscribe from this list: send the line "unsubscribe linux-tegra" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html