Locking in the clk API, part 2: clk_prepare/clk_unprepare

Nicolas Pitre nicolas.pitre at linaro.org
Tue Feb 1 15:06:09 EST 2011


On Tue, 1 Feb 2011, Uwe Kleine-König wrote:

> My motivation for a more complicated clk_prepare was to make clk_prepare
> atomic when that's possible (i.e. when the clk is already prepared) and
> call it before the enable callback in clk_enable.  Then everything
> behaves nicely even if clk_enable is called from atomic context provided
> that the clock was prepared before (or doesn't need to).

NOOOOOOOOO!!!

We _do_ want drivers to _always_ call clk_prepare() in sleepable 
context, and _then_ always call clk_enable() in whatever context they 
wish.  Period.


Nicolas


More information about the linux-arm-kernel mailing list