[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20171023092058.bdtixzyskncrocwl@pengutronix.de>
Date: Mon, 23 Oct 2017 11:20:58 +0200
From: Philipp Zabel <pza@...gutronix.de>
To: Jon Hunter <jonathanh@...dia.com>
Cc: linux-kernel@...r.kernel.org,
Vivek Gautam <vivek.gautam@...eaurora.org>,
Felipe Balbi <balbi@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Thierry Reding <treding@...dia.com>,
linux-tegra@...r.kernel.org, linux-usb@...r.kernel.org,
linux-arm-msm@...r.kernel.org, kernel@...gutronix.de
Subject: Re: [PATCH v7 4/4] soc/tegra: pmc: Use the new reset APIs to manage
reset controllers
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@...eaurora.org>
> >>
> >> Make use of of_reset_control_array_get_exclusive() to manage
> >> an array of reset controllers available with the device.
> >>
> >> Cc: Jon Hunter <jonathanh@...dia.com>
> >> Cc: Thierry Reding <treding@...dia.com>
> >> Signed-off-by: Vivek Gautam <vivek.gautam@...eaurora.org>
> >> [p.zabel@...gutronix.de: switch to hidden reset control array]
> >> Signed-off-by: Philipp Zabel <p.zabel@...gutronix.de>
> >
> > 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@...dia.com>
>
> 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
Powered by blists - more mailing lists