Subject: [PATCH v3 0/2] clk: improve handling of orphan clocks

From: [email-masked] (Heiko Stübner)
Date: Mon, 27 Jul 2015 10:57:33 +0200

Hi Maxime, Stephen,

Am Freitag, 8. Mai 2015, 12:02:47 schrieb Maxime Ripard:
> On Thu, May 07, 2015 at 02:03:57PM -0700, Stephen Boyd wrote:
> > On 05/07/15 08:17, Kevin Hilman wrote:
> > > On Fri, May 1, 2015 at 4:40 PM, Stephen Boyd <[email-masked]> 
wrote:
> > >> On 05/01/15 15:07, Heiko St?bner wrote:
> > >>> Am Freitag, 1. Mai 2015, 13:52:47 schrieb Stephen Boyd:
> > >>>>> Instead I guess we could hook it less deep into clk_get_sys, like in
> > >>>>> the
> > >>>>> following patch?
> > >>>> 
> > >>>> It looks like it will work at least, but still I'd prefer to keep the
> > >>>> orphan check contained to clk.c. How about this compile tested only
> > >>>> patch?
> > >>> 
> > >>> I gave this a spin on my rk3288-firefly board. It still boots, the
> > >>> clock tree looks the same and it also still defers nicely in the
> > >>> scenario I needed it for. The implementation also looks nice - and of
> > >>> course much more compact than my check in two places :-) . I don't
> > >>> know if you want to put this as follow-up on top or fold it into the
> > >>> original orphan-check, so in any case
> > >>> 
> > >>> Tested-by: Heiko Stuebner <[email-masked]>
> > >>> Reviewed-by: Heiko Stuebner <[email-masked]>
> > >> 
> > >> Thanks. I'm leaning towards tossing your patch 2/2 and replacing it
> > >> with
> > >> my patch and a note that it's based on an earlier patch from you.
> > > 
> > > It appears this has landed in linux-next in the form of 882667c1fcf1
> > > clk: prevent orphan clocks from being used.  A bunch of boot failures
> > > for sunxi in today's linux-next[1] were bisected down to that patch.
> > > 
> > > I confirmed that reverting that commit on top of next/master gets
> > > sunxi booting again.
> > 
> > Thanks for the report. I've removed the two clk orphan patches from
> > clk-next. Would it be possible to try with next-20150507 and
> > clk_ignore_unused on the command line?
> 
> This makes it work, but it's not really an option.
> 
> > Also we can try to see if critical clocks aren't being forced on by
> > applying this patch and looking for clk_get() failures
> 
> And that shows that the CPU and DDR clocks are not protected, which
> obviously is pretty mad.
> 
> I've mass converted all our probing code to use OF_CLK_DECLARE, and
> make things work again.
> 
> http://code.bulix.org/5goa5j-88345?raw
> 
> Is this an acceptable solution?
> 
> We were already moving to this, I'm not really fond of doing this like
> that, but I guess this whole debacle makes it necessary.

did this lead anywhere meanwhile.

Last I remember the change to orphan handling made sunxi fail, but I'm still 
hoping to get this usable at some point :-)

Thanks
Heiko