diff mbox

[V3,09/10] cpufreq: cpu0: rename driver and internals to 'cpufreq_generic'

Message ID 8d75112b27fa36c873838185e99f0dbe7f86cc05.1409201048.git.viresh.kumar@linaro.org
State New
Headers show

Commit Message

Viresh Kumar Aug. 28, 2014, 5:52 a.m. UTC
The naming convention of this driver was always under the scanner, people
complained that it should have a more generic name than cpu0, as it manages all
CPUs that are sharing clock lines.

Also, in future it will be modified to support any number of clusters with
separate clock/voltage lines.

Lets rename it to 'cpufreq_generic' from 'cpufreq_cpu0'.

'.name' field of platform driver/devices isn't renamed yet, would be done
separately.

Tested-by: Stephen Boyd <sboyd@codeaurora.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
---
 .../{cpufreq-cpu0.txt => cpufreq-generic.txt}      |  8 ++---
 drivers/cpufreq/Kconfig                            | 10 +++---
 drivers/cpufreq/Kconfig.arm                        |  2 +-
 drivers/cpufreq/Makefile                           |  2 +-
 .../cpufreq/{cpufreq-cpu0.c => cpufreq-generic.c}  | 36 +++++++++++-----------
 5 files changed, 29 insertions(+), 29 deletions(-)
 rename Documentation/devicetree/bindings/cpufreq/{cpufreq-cpu0.txt => cpufreq-generic.txt} (85%)
 rename drivers/cpufreq/{cpufreq-cpu0.c => cpufreq-generic.c} (90%)

Comments

Stephen Boyd Sept. 8, 2014, 11:18 p.m. UTC | #1
On 09/08/14 16:34, Rafael J. Wysocki wrote:
> On Thursday, August 28, 2014 11:22:31 AM Viresh Kumar wrote:
>> The naming convention of this driver was always under the scanner, people
>> complained that it should have a more generic name than cpu0, as it manages all
>> CPUs that are sharing clock lines.
>>
>> Also, in future it will be modified to support any number of clusters with
>> separate clock/voltage lines.
>>
>> Lets rename it to 'cpufreq_generic' from 'cpufreq_cpu0'.
> I'm not a big fan of changes like this to be honest, because they kind of
> hide history.  For example, if you do a "git blame" on the new file, it will
> show your commit and nothing before it.

Sounds like a tooling problem. But git blame doesn't have that behavior
so there isn't actually any problem?

