[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.LFD.2.00.1102011503550.8580@xanadu.home>
Date: Tue, 1 Feb 2011 15:06:09 -0500 (EST)
From: Nicolas Pitre <nicolas.pitre@...aro.org>
To: Uwe Kleine-König
<u.kleine-koenig@...gutronix.de>
cc: Russell King - ARM Linux <linux@....linux.org.uk>,
Lorenzo Pieralisi <Lorenzo.Pieralisi@....com>,
Saravana Kannan <skannan@...eaurora.org>,
linux-sh@...r.kernel.org,
Ben Herrenschmidt <benh@...nel.crashing.org>,
Sascha Hauer <s.hauer@...gutronix.de>,
Paul Mundt <lethal@...ux-sh.org>, linux-kernel@...r.kernel.org,
Dima Zavin <dmitriyz@...gle.com>,
Ben Dooks <ben-linux@...ff.org>,
Vincent Guittot <vincent.guittot@...aro.org>,
Jeremy Kerr <jeremy.kerr@...onical.com>,
linux-arm-kernel@...ts.infradead.org
Subject: Re: Locking in the clk API, part 2: clk_prepare/clk_unprepare
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
Powered by blists - more mailing lists