All of lore.kernel.org
 help / color / mirror / Atom feed
From: Domen Puncer <domen.puncer@telargo.com>
To: Domen Puncer <domen.puncer@telargo.com>
Cc: Russell King <rmk@arm.linux.org.uk>,
	David Brownell <david-b@pacbell.net>,
	linuxppc-dev@ozlabs.org, Christoph Hellwig <hch@lst.de>,
	linux-mips@linux-mips.org
Subject: Generic clk.h wrappers? [Was: Re: [PATCH 1/3] powerpc clk.h interface for platforms]
Date: Wed, 1 Aug 2007 09:28:07 +0200	[thread overview]
Message-ID: <20070801072807.GL4529@moe.telargo.com> (raw)
In-Reply-To: <20070713091203.GE11476@nd47.coderock.org>

On 13/07/07 11:12 +0200, Domen Puncer wrote:
> On 11/07/07 21:34 +0100, Russell King wrote:
> > On Wed, Jul 11, 2007 at 10:02:54AM -0700, David Brownell wrote:
> > > 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.
> > 
> > And also the information stored within a 'struct clk' is very platform
> > dependent.  In the most basic situation, 'struct clk' may not actually
> > be a structure, but the clock rate.  All functions with the exception of
> > clk_get() and clk_get_rate() could well be no-ops, clk_get() just returns
> > the 'struct clk' representing the rate and 'clk_get_rate' returns that
> > as an integer.
> > 
> > More complex setups might want 'struct clk' to contain the address of a
> > clock enable register, the bit position to enable that clock source, the
> > clock rate, a refcount, and so on, all of which would be utterly useless
> > for a platform which had fixed rate clocks.
> 
> The patch that triggered this discussion is at the end.
> It doesn't make any assumption on struct clk, it's just a
> wrapper around functions from clk.h.
> Point of this patch was to abstract exported functions, since
> arch/powerpc/ can support multiple platfroms in one binary.

So... the thread just ended without any consensus, ACK or whatever.

Choices I see:
- have EXPORT_SYMBOL for clk.h functions in ie. lib/clock.c and have
  every implemenation fill some global struct.
- leave this patch as it is, abstraction only for arch/powerpc/.
- or I can just forget about this, and leave it for the next sucker
  who will want nicer clock handling in some driver.


	Domen

WARNING: multiple messages have this Message-ID (diff)
From: Domen Puncer <domen.puncer@telargo.com>
To: Domen Puncer <domen.puncer@telargo.com>
Cc: David Brownell <david-b@pacbell.net>,
	linuxppc-dev@ozlabs.org, Christoph Hellwig <hch@lst.de>,
	Russell King <rmk@arm.linux.org.uk>,
	linux-mips@linux-mips.org
Subject: Generic clk.h wrappers? [Was: Re: [PATCH 1/3] powerpc clk.h interface for platforms]
Date: Wed, 1 Aug 2007 09:28:07 +0200	[thread overview]
Message-ID: <20070801072807.GL4529@moe.telargo.com> (raw)
In-Reply-To: <20070713091203.GE11476@nd47.coderock.org>

On 13/07/07 11:12 +0200, Domen Puncer wrote:
> On 11/07/07 21:34 +0100, Russell King wrote:
> > On Wed, Jul 11, 2007 at 10:02:54AM -0700, David Brownell wrote:
> > > 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.
> > 
> > And also the information stored within a 'struct clk' is very platform
> > dependent.  In the most basic situation, 'struct clk' may not actually
> > be a structure, but the clock rate.  All functions with the exception of
> > clk_get() and clk_get_rate() could well be no-ops, clk_get() just returns
> > the 'struct clk' representing the rate and 'clk_get_rate' returns that
> > as an integer.
> > 
> > More complex setups might want 'struct clk' to contain the address of a
> > clock enable register, the bit position to enable that clock source, the
> > clock rate, a refcount, and so on, all of which would be utterly useless
> > for a platform which had fixed rate clocks.
> 
> The patch that triggered this discussion is at the end.
> It doesn't make any assumption on struct clk, it's just a
> wrapper around functions from clk.h.
> Point of this patch was to abstract exported functions, since
> arch/powerpc/ can support multiple platfroms in one binary.

So... the thread just ended without any consensus, ACK or whatever.

Choices I see:
- have EXPORT_SYMBOL for clk.h functions in ie. lib/clock.c and have
  every implemenation fill some global struct.
- leave this patch as it is, abstraction only for arch/powerpc/.
- or I can just forget about this, and leave it for the next sucker
  who will want nicer clock handling in some driver.


	Domen

  reply	other threads:[~2007-08-01  7:28 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-07-11  9:31 [PATCH 0/3] clock (clk.h) framework for mpc52xx Domen Puncer
2007-07-11  9:32 ` [PATCH 1/3] powerpc clk.h interface for platforms Domen Puncer
2007-07-11 10:36   ` Christoph Hellwig
2007-07-11 10:36     ` Christoph Hellwig
2007-07-11 15:56     ` David Brownell
2007-07-11 15:56       ` David Brownell
2007-07-11 16:16       ` Christoph Hellwig
2007-07-11 16:16         ` Christoph Hellwig
2007-07-11 17:02         ` David Brownell
2007-07-11 17:02           ` David Brownell
2007-07-11 20:34           ` Russell King
2007-07-11 20:34             ` Russell King
2007-07-11 20:52             ` David Brownell
2007-07-11 20:52               ` David Brownell
2007-07-13  9:12             ` Domen Puncer
2007-07-13  9:12               ` Domen Puncer
2007-08-01  7:28               ` Domen Puncer [this message]
2007-08-01  7:28                 ` Generic clk.h wrappers? [Was: Re: [PATCH 1/3] powerpc clk.h interface for platforms] Domen Puncer
2007-08-01 12:57                 ` Christoph Hellwig
2007-08-01 12:57                   ` Christoph Hellwig
2007-08-02 23:32                   ` David Brownell
2007-08-02 23:32                     ` David Brownell
2007-08-03  8:36                     ` Russell King
2007-08-03  8:36                       ` Russell King
2007-08-06  6:58   ` [PATCH 1/3] powerpc clk.h interface for platforms Domen Puncer
2007-09-19  3:47     ` Paul Mackerras
2007-09-19  5:11       ` Domen Puncer
2007-09-20  5:07         ` Paul Mackerras
2007-09-20 14:00           ` [PATCH 1/3 v2] " Domen Puncer
2007-07-11  9:33 ` [PATCH 2/3] mpc52xx clk.h interface Domen Puncer
2007-07-11  9:34 ` [PATCH 3/3] mpc52xx_psc_spi: use clk.h subsystem Domen Puncer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070801072807.GL4529@moe.telargo.com \
    --to=domen.puncer@telargo.com \
    --cc=david-b@pacbell.net \
    --cc=hch@lst.de \
    --cc=linux-mips@linux-mips.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=rmk@arm.linux.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.