public inbox for linux-arm-kernel@lists.infradead.org
 help / color / mirror / Atom feed
From: jamie@jamieiles.com (Jamie Iles)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V3 4/7] cpufreq: add generic cpufreq driver
Date: Mon, 19 Dec 2011 14:39:13 +0000	[thread overview]
Message-ID: <20111219143913.GI2351@totoro> (raw)
In-Reply-To: <20111219141925.GA1789@richard-laptop>

On Mon, Dec 19, 2011 at 10:19:29PM +0800, Richard Zhao wrote:
> On Mon, Dec 19, 2011 at 10:05:12AM +0000, Jamie Iles wrote:
> > Hi Richard,
> > 
> > On Mon, Dec 19, 2011 at 11:21:40AM +0800, Richard Zhao wrote:
> > > It support single core and multi-core ARM SoCs. But currently it assume
> > > all cores share the same frequency and voltage.
> > > 
> > > Signed-off-by: Richard Zhao <richard.zhao@linaro.org>
> > > ---
> > >  .../devicetree/bindings/cpufreq/generic-cpufreq    |    7 +
> > >  drivers/cpufreq/Kconfig                            |    8 +
> > >  drivers/cpufreq/Makefile                           |    2 +
> > >  drivers/cpufreq/generic-cpufreq.c                  |  251 ++++++++++++++++++++
> > >  4 files changed, 268 insertions(+), 0 deletions(-)
> > >  create mode 100644 Documentation/devicetree/bindings/cpufreq/generic-cpufreq
> > >  create mode 100644 drivers/cpufreq/generic-cpufreq.c
> > > 
> > > diff --git a/Documentation/devicetree/bindings/cpufreq/generic-cpufreq b/Documentation/devicetree/bindings/cpufreq/generic-cpufreq
> > > new file mode 100644
> > > index 0000000..15dd780
> > > --- /dev/null
> > > +++ b/Documentation/devicetree/bindings/cpufreq/generic-cpufreq
> > > @@ -0,0 +1,7 @@
> > > +Generic cpufreq driver
> > > +
> > > +Required properties in /cpus/cpu at 0:
> > > +- compatible : "generic-cpufreq"
> > 
> > I'm not convinced this is the best way to do this.  By requiring a 
> > generic-cpufreq compatible string we're encoding Linux driver 
> > information into the hardware description.  The only way I can see to 
> > avoid this is to provide a generic_clk_cpufreq_init() function that 
> > platforms can call in their machine init code to use the driver.
> It'll prevent the driver from being a kernel module.

Hmm, that's not very nice either!  I guess you _could_ add an 
of_machine_is_compatible() check against a list of compatible machines 
in the driver but that feels a little gross.  Hopefully Rob or Grant 
have a good alternative!

> Hi Grant & Rob,
> 
> Could you comment?
> 
> > 
> > > +- cpu-freqs : cpu frequency points it support
> > > +- cpu-volts : cpu voltages required by the frequency point at the same index
> > > +- trans-latency :  transition_latency
> > > diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig
> > > index e24a2a1..216eecd 100644
> > > --- a/drivers/cpufreq/Kconfig
> > > +++ b/drivers/cpufreq/Kconfig
> > > @@ -179,6 +179,14 @@ config CPU_FREQ_GOV_CONSERVATIVE
> > >  
> > >  	  If in doubt, say N.
> > >  
> > > +config GENERIC_CPUFREQ_DRIVER
> > > +	bool "Generic cpufreq driver using clock/regulator/devicetree"
> > > +	help
> > > +	  This adds generic CPUFreq driver. It assumes all
> > > +	  cores of the CPU share the same clock and voltage.
> > > +
> > > +	  If in doubt, say N.
> > 
> > I think this needs dependencies on HAVE_CLK, OF and REGULATOR.
> right, Thanks. I can not check clk before generic clock framework
> come in.
> Added:
> 	depends on OF && REGULATOR
> 	select CPU_FREQ_TABLE

You can still use HAVE_CLK.  That symbol has been around for ages and 
any platform implementing the clk API should select it so it's fine to 
depend on it even before there is a generic struct clk.

Jamie

  reply	other threads:[~2011-12-19 14:39 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-12-19  3:21 [PATCH V3 0/7] add a generic cpufreq driver Richard Zhao
2011-12-19  3:21 ` [PATCH V3 1/7] ARM: add cpufreq transiton notifier to adjust loops_per_jiffy for smp Richard Zhao
2011-12-21 14:21   ` Richard Zhao
2011-12-19  3:21 ` [PATCH V3 2/7] arm/imx: cpufreq: remove loops_per_jiffy recalculate " Richard Zhao
2011-12-19  3:21 ` [PATCH V3 3/7] cpufreq: OMAP: " Richard Zhao
2011-12-19  3:21 ` [PATCH V3 4/7] cpufreq: add generic cpufreq driver Richard Zhao
2011-12-19 10:05   ` Jamie Iles
2011-12-19 14:19     ` Richard Zhao
2011-12-19 14:39       ` Jamie Iles [this message]
2011-12-19 15:00         ` Rob Herring
2011-12-20  1:59           ` Richard Zhao
2011-12-20 15:13             ` Rob Herring
2011-12-20 15:21             ` Arnd Bergmann
2011-12-20 14:59   ` Mark Brown
2011-12-20 23:27     ` Richard Zhao
2011-12-20 23:48       ` Mark Brown
2011-12-21  1:20         ` Richard Zhao
2011-12-21  1:32           ` Mark Brown
2011-12-21  2:24             ` Richard Zhao
2011-12-21  2:33               ` Mark Brown
2011-12-21  2:51                 ` Richard Zhao
2011-12-21  9:27           ` Richard Zhao
2011-12-21  9:43             ` Arnd Bergmann
2011-12-21 11:44               ` Kay Sievers
2011-12-21 12:12                 ` Mark Brown
2011-12-21 12:49                   ` Kay Sievers
2011-12-21 14:19                     ` Richard Zhao
2011-12-22  0:50                       ` Mark Brown
2011-12-21 12:11               ` Mark Brown
2011-12-19  3:21 ` [PATCH V3 5/7] dts/imx6q: add cpufreq property Richard Zhao
2011-12-19  3:21 ` [PATCH V3 6/7] arm/imx6q: register arm_clk as cpu to clkdev Richard Zhao
2011-12-19  3:21 ` [PATCH V3 7/7] arm/imx6q: select ARCH_HAS_CPUFREQ Richard Zhao

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=20111219143913.GI2351@totoro \
    --to=jamie@jamieiles.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox