Re: [PATCH RFC RFT 0/3] clk: detect per-user enable imbalances and implement hand-off

From: Michael Turquette
Date: Thu Feb 11 2016 - 16:34:05 EST


Quoting Michael Turquette (2015-12-04 16:46:28)
> Heiko StÃbner wrote:
> > Hi Mike,
> >
> > Am Freitag, 7. August 2015, 12:09:27 schrieb Michael Turquette:
> > > This is an alternative solution to Lee's "clk: Provide support for
> > > always-on clocks" series[0].
> > >
> > > The first two patches introduce run-time checks to ensure that clock
> > > consumer drivers are respecting the clk.h api. The former patch checks
> > > for prepare and enable imbalances. The latter checks for calls to
> > > clk_put without first disabling and unpreparing the clk.
> > >
> > > The third patch introduces a new flag, CLK_ENABLE_HAND_OFF, which
> > > prepares and enables a clk at registration-time. The reference counts
> > > (prepare & enable) are transferred to the first clock consumer driver
> > > that clk_get's the clk with this flag set AND calls clk_prepare or
> > > clk_enable.
> > >
> > > The net result is that a clock with this flag set will be enabled at
> > > boot and neither the clk_disable_unused garbage collector or the
> > > "sibling clock disables a shared parent" scenario will cause the flagged
> > > clock to be disabled. The first driver to come along and explicitly
> > > claim, prepare and enable this clock will inherit those reference
> > > counts. No change to clock consumer drivers is required for this to
> > > work. Please continue to use the clk.h api properly.
> >
> > just out of curiosity, did this move anywhere yet? (Last message from october
> > 1st it seems)
> >
> > It looks like it is needed to fix the orphan-deferral I need on Rockchip that
> > breaks sunxi in its current state.
>
> Yes, I'm preparing another version. Sorry for high latency, but I've been
> traveling for more than 2 months non-stop.

Done. See:

http://lkml.kernel.org/r/<1455225554-13267-1-git-send-email-mturquette@xxxxxxxxxxxx>

Regards,
Mike

>
> Regards,
> Mike
>
> >
> >
> > Thanks
> > Heiko
>
>