[RFC,PATCH 1/2] Add a common struct clk

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Mon Jun 14 05:43:10 EDT 2010


On Mon, Jun 14, 2010 at 11:30:08AM +0200, Lothar Waßmann wrote:
> Benjamin Herrenschmidt writes:
> > On Mon, 2010-06-14 at 08:39 +0200, Lothar Waßmann wrote:
> > > All implementations so far use spin_lock_irq_save()!
> > 
> > Nothing prevents your implementation to be a tad smarter.
> > 
> I vote for consistency, so that device drivers can be kept arch
> independent instead of having to care about implentation details of
> each arch.
Back when I implemented clock support for ns9xxx (unfortunately not in
mainline) I tried with a spinlock first and later switched to a mutex.
IIRC the reason was that on ns9215 enabling the rtc clock took long
(don't remember a number) and successfull enabling was signaled by an
irq.  So I would have had to implement irq polling in the clock code.

I think you can find different examples that make both possiblities bad.
All in all I think that a sleeping clock implementation is preferable as
it improves (general) latencies.

Best regards
Uwe

-- 
Pengutronix e.K.                           | Uwe Kleine-König            |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |



More information about the linux-arm-kernel mailing list