Quoting A.s. Dong (2018-11-14 05:01:35) > For dividers with zero indicating clock is disabled, instead of giving a > warning each time like "clkx: Zero divisor and CLK_DIVIDER_ALLOW_ZERO not > set" in exist code, we'd like to introduce enable/disable function for it. > e.g. > 000b - Clock disabled > 001b - Divide by 1 > 010b - Divide by 2 > ... > > Set rate when the clk is disabled will cache the rate request and only > when the clk is enabled will the driver actually program the hardware to > have the requested divider value. Similarly, when the clk is disabled we'll > write a 0 there, but when the clk is enabled we'll restore whatever rate > (divider) was chosen last. > > It does mean that recalc rate will be sort of odd, because when the clk is > off it will return 0, and when the clk is on it will return the right rate. > So to make things work, we'll need to return the cached rate in recalc rate > when the clk is off and read the hardware when the clk is on. > > NOTE for the default off divider, the recalc rate will still return 0 as > there's still no proper preset rate. Enable such divider will give user > a reminder error message. > > Cc: Stephen Boyd <[email protected]> > Cc: Michael Turquette <[email protected]> > Cc: Shawn Guo <[email protected]> > Signed-off-by: Dong Aisheng <[email protected]> > > ---
Applied to clk-next

