RE: [PATCH] clk: clk-fixed-factor: Clear OF_POPULATED flag in case of failure

From: Rajan Vaja
Date: Thu Jul 26 2018 - 09:03:27 EST


Hi Stephen,

> -----Original Message-----
> From: Stephen Boyd [mailto:sboyd@xxxxxxxxxx]
> Sent: 25 July 2018 10:11 PM
> To: Rajan Vaja <RAJANV@xxxxxxxxxx>; mturquette@xxxxxxxxxxxx
> Cc: linux-clk@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; Rajan Vaja
> <RAJANV@xxxxxxxxxx>
> Subject: Re: [PATCH] clk: clk-fixed-factor: Clear OF_POPULATED flag in case of
> failure
>
> Quoting Rajan Vaja (2018-07-17 06:17:00)
> > Fixed factor clock has two initializations at of_clk_init() time
> > and during platform driver probe. Before of_clk_init() call,
> > node is marked as populated and so its probe never gets called.
> >
> > During of_clk_init() fixed factor clock registration may fail if
> > any of its parent clock is not registered. In this case, it doesn't
> > get chance to retry registration from probe. Clear OF_POPULATED
> > flag if fixed factor clock registration fails so that clock
> > registration is attempted again from probe.
> >
> > Signed-off-by: Rajan Vaja <rajan.vaja@xxxxxxxxxx>
> > ---
> > drivers/clk/clk-fixed-factor.c | 9 ++++++++-
> > 1 file changed, 8 insertions(+), 1 deletion(-)
> >
> > diff --git a/drivers/clk/clk-fixed-factor.c b/drivers/clk/clk-fixed-factor.c
> > index d72ef2d..f3ae4ff 100644
> > --- a/drivers/clk/clk-fixed-factor.c
> > +++ b/drivers/clk/clk-fixed-factor.c
> > @@ -177,8 +177,15 @@ static struct clk *_of_fixed_factor_clk_setup(struct
> device_node *node)
> >
> > clk = clk_register_fixed_factor(NULL, clk_name, parent_name, flags,
> > mult, div);
> > - if (IS_ERR(clk))
> > + if (IS_ERR(clk)) {
> > + /*
> > + * If parent clock is not registered, registration would fail.
> > + * Clear OF_POPULATED flag so that clock registration can be
> > + * attempted again from probe function.
> > + */
> > + of_node_clear_flag(node, OF_POPULATED);
> > return clk;
> > + }
>
> BTW, this patch was seriously mangled for me so I had to apply it by
> hand. Please be more careful next time and consider using something like
> git-send-email and git-format-patch to send patches.
[Rajan] I used git-send-email only and sent same way as I used to send other patches. Not sure where was issue.
Sorry for the inconvenience.