$ git blame -- drivers/cpufreq/cpufreq-generic.c | head -10
95ceafd46359d drivers/cpufreq/cpufreq-cpu0.c    (Shawn Guo               2012-09-06 07:09:11 +0000   1) /*
95ceafd46359d drivers/cpufreq/cpufreq-cpu0.c    (Shawn Guo               2012-09-06 07:09:11 +0000   2)  * Copyright (C) 2012 Freescale Semiconductor, Inc.
95ceafd46359d drivers/cpufreq/cpufreq-cpu0.c    (Shawn Guo               2012-09-06 07:09:11 +0000   3)  *
da1a765bf681c drivers/cpufreq/cpufreq-cpu0.c    (Viresh Kumar            2014-06-30 10:15:22 +0530   4)  * Copyright (C) 2014 Linaro.
da1a765bf681c drivers/cpufreq/cpufreq-cpu0.c    (Viresh Kumar            2014-06-30 10:15:22 +0530   5)  * Viresh Kumar <viresh.kumar@linaro.org>
da1a765bf681c drivers/cpufreq/cpufreq-cpu0.c    (Viresh Kumar            2014-06-30 10:15:22 +0530   6)  *
ac4f646b8a5f3 drivers/cpufreq/cpufreq-generic.c (Viresh Kumar            2014-06-27 10:58:51 +0530   7)  * The OPP code in function set_target() is reused from
95ceafd46359d drivers/cpufreq/cpufreq-cpu0.c    (Shawn Guo               2012-09-06 07:09:11 +0000   8)  * drivers/cpufreq/omap-cpufreq.c
95ceafd46359d drivers/cpufreq/cpufreq-cpu0.c    (Shawn Guo               2012-09-06 07:09:11 +0000   9)  *
95ceafd46359d drivers/cpufreq/cpufreq-cpu0.c    (Shawn Guo               2012-09-06 07:09:11 +0000  10)  * This program is free software; you can redistribute it and/or modify
Rafael J. Wysocki Sept. 8, 2014, 11:34 p.m. UTC | #2
On Thursday, August 28, 2014 11:22:31 AM Viresh Kumar wrote:
> The naming convention of this driver was always under the scanner, people
> complained that it should have a more generic name than cpu0, as it manages all
> CPUs that are sharing clock lines.
> 
> Also, in future it will be modified to support any number of clusters with
> separate clock/voltage lines.
> 
> Lets rename it to 'cpufreq_generic' from 'cpufreq_cpu0'.

I'm not a big fan of changes like this to be honest, because they kind of
hide history.  For example, if you do a "git blame" on the new file, it will
show your commit and nothing before it.

> '.name' field of platform driver/devices isn't renamed yet, would be done
> separately.
> 
> Tested-by: Stephen Boyd <sboyd@codeaurora.org>
> Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
> ---
>  .../{cpufreq-cpu0.txt => cpufreq-generic.txt}      |  8 ++---
>  drivers/cpufreq/Kconfig                            | 10 +++---
>  drivers/cpufreq/Kconfig.arm                        |  2 +-
>  drivers/cpufreq/Makefile                           |  2 +-
>  .../cpufreq/{cpufreq-cpu0.c => cpufreq-generic.c}  | 36 +++++++++++-----------
>  5 files changed, 29 insertions(+), 29 deletions(-)
>  rename Documentation/devicetree/bindings/cpufreq/{cpufreq-cpu0.txt => cpufreq-generic.txt} (85%)
>  rename drivers/cpufreq/{cpufreq-cpu0.c => cpufreq-generic.c} (90%)
> 
> diff --git a/Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt b/Documentation/devicetree/bindings/cpufreq/cpufreq-generic.txt
> similarity index 85%
> rename from Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt
> rename to Documentation/devicetree/bindings/cpufreq/cpufreq-generic.txt
> index 366690c..9278f79 100644
> --- a/Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt
> +++ b/Documentation/devicetree/bindings/cpufreq/cpufreq-generic.txt
> @@ -1,8 +1,8 @@
> -Generic CPU0 cpufreq driver
> +Generic cpufreq driver
>  
> -It is a generic cpufreq driver for CPU0 frequency management.  It
> -supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
> -systems which share clock and voltage across all CPUs.
> +It is a generic cpufreq driver for frequency management.  It supports both
> +uniprocessor (UP) and symmetric multiprocessor (SMP) systems which share clock
> +and voltage across all CPUs.
>  
>  Both required and optional properties listed below must be defined
>  under node /cpus/cpu@0.
> diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig
> index ffe350f..22b42d5 100644
> --- a/drivers/cpufreq/Kconfig
> +++ b/drivers/cpufreq/Kconfig
> @@ -183,16 +183,16 @@ config CPU_FREQ_GOV_CONSERVATIVE
>  
>  	  If in doubt, say N.
>  
> -config GENERIC_CPUFREQ_CPU0
> -	tristate "Generic CPU0 cpufreq driver"
> +config CPUFREQ_GENERIC
> +	tristate "Generic cpufreq driver"
>  	depends on HAVE_CLK && OF
> -	# if CPU_THERMAL is on and THERMAL=m, CPU0 cannot be =y:
> +	# if CPU_THERMAL is on and THERMAL=m, GENERIC cannot be =y:
>  	depends on !CPU_THERMAL || THERMAL
>  	select PM_OPP
>  	help
> -	  This adds a generic cpufreq driver for CPU0 frequency management.
> +	  This adds a generic cpufreq driver for frequency management.
>  	  It supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
> -	  systems which share clock and voltage across all CPUs.
> +	  systems which may or maynot share clock and voltage across all CPUs.
>  
>  	  If in doubt, say N.
>  
> diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
> index 7364a53..b0b0ca1 100644
> --- a/drivers/cpufreq/Kconfig.arm
> +++ b/drivers/cpufreq/Kconfig.arm
> @@ -92,7 +92,7 @@ config ARM_EXYNOS_CPU_FREQ_BOOST_SW
>  
>  config ARM_HIGHBANK_CPUFREQ
>  	tristate "Calxeda Highbank-based"
> -	depends on ARCH_HIGHBANK && GENERIC_CPUFREQ_CPU0 && REGULATOR
> +	depends on ARCH_HIGHBANK && CPUFREQ_GENERIC && REGULATOR
>  	default m
>  	help
>  	  This adds the CPUFreq driver for Calxeda Highbank SoC
> diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
> index db6d9a2..e8efe9b 100644
> --- a/drivers/cpufreq/Makefile
> +++ b/drivers/cpufreq/Makefile
> @@ -13,7 +13,7 @@ obj-$(CONFIG_CPU_FREQ_GOV_ONDEMAND)	+= cpufreq_ondemand.o
>  obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE)	+= cpufreq_conservative.o
>  obj-$(CONFIG_CPU_FREQ_GOV_COMMON)		+= cpufreq_governor.o
>  
> -obj-$(CONFIG_GENERIC_CPUFREQ_CPU0)	+= cpufreq-cpu0.o
> +obj-$(CONFIG_CPUFREQ_GENERIC)		+= cpufreq-generic.o
>  
>  ##################################################################################
>  # x86 drivers.
> diff --git a/drivers/cpufreq/cpufreq-cpu0.c b/drivers/cpufreq/cpufreq-generic.c
> similarity index 90%
> rename from drivers/cpufreq/cpufreq-cpu0.c
> rename to drivers/cpufreq/cpufreq-generic.c
> index a5f8c5f..9b85055 100644
> --- a/drivers/cpufreq/cpufreq-cpu0.c
> +++ b/drivers/cpufreq/cpufreq-generic.c
> @@ -4,7 +4,7 @@
>   * Copyright (C) 2014 Linaro.
>   * Viresh Kumar <viresh.kumar@linaro.org>
>   *
> - * The OPP code in function cpu0_set_target() is reused from
> + * The OPP code in function set_target() is reused from
>   * drivers/cpufreq/omap-cpufreq.c
>   *
>   * This program is free software; you can redistribute it and/or modify
> @@ -35,7 +35,7 @@ struct private_data {
>  	unsigned int voltage_tolerance; /* in percentage */
>  };
>  
> -static int cpu0_set_target(struct cpufreq_policy *policy, unsigned int index)
> +static int set_target(struct cpufreq_policy *policy, unsigned int index)
>  {
>  	struct dev_pm_opp *opp;
>  	struct cpufreq_frequency_table *freq_table = policy->freq_table;
> @@ -176,7 +176,7 @@ static int allocate_resources(int cpu, struct device **cdev,
>  	return ret;
>  }
>  
> -static int cpu0_cpufreq_init(struct cpufreq_policy *policy)
> +static int cpufreq_init(struct cpufreq_policy *policy)
>  {
>  	struct cpufreq_frequency_table *freq_table;
>  	struct thermal_cooling_device *cdev;
> @@ -287,7 +287,7 @@ static int cpu0_cpufreq_init(struct cpufreq_policy *policy)
>  	return ret;
>  }
>  
> -static int cpu0_cpufreq_exit(struct cpufreq_policy *policy)
> +static int cpufreq_exit(struct cpufreq_policy *policy)
>  {
>  	struct private_data *priv = policy->driver_data;
>  
> @@ -301,18 +301,18 @@ static int cpu0_cpufreq_exit(struct cpufreq_policy *policy)
>  	return 0;
>  }
>  
> -static struct cpufreq_driver cpu0_cpufreq_driver = {
> +static struct cpufreq_driver generic_cpufreq_driver = {
>  	.flags = CPUFREQ_STICKY | CPUFREQ_NEED_INITIAL_FREQ_CHECK,
>  	.verify = cpufreq_generic_frequency_table_verify,
> -	.target_index = cpu0_set_target,
> +	.target_index = set_target,
>  	.get = cpufreq_generic_get,
> -	.init = cpu0_cpufreq_init,
> -	.exit = cpu0_cpufreq_exit,
> -	.name = "generic_cpu0",
> +	.init = cpufreq_init,
> +	.exit = cpufreq_exit,
> +	.name = "cpufreq-generic",
>  	.attr = cpufreq_generic_attr,
>  };
>  
> -static int cpu0_cpufreq_probe(struct platform_device *pdev)
> +static int generic_cpufreq_probe(struct platform_device *pdev)
>  {
>  	struct device *cpu_dev;
>  	struct regulator *cpu_reg;
> @@ -334,30 +334,30 @@ static int cpu0_cpufreq_probe(struct platform_device *pdev)
>  	if (!IS_ERR(cpu_reg))
>  		regulator_put(cpu_reg);
>  
> -	ret = cpufreq_register_driver(&cpu0_cpufreq_driver);
> +	ret = cpufreq_register_driver(&generic_cpufreq_driver);
>  	if (ret)
>  		dev_err(cpu_dev, "failed register driver: %d\n", ret);
>  
>  	return ret;
>  }
>  
> -static int cpu0_cpufreq_remove(struct platform_device *pdev)
> +static int generic_cpufreq_remove(struct platform_device *pdev)
>  {
> -	cpufreq_unregister_driver(&cpu0_cpufreq_driver);
> +	cpufreq_unregister_driver(&generic_cpufreq_driver);
>  	return 0;
>  }
>  
> -static struct platform_driver cpu0_cpufreq_platdrv = {
> +static struct platform_driver generic_cpufreq_platdrv = {
>  	.driver = {
>  		.name	= "cpufreq-cpu0",
>  		.owner	= THIS_MODULE,
>  	},
> -	.probe		= cpu0_cpufreq_probe,
> -	.remove		= cpu0_cpufreq_remove,
> +	.probe		= generic_cpufreq_probe,
> +	.remove		= generic_cpufreq_remove,
>  };
> -module_platform_driver(cpu0_cpufreq_platdrv);
> +module_platform_driver(generic_cpufreq_platdrv);
>  
>  MODULE_AUTHOR("Viresh Kumar <viresh.kumar@linaro.org>");
>  MODULE_AUTHOR("Shawn Guo <shawn.guo@linaro.org>");
> -MODULE_DESCRIPTION("Generic CPU0 cpufreq driver");
> +MODULE_DESCRIPTION("Generic cpufreq driver");
>  MODULE_LICENSE("GPL");
>
Rafael J. Wysocki Sept. 8, 2014, 11:39 p.m. UTC | #3
On Monday, September 08, 2014 04:18:11 PM Stephen Boyd wrote:
> On 09/08/14 16:34, Rafael J. Wysocki wrote:
> > On Thursday, August 28, 2014 11:22:31 AM Viresh Kumar wrote:
> >> The naming convention of this driver was always under the scanner, people
> >> complained that it should have a more generic name than cpu0, as it manages all
> >> CPUs that are sharing clock lines.
> >>
> >> Also, in future it will be modified to support any number of clusters with
> >> separate clock/voltage lines.
> >>
> >> Lets rename it to 'cpufreq_generic' from 'cpufreq_cpu0'.
> > I'm not a big fan of changes like this to be honest, because they kind of
> > hide history.  For example, if you do a "git blame" on the new file, it will
> > show your commit and nothing before it.
> 
> Sounds like a tooling problem. But git blame doesn't have that behavior
> so there isn't actually any problem?

Ah, OK

It used to some time ago or maybe it depends on how you carry out the rename.

> $ git blame -- drivers/cpufreq/cpufreq-generic.c | head -10
> 95ceafd46359d drivers/cpufreq/cpufreq-cpu0.c    (Shawn Guo               2012-09-06 07:09:11 +0000   1) /*
> 95ceafd46359d drivers/cpufreq/cpufreq-cpu0.c    (Shawn Guo               2012-09-06 07:09:11 +0000   2)  * Copyright (C) 2012 Freescale Semiconductor, Inc.
> 95ceafd46359d drivers/cpufreq/cpufreq-cpu0.c    (Shawn Guo               2012-09-06 07:09:11 +0000   3)  *
> da1a765bf681c drivers/cpufreq/cpufreq-cpu0.c    (Viresh Kumar            2014-06-30 10:15:22 +0530   4)  * Copyright (C) 2014 Linaro.
> da1a765bf681c drivers/cpufreq/cpufreq-cpu0.c    (Viresh Kumar            2014-06-30 10:15:22 +0530   5)  * Viresh Kumar <viresh.kumar@linaro.org>
> da1a765bf681c drivers/cpufreq/cpufreq-cpu0.c    (Viresh Kumar            2014-06-30 10:15:22 +0530   6)  *
> ac4f646b8a5f3 drivers/cpufreq/cpufreq-generic.c (Viresh Kumar            2014-06-27 10:58:51 +0530   7)  * The OPP code in function set_target() is reused from
> 95ceafd46359d drivers/cpufreq/cpufreq-cpu0.c    (Shawn Guo               2012-09-06 07:09:11 +0000   8)  * drivers/cpufreq/omap-cpufreq.c
> 95ceafd46359d drivers/cpufreq/cpufreq-cpu0.c    (Shawn Guo               2012-09-06 07:09:11 +0000   9)  *
> 95ceafd46359d drivers/cpufreq/cpufreq-cpu0.c    (Shawn Guo               2012-09-06 07:09:11 +0000  10)  * This program is free software; you can redistribute it and/or modify
> 
>
Rafael J. Wysocki Sept. 8, 2014, 11:52 p.m. UTC | #4
On Tuesday, September 09, 2014 01:39:32 AM Rafael J. Wysocki wrote:
> On Monday, September 08, 2014 04:18:11 PM Stephen Boyd wrote:
> > On 09/08/14 16:34, Rafael J. Wysocki wrote:
> > > On Thursday, August 28, 2014 11:22:31 AM Viresh Kumar wrote:
> > >> The naming convention of this driver was always under the scanner, people
> > >> complained that it should have a more generic name than cpu0, as it manages all
> > >> CPUs that are sharing clock lines.
> > >>
> > >> Also, in future it will be modified to support any number of clusters with
> > >> separate clock/voltage lines.
> > >>
> > >> Lets rename it to 'cpufreq_generic' from 'cpufreq_cpu0'.
> > > I'm not a big fan of changes like this to be honest, because they kind of
> > > hide history.  For example, if you do a "git blame" on the new file, it will
> > > show your commit and nothing before it.
> > 
> > Sounds like a tooling problem. But git blame doesn't have that behavior
> > so there isn't actually any problem?
> 
> Ah, OK
> 
> It used to some time ago or maybe it depends on how you carry out the rename.

So more bikeshedding. :-)

Isn't "generic" somewhat too broad?  Surely it doesn't cover x86.  And does
it actually cover anything without clocks/regulators?
Stephen Boyd Sept. 9, 2014, 12:01 a.m. UTC | #5
On 09/08/14 16:52, Rafael J. Wysocki wrote:
> So more bikeshedding. :-)
>
> Isn't "generic" somewhat too broad?  Surely it doesn't cover x86.  And does
> it actually cover anything without clocks/regulators?
>

I thought when you bikeshed you have to come up with a different color ;-)

Perhaps "cpufreq_cpus"?
Rafael J. Wysocki Sept. 9, 2014, 12:02 a.m. UTC | #6
On Tuesday, September 09, 2014 01:52:10 AM Rafael J. Wysocki wrote:
> On Tuesday, September 09, 2014 01:39:32 AM Rafael J. Wysocki wrote:
> > On Monday, September 08, 2014 04:18:11 PM Stephen Boyd wrote:
> > > On 09/08/14 16:34, Rafael J. Wysocki wrote:
> > > > On Thursday, August 28, 2014 11:22:31 AM Viresh Kumar wrote:
> > > >> The naming convention of this driver was always under the scanner, people
> > > >> complained that it should have a more generic name than cpu0, as it manages all
> > > >> CPUs that are sharing clock lines.
> > > >>
> > > >> Also, in future it will be modified to support any number of clusters with
> > > >> separate clock/voltage lines.
> > > >>
> > > >> Lets rename it to 'cpufreq_generic' from 'cpufreq_cpu0'.
> > > > I'm not a big fan of changes like this to be honest, because they kind of
> > > > hide history.  For example, if you do a "git blame" on the new file, it will
> > > > show your commit and nothing before it.
> > > 
> > > Sounds like a tooling problem. But git blame doesn't have that behavior
> > > so there isn't actually any problem?
> > 
> > Ah, OK
> > 
> > It used to some time ago or maybe it depends on how you carry out the rename.
> 
> So more bikeshedding. :-)
> 
> Isn't "generic" somewhat too broad?  Surely it doesn't cover x86.  And does
> it actually cover anything without clocks/regulators?

For now, I'm going to queue up patches [1-8/10] from this series for 3.18.
Viresh Kumar Sept. 9, 2014, 4:47 a.m. UTC | #7
On 9 September 2014 05:31, Stephen Boyd <sboyd@codeaurora.org> wrote:
> On 09/08/14 16:52, Rafael J. Wysocki wrote:
>> So more bikeshedding. :-)

:)

>> Isn't "generic" somewhat too broad?  Surely it doesn't cover x86.  And does
>> it actually cover anything without clocks/regulators?

It can work without regulators but not clocks.

> I thought when you bikeshed you have to come up with a different color ;-)
>
> Perhaps "cpufreq_cpus"?

I don't have any affection to the word 'generic' here and it can be anything
we want it to be. But yeah, we shouldn't let these patches wait for that for
too long :)

What name do you suggest Rafael?

- cpufreq_generic
- cpufreq_cpus
- cpufreq_dt
- cpufreq_platform
- cpufreq_cpuX

Let me know and I will prepare pending patches accordingly :)
--
To unsubscribe from this list: send the line "unsubscribe linux-pm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Rafael J. Wysocki Sept. 9, 2014, 1:29 p.m. UTC | #8
On Tuesday, September 09, 2014 10:17:54 AM Viresh Kumar wrote:
> On 9 September 2014 05:31, Stephen Boyd <sboyd@codeaurora.org> wrote:
> > On 09/08/14 16:52, Rafael J. Wysocki wrote:
> >> So more bikeshedding. :-)
> 
> :)
> 
> >> Isn't "generic" somewhat too broad?  Surely it doesn't cover x86.  And does
> >> it actually cover anything without clocks/regulators?
> 
> It can work without regulators but not clocks.
> 
> > I thought when you bikeshed you have to come up with a different color ;-)
> >
> > Perhaps "cpufreq_cpus"?
> 
> I don't have any affection to the word 'generic' here and it can be anything
> we want it to be. But yeah, we shouldn't let these patches wait for that for
> too long :)
> 
> What name do you suggest Rafael?
> 
> - cpufreq_generic
> - cpufreq_cpus
> - cpufreq_dt

If it relies on DTs being used, this probably is the right name to call it.

> - cpufreq_platform
> - cpufreq_cpuX
> 
> Let me know and I will prepare pending patches accordingly :)
Viresh Kumar Sept. 9, 2014, 1:52 p.m. UTC | #9
On 9 September 2014 18:59, Rafael J. Wysocki <rjw@rjwysocki.net> wrote:
>> - cpufreq_dt
>
> If it relies on DTs being used, this probably is the right name to call it.

Okay then. Let it be cpufreq-dt.c.. Will send patches shortly..
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt b/Documentation/devicetree/bindings/cpufreq/cpufreq-generic.txt
similarity index 85%
rename from Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt
rename to Documentation/devicetree/bindings/cpufreq/cpufreq-generic.txt
index 366690c..9278f79 100644
--- a/Documentation/devicetree/bindings/cpufreq/cpufreq-cpu0.txt
+++ b/Documentation/devicetree/bindings/cpufreq/cpufreq-generic.txt
@@ -1,8 +1,8 @@ 
-Generic CPU0 cpufreq driver
+Generic cpufreq driver
 
-It is a generic cpufreq driver for CPU0 frequency management.  It
-supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
-systems which share clock and voltage across all CPUs.
+It is a generic cpufreq driver for frequency management.  It supports both
+uniprocessor (UP) and symmetric multiprocessor (SMP) systems which share clock
+and voltage across all CPUs.
 
 Both required and optional properties listed below must be defined
 under node /cpus/cpu@0.
diff --git a/drivers/cpufreq/Kconfig b/drivers/cpufreq/Kconfig
index ffe350f..22b42d5 100644
--- a/drivers/cpufreq/Kconfig
+++ b/drivers/cpufreq/Kconfig
@@ -183,16 +183,16 @@  config CPU_FREQ_GOV_CONSERVATIVE
 
 	  If in doubt, say N.
 
-config GENERIC_CPUFREQ_CPU0
-	tristate "Generic CPU0 cpufreq driver"
+config CPUFREQ_GENERIC
+	tristate "Generic cpufreq driver"
 	depends on HAVE_CLK && OF
-	# if CPU_THERMAL is on and THERMAL=m, CPU0 cannot be =y:
+	# if CPU_THERMAL is on and THERMAL=m, GENERIC cannot be =y:
 	depends on !CPU_THERMAL || THERMAL
 	select PM_OPP
 	help
-	  This adds a generic cpufreq driver for CPU0 frequency management.
+	  This adds a generic cpufreq driver for frequency management.
 	  It supports both uniprocessor (UP) and symmetric multiprocessor (SMP)
-	  systems which share clock and voltage across all CPUs.
+	  systems which may or maynot share clock and voltage across all CPUs.
 
 	  If in doubt, say N.
 
diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
index 7364a53..b0b0ca1 100644
--- a/drivers/cpufreq/Kconfig.arm
+++ b/drivers/cpufreq/Kconfig.arm
@@ -92,7 +92,7 @@  config ARM_EXYNOS_CPU_FREQ_BOOST_SW
 
 config ARM_HIGHBANK_CPUFREQ
 	tristate "Calxeda Highbank-based"
-	depends on ARCH_HIGHBANK && GENERIC_CPUFREQ_CPU0 && REGULATOR
+	depends on ARCH_HIGHBANK && CPUFREQ_GENERIC && REGULATOR
 	default m
 	help
 	  This adds the CPUFreq driver for Calxeda Highbank SoC
diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
index db6d9a2..e8efe9b 100644
--- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile
@@ -13,7 +13,7 @@  obj-$(CONFIG_CPU_FREQ_GOV_ONDEMAND)	+= cpufreq_ondemand.o
 obj-$(CONFIG_CPU_FREQ_GOV_CONSERVATIVE)	+= cpufreq_conservative.o
 obj-$(CONFIG_CPU_FREQ_GOV_COMMON)		+= cpufreq_governor.o
 
-obj-$(CONFIG_GENERIC_CPUFREQ_CPU0)	+= cpufreq-cpu0.o
+obj-$(CONFIG_CPUFREQ_GENERIC)		+= cpufreq-generic.o
 
 ##################################################################################
 # x86 drivers.
diff --git a/drivers/cpufreq/cpufreq-cpu0.c b/drivers/cpufreq/cpufreq-generic.c
similarity index 90%
rename from drivers/cpufreq/cpufreq-cpu0.c
rename to drivers/cpufreq/cpufreq-generic.c
index a5f8c5f..9b85055 100644
--- a/drivers/cpufreq/cpufreq-cpu0.c
+++ b/drivers/cpufreq/cpufreq-generic.c
@@ -4,7 +4,7 @@ 
  * Copyright (C) 2014 Linaro.
  * Viresh Kumar <viresh.kumar@linaro.org>
  *
- * The OPP code in function cpu0_set_target() is reused from
+ * The OPP code in function set_target() is reused from
  * drivers/cpufreq/omap-cpufreq.c
  *
  * This program is free software; you can redistribute it and/or modify
@@ -35,7 +35,7 @@  struct private_data {
 	unsigned int voltage_tolerance; /* in percentage */
 };
 
-static int cpu0_set_target(struct cpufreq_policy *policy, unsigned int index)
+static int set_target(struct cpufreq_policy *policy, unsigned int index)
 {
 	struct dev_pm_opp *opp;
 	struct cpufreq_frequency_table *freq_table = policy->freq_table;
@@ -176,7 +176,7 @@  static int allocate_resources(int cpu, struct device **cdev,
 	return ret;
 }
 
-static int cpu0_cpufreq_init(struct cpufreq_policy *policy)
+static int cpufreq_init(struct cpufreq_policy *policy)
 {
 	struct cpufreq_frequency_table *freq_table;
 	struct thermal_cooling_device *cdev;
@@ -287,7 +287,7 @@  static int cpu0_cpufreq_init(struct cpufreq_policy *policy)
 	return ret;
 }
 
-static int cpu0_cpufreq_exit(struct cpufreq_policy *policy)
+static int cpufreq_exit(struct cpufreq_policy *policy)
 {
 	struct private_data *priv = policy->driver_data;
 
@@ -301,18 +301,18 @@  static int cpu0_cpufreq_exit(struct cpufreq_policy *policy)
 	return 0;
 }
 
-static struct cpufreq_driver cpu0_cpufreq_driver = {
+static struct cpufreq_driver generic_cpufreq_driver = {
 	.flags = CPUFREQ_STICKY | CPUFREQ_NEED_INITIAL_FREQ_CHECK,
 	.verify = cpufreq_generic_frequency_table_verify,
-	.target_index = cpu0_set_target,
+	.target_index = set_target,
 	.get = cpufreq_generic_get,
-	.init = cpu0_cpufreq_init,
-	.exit = cpu0_cpufreq_exit,
-	.name = "generic_cpu0",
+	.init = cpufreq_init,
+	.exit = cpufreq_exit,
+	.name = "cpufreq-generic",
 	.attr = cpufreq_generic_attr,
 };
 
-static int cpu0_cpufreq_probe(struct platform_device *pdev)
+static int generic_cpufreq_probe(struct platform_device *pdev)
 {
 	struct device *cpu_dev;
 	struct regulator *cpu_reg;
@@ -334,30 +334,30 @@  static int cpu0_cpufreq_probe(struct platform_device *pdev)
 	if (!IS_ERR(cpu_reg))
 		regulator_put(cpu_reg);
 
-	ret = cpufreq_register_driver(&cpu0_cpufreq_driver);
+	ret = cpufreq_register_driver(&generic_cpufreq_driver);
 	if (ret)
 		dev_err(cpu_dev, "failed register driver: %d\n", ret);
 
 	return ret;
 }
 
-static int cpu0_cpufreq_remove(struct platform_device *pdev)
+static int generic_cpufreq_remove(struct platform_device *pdev)
 {
-	cpufreq_unregister_driver(&cpu0_cpufreq_driver);
+	cpufreq_unregister_driver(&generic_cpufreq_driver);
 	return 0;
 }
 
-static struct platform_driver cpu0_cpufreq_platdrv = {
+static struct platform_driver generic_cpufreq_platdrv = {
 	.driver = {
 		.name	= "cpufreq-cpu0",
 		.owner	= THIS_MODULE,
 	},
-	.probe		= cpu0_cpufreq_probe,
-	.remove		= cpu0_cpufreq_remove,
+	.probe		= generic_cpufreq_probe,
+	.remove		= generic_cpufreq_remove,
 };
-module_platform_driver(cpu0_cpufreq_platdrv);
+module_platform_driver(generic_cpufreq_platdrv);
 
 MODULE_AUTHOR("Viresh Kumar <viresh.kumar@linaro.org>");
 MODULE_AUTHOR("Shawn Guo <shawn.guo@linaro.org>");
-MODULE_DESCRIPTION("Generic CPU0 cpufreq driver");
+MODULE_DESCRIPTION("Generic cpufreq driver");
 MODULE_LICENSE("GPL");