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

Jassi Brar jassisinghbrar at gmail.com
Tue Feb 1 08:05:56 EST 2011


2011/2/1 Uwe Kleine-König <u.kleine-koenig at pengutronix.de>:

.....

> Do you plan to handle the case that clk_enable is called while prepare
> isn't completed (considering the special case "not called at all")?
> Maybe BUG_ON(clk->ops->prepare && !clk->prepare_count)?
Sounds better than the second option.

> Alternatively don't force the sleep in clk_prepare (e.g. by protecting
> prepare_count by a spinlock (probably enable_lock)) and call clk_prepare
> before calling clk->ops->enable?
That might result in a driver working on some platforms(those have
atomic clk_prepare)
and not on others(those have sleeping).


Njoi!



More information about the linux-arm-kernel mailing list