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