[Top] [All Lists]

Re: [PATCH 1/3] powerpc clk.h interface for platforms

To: Christoph Hellwig <>
Subject: Re: [PATCH 1/3] powerpc clk.h interface for platforms
From: David Brownell <>
Date: Wed, 11 Jul 2007 10:02:54 -0700
Cc: Domen Puncer <>,, Sylvain Munaut <>,, Russell King <>
Domainkey-signature: a=rsa-sha1; q=dns; c=nofws; s=s1024;; h=Received:X-YMail-OSG:From:To:Subject:Date:User-Agent:Cc:References:In-Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-Disposition:Message-Id; b=BMX09YzSGWviLxI8GxosP/ZOq37W02sp6pnfYELvZ+IDjyCQCu41S+zjFh5ijGw+uZwNqcXrbFfybO/OO172YQV+H39Sa3koss1GrI4mtrvl3hVZ1rGpP9yhTHfaqO8vUP5gJQpzLSB30PaqYC0Bn8lpQw/a2dB666H+TI7e6hk= ;
In-reply-to: <>
Original-recipient: rfc822;
References: <> <> <>
User-agent: KMail/1.9.6
On Wednesday 11 July 2007, Christoph Hellwig wrote:
> On Wed, Jul 11, 2007 at 08:56:58AM -0700, David Brownell wrote:
> > > Umm, this is about the fifth almost identical implementation of
> > > the clk_ functions.  Please, please put it into common code.
> > > 
> > > And talk to the mips folks which just got a similar comment from me.
> > 
> > You mean like a lib/clock.c core, rather than an opsvector?
> I mean an ops vector and surrounding wrappers.  Every architecture
> is reimplementing their own dispatch table which is rather annoying.

ARM doesn't.  :)

But then, nobody expects one kernel to support more than one
vendor's ARM chips; or usually, more than one generation of
that vendor's chips.  So any dispatch table is specific to
a given platform, and tuned to its quirks.  Not much to share
between OMAP and AT91, for example, except in some cases maybe
an arm926ejs block.

> What would a lib/clock.c do?

Some folk have suggested defining a core "struct clk {...}" with
some of the basics -- refcount, parent, maybe enough to support
the clk_get() lookup or even more -- so that the more obvious
stuff doesn't need constant re-implementation, and so that new
implementations become easier.  Platforms would wrap that with
whatever extensions they need.

I've not seen a solid proposal for such a thing, and it's not
clear to me how that would play with with older code (e.g. any
of the ARM implementations).

And I'm sure there are other suggestions ... I was mostly just
wondering just what you were suggesting.

- Dave

<Prev in Thread] Current Thread [Next in Thread>