On Mon, Mar 2, 2015 at 2:06 PM, Lee Jones <lee.jones@xxxxxxxxxx> wrote: > On Sat, 28 Feb 2015, Jassi Brar wrote: > >> On 28 February 2015 at 02:44, Lee Jones <lee.jones@xxxxxxxxxx> wrote: >> > Lots of platforms contain clocks which if turned off would prove fatal. >> > The only way to recover from these catastrophic failures is to restart >> > the board(s). Now, when a clock is registered with the framework it is >> > compared against a list of provided always-on clock names which must be >> > kept ungated. If it matches, we enable the existing CLK_IGNORE_UNUSED >> > flag, which will prevent the common clk framework from attempting to >> > gate it during the clk_disable_unused() procedure. >> > >> If a clock is critical on a certain board, it could be got+enabled >> during early boot so there is always a user. > > I tried this. There was push-back from the DT maintainers. > > http://lists.infradead.org/pipermail/linux-arm-kernel/2015-February/324417.html > Thanks, I wasn't aware of the history. >> To be able to do that from DT, maybe add a new, say, CLK_ALWAYS_ON >> flag could be made to initialize the clock with one phantom user >> already. Or just reuse the CLK_IGNORE_UNUSED? > > How is that different to what this set is doing? > The phantom user - that's there but none can see it. How about? + of_property_for_each_string(np, "clock-always-on", prop, clkname) { + clk = __clk_lookup(clkname); + if (!clk) + continue; + + clk->core->enable_count = 1; + clk->core->prepare_count = 1; + } -jassi -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html