[PATCH] clk: ux500: clk-sysctrl: handle clocks with no parents
Fabio Baltieri
fabio.baltieri at linaro.org
Fri May 3 05:03:05 EDT 2013
On Fri, May 03, 2013 at 10:54:09AM +0200, Ulf Hansson wrote:
> On 3 May 2013 10:51, Ulf Hansson <ulf.hansson at linaro.org> wrote:
> > On 30 April 2013 14:45, Fabio Baltieri <fabio.baltieri at linaro.org> wrote:
> >> Fix clk_reg_sysctrl() to set main clock registers of new struct
> >> clk_sysctrl even if the registered clock has no parents.
> >>
> >> This fixes an issue where "ulpclk" was registered with all clk->reg_*
> >> fields uninitialized, causing a -EINVAL error from clk_prepare().
> >>
> >> Cc: Ulf Hansson <ulf.hansson at linaro.org>
> >> Signed-off-by: Fabio Baltieri <fabio.baltieri at linaro.org>
> >> ---
> >> drivers/clk/ux500/clk-sysctrl.c | 8 +++++++-
> >> 1 file changed, 7 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/clk/ux500/clk-sysctrl.c b/drivers/clk/ux500/clk-sysctrl.c
> >> index bc7e9bd..e364c9d 100644
> >> --- a/drivers/clk/ux500/clk-sysctrl.c
> >> +++ b/drivers/clk/ux500/clk-sysctrl.c
> >> @@ -145,7 +145,13 @@ static struct clk *clk_reg_sysctrl(struct device *dev,
> >> return ERR_PTR(-ENOMEM);
> >> }
> >>
> >> - for (i = 0; i < num_parents; i++) {
> >> + /* set main clock registers */
> >> + clk->reg_sel[0] = reg_sel[0];
> >> + clk->reg_bits[0] = reg_bits[0];
> >> + clk->reg_mask[0] = reg_mask[0];
> >> +
> >> + /* handle clocks with more than one parent */
> >> + for (i = 1; i < num_parents; i++) {
> >> clk->reg_sel[i] = reg_sel[i];
> >> clk->reg_bits[i] = reg_bits[i];
> >> clk->reg_mask[i] = reg_mask[i];
> >> --
> >> 1.8.2
> >>
> >
> > Acked-by: Ulf Hansson <ulf.hansson at linaro.org>
> >
> > This is bugfix, should go "stable" as well?
>
> Stable means 3.10 rcs, since the abx500 clk tree was added for 3.10.
Thanks! Yes, it would be great if this could be queued up for an -rc.
Fabio
--
Fabio Baltieri
More information about the linux-arm-kernel
mailing list