[PATCH 01/10] Add a common struct clk

Thomas Gleixner tglx at linutronix.de
Fri Apr 22 05:23:49 EDT 2011


On Fri, 22 Apr 2011, Richard Zhao wrote:
> Hi Thomas,
> 
> On Thu, Apr 21, 2011 at 09:48:28PM +0200, Thomas Gleixner wrote:
> > On Fri, 15 Apr 2011, Sascha Hauer wrote:
> > > From: Jeremy Kerr <jeremy.kerr at canonical.com>
> > > + * @get:	Called by the core clock code when a device driver acquires a
> > > + *		clock via clk_get(). Optional.
> > > + *
> > > + * @put:	Called by the core clock code when a devices driver releases a
> > > + *		clock via clk_put(). Optional.
> > 
> > These callbacks are completely pointless. There are only two non empty
> > implementations in tree:
> > 
> > One does a try_module_get(clk->owner), which should be done in generic
> > code. The other does special clock enabling magic which wants to go to
> > clk->prepare().
> You forget mach-u300 __clk_get. It updates some registers.
> The ops get/put let arch clock driver have a chance to do special things at the
> time when a user begins to use the clock.

No I did not forget. It's exactly the code which wants to go into
clk->prepare. Which you have to call _before_ doing anything with the
clock, so there is no need for an extra callback.

Thanks,

	tglx



More information about the linux-arm-kernel mailing list