Thread (126 messages) read the whole thread 126 messages, 18 authors, 2011-04-20

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

From: Russell King - ARM Linux <hidden>
Date: 2011-02-01 15:28:49
Also in: linux-arm-kernel, lkml

On Tue, Feb 01, 2011 at 04:22:03PM +0100, Uwe Kleine-König wrote:
Full ack.  (I wonder if you misunderstood me or wanted to put my
statement into more words.  Jassi didn't like that a clk_enable without
a previous clk_prepare worked on some platforms and on others it
doesn't.  With BUG_ON(clk->ops->prepare && !clk->prepare_count) in
clk_enable we have exactly this situation.)
Even with a NULL clk->ops->prepare function, we still want drivers to
have called clk_prepare().  So we can do something like:

	if (WARN_ON(clk->prepare_count = 0))
		return -EINVAL;

in clk_enable() should be sufficient and noisy enough not to be missed.

I'd avoid BUG_ON() here as that will take the system down, which may
increase the chances of getting useful bug reports.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help