Hi,
This patchset tries to move all CPUFreq drivers for ARM platforms from arch/arm to drivers/cpufreq directory.
This series is dependent (rebased of) on following patches:
http://www.spinics.net/lists/arm-kernel/msg232540.html https://lkml.org/lkml/2013/3/24/151
I want this series to go through Rafael's tree due to dependencies and so want Ack's by respective maintainers.
These are applied here for people looking to test them:
http://git.linaro.org/gitweb?p=people/vireshk/linux.git%3Ba=shortlog%3Bh=ref...
Viresh Kumar (9): cpufreq: ARM: Arrange drivers in alphabetical order cpufreq: tegra: Move driver to drivers/cpufreq cpufreq: davinci: move cpufreq driver to drivers/cpufreq cpufreq: imx: move cpufreq driver to drivers/cpufreq cpufreq: integrator: move cpufreq driver to drivers/cpufreq cpufreq: pxa3xx: move cpufreq driver to drivers/cpufreq cpufreq: pxa2xx: move cpufreq driver to drivers/cpufreq cpufreq: s3c24xx: move cpufreq driver to drivers/cpufreq cpufreq: sa11x0: move cpufreq driver to drivers/cpufreq
arch/arm/Kconfig | 79 --------- arch/arm/mach-davinci/Makefile | 1 - arch/arm/mach-imx/Makefile | 1 - arch/arm/mach-imx/mxc.h | 6 +- arch/arm/mach-integrator/Makefile | 1 - arch/arm/mach-pxa/Makefile | 6 - arch/arm/mach-pxa/include/mach/generic.h | 1 + arch/arm/mach-s3c24xx/Kconfig | 66 +++---- arch/arm/mach-s3c24xx/Makefile | 6 - arch/arm/mach-s3c24xx/{ => include/mach}/s3c2412.h | 0 arch/arm/mach-s3c24xx/iotiming-s3c2412.c | 2 +- arch/arm/mach-sa1100/Kconfig | 26 +-- arch/arm/mach-sa1100/Makefile | 3 - arch/arm/mach-sa1100/include/mach/generic.h | 1 + arch/arm/mach-tegra/Makefile | 1 - arch/arm/plat-samsung/include/plat/cpu-freq-core.h | 10 +- arch/arm/plat-samsung/include/plat/cpu-freq.h | 6 +- drivers/cpufreq/Kconfig.arm | 191 +++++++++++++++------ drivers/cpufreq/Makefile | 24 ++- .../cpufreq.c => drivers/cpufreq/davinci-cpufreq.c | 2 - .../cpufreq.c => drivers/cpufreq/imx-cpufreq.c | 7 +- .../cpu.c => drivers/cpufreq/integrator-cpufreq.c | 2 - .../cpufreq/pxa2xx-cpufreq.c | 2 - .../cpufreq/pxa3xx-cpufreq.c | 5 +- .../cpufreq/s3c2410-cpufreq.c | 0 .../cpufreq/s3c2412-cpufreq.c | 3 +- .../cpufreq/s3c2440-cpufreq.c | 0 .../cpufreq/s3c24xx-cpufreq-debugfs.c | 0 .../cpufreq.c => drivers/cpufreq/s3c24xx-cpufreq.c | 0 .../cpufreq/sa1100-cpufreq.c | 3 +- .../cpufreq/sa1110-cpufreq.c | 3 +- .../cpu-tegra.c => drivers/cpufreq/tegra-cpufreq.c | 2 - include/linux/cpufreq/imx.h | 10 ++ 33 files changed, 223 insertions(+), 247 deletions(-) create mode 100644 arch/arm/mach-pxa/include/mach/generic.h rename arch/arm/mach-s3c24xx/{ => include/mach}/s3c2412.h (100%) create mode 100644 arch/arm/mach-sa1100/include/mach/generic.h rename arch/arm/mach-davinci/cpufreq.c => drivers/cpufreq/davinci-cpufreq.c (99%) rename arch/arm/mach-imx/cpufreq.c => drivers/cpufreq/imx-cpufreq.c (99%) rename arch/arm/mach-integrator/cpu.c => drivers/cpufreq/integrator-cpufreq.c (99%) rename arch/arm/mach-pxa/cpufreq-pxa2xx.c => drivers/cpufreq/pxa2xx-cpufreq.c (99%) rename arch/arm/mach-pxa/cpufreq-pxa3xx.c => drivers/cpufreq/pxa3xx-cpufreq.c (98%) rename arch/arm/mach-s3c24xx/cpufreq-s3c2410.c => drivers/cpufreq/s3c2410-cpufreq.c (100%) rename arch/arm/mach-s3c24xx/cpufreq-s3c2412.c => drivers/cpufreq/s3c2412-cpufreq.c (99%) rename arch/arm/mach-s3c24xx/cpufreq-s3c2440.c => drivers/cpufreq/s3c2440-cpufreq.c (100%) rename arch/arm/mach-s3c24xx/cpufreq-debugfs.c => drivers/cpufreq/s3c24xx-cpufreq-debugfs.c (100%) rename arch/arm/mach-s3c24xx/cpufreq.c => drivers/cpufreq/s3c24xx-cpufreq.c (100%) rename arch/arm/mach-sa1100/cpu-sa1100.c => drivers/cpufreq/sa1100-cpufreq.c (99%) rename arch/arm/mach-sa1100/cpu-sa1110.c => drivers/cpufreq/sa1110-cpufreq.c (99%) rename arch/arm/mach-tegra/cpu-tegra.c => drivers/cpufreq/tegra-cpufreq.c (99%) create mode 100644 include/linux/cpufreq/imx.h
Normally we keep drivers in alphabetical inside Kconfig and Makefile and over time this was broken for ARM cpufreq drivers. Fix it.
Signed-off-by: Viresh Kumar viresh.kumar@linaro.org --- drivers/cpufreq/Kconfig.arm | 116 ++++++++++++++++++++++---------------------- drivers/cpufreq/Makefile | 10 ++-- 2 files changed, 63 insertions(+), 63 deletions(-)
diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm index 030ddf6..b72a2b3 100644 --- a/drivers/cpufreq/Kconfig.arm +++ b/drivers/cpufreq/Kconfig.arm @@ -2,6 +2,64 @@ # ARM CPU Frequency scaling drivers #
+config ARM_EXYNOS_CPUFREQ + bool "SAMSUNG EXYNOS SoCs" + depends on ARCH_EXYNOS + default y + help + This adds the CPUFreq driver common part for Samsung + EXYNOS SoCs. + + If in doubt, say N. + +config ARM_EXYNOS4210_CPUFREQ + def_bool CPU_EXYNOS4210 + help + This adds the CPUFreq driver for Samsung EXYNOS4210 + SoC (S5PV310 or S5PC210). + +config ARM_EXYNOS4X12_CPUFREQ + def_bool (SOC_EXYNOS4212 || SOC_EXYNOS4412) + help + This adds the CPUFreq driver for Samsung EXYNOS4X12 + SoC (EXYNOS4212 or EXYNOS4412). + +config ARM_EXYNOS5250_CPUFREQ + def_bool SOC_EXYNOS5250 + help + This adds the CPUFreq driver for Samsung EXYNOS5250 + SoC. + +config ARM_HIGHBANK_CPUFREQ + tristate "Calxeda Highbank-based" + depends on ARCH_HIGHBANK + select CPU_FREQ_TABLE + select GENERIC_CPUFREQ_CPU0 + select PM_OPP + select REGULATOR + + default m + help + This adds the CPUFreq driver for Calxeda Highbank SoC + based boards. + + If in doubt, say N. + +config ARM_IMX6Q_CPUFREQ + tristate "Freescale i.MX6Q cpufreq support" + depends on SOC_IMX6Q + depends on REGULATOR_ANATOP + help + This adds cpufreq driver support for Freescale i.MX6Q SOC. + + If in doubt, say N. + +config ARM_KIRKWOOD_CPUFREQ + def_bool ARCH_KIRKWOOD && OF + help + This adds the CPUFreq driver for Marvell Kirkwood + SoCs. + config ARM_OMAP2PLUS_CPUFREQ bool "TI OMAP2+" depends on ARCH_OMAP2PLUS @@ -49,67 +107,9 @@ config ARM_S5PV210_CPUFREQ
If in doubt, say N.
-config ARM_EXYNOS_CPUFREQ - bool "SAMSUNG EXYNOS SoCs" - depends on ARCH_EXYNOS - default y - help - This adds the CPUFreq driver common part for Samsung - EXYNOS SoCs. - - If in doubt, say N. - -config ARM_EXYNOS4210_CPUFREQ - def_bool CPU_EXYNOS4210 - help - This adds the CPUFreq driver for Samsung EXYNOS4210 - SoC (S5PV310 or S5PC210). - -config ARM_EXYNOS4X12_CPUFREQ - def_bool (SOC_EXYNOS4212 || SOC_EXYNOS4412) - help - This adds the CPUFreq driver for Samsung EXYNOS4X12 - SoC (EXYNOS4212 or EXYNOS4412). - -config ARM_EXYNOS5250_CPUFREQ - def_bool SOC_EXYNOS5250 - help - This adds the CPUFreq driver for Samsung EXYNOS5250 - SoC. - -config ARM_KIRKWOOD_CPUFREQ - def_bool ARCH_KIRKWOOD && OF - help - This adds the CPUFreq driver for Marvell Kirkwood - SoCs. - -config ARM_IMX6Q_CPUFREQ - tristate "Freescale i.MX6Q cpufreq support" - depends on SOC_IMX6Q - depends on REGULATOR_ANATOP - help - This adds cpufreq driver support for Freescale i.MX6Q SOC. - - If in doubt, say N. - config ARM_SPEAR_CPUFREQ bool "SPEAr CPUFreq support" depends on PLAT_SPEAR default y help This adds the CPUFreq driver support for SPEAr SOCs. - -config ARM_HIGHBANK_CPUFREQ - tristate "Calxeda Highbank-based" - depends on ARCH_HIGHBANK - select CPU_FREQ_TABLE - select GENERIC_CPUFREQ_CPU0 - select PM_OPP - select REGULATOR - - default m - help - This adds the CPUFreq driver for Calxeda Highbank SoC - based boards. - - If in doubt, say N. diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile index 863fd18..e33a30e 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile @@ -45,18 +45,18 @@ obj-$(CONFIG_X86_INTEL_PSTATE) += intel_pstate.o ################################################################################## # ARM SoC drivers obj-$(CONFIG_UX500_SOC_DB8500) += dbx500-cpufreq.o -obj-$(CONFIG_ARM_S3C2416_CPUFREQ) += s3c2416-cpufreq.o -obj-$(CONFIG_ARM_S3C64XX_CPUFREQ) += s3c64xx-cpufreq.o -obj-$(CONFIG_ARM_S5PV210_CPUFREQ) += s5pv210-cpufreq.o obj-$(CONFIG_ARM_EXYNOS_CPUFREQ) += exynos-cpufreq.o obj-$(CONFIG_ARM_EXYNOS4210_CPUFREQ) += exynos4210-cpufreq.o obj-$(CONFIG_ARM_EXYNOS4X12_CPUFREQ) += exynos4x12-cpufreq.o obj-$(CONFIG_ARM_EXYNOS5250_CPUFREQ) += exynos5250-cpufreq.o +obj-$(CONFIG_ARM_HIGHBANK_CPUFREQ) += highbank-cpufreq.o +obj-$(CONFIG_ARM_IMX6Q_CPUFREQ) += imx6q-cpufreq.o obj-$(CONFIG_ARM_KIRKWOOD_CPUFREQ) += kirkwood-cpufreq.o obj-$(CONFIG_ARM_OMAP2PLUS_CPUFREQ) += omap-cpufreq.o +obj-$(CONFIG_ARM_S3C2416_CPUFREQ) += s3c2416-cpufreq.o +obj-$(CONFIG_ARM_S3C64XX_CPUFREQ) += s3c64xx-cpufreq.o +obj-$(CONFIG_ARM_S5PV210_CPUFREQ) += s5pv210-cpufreq.o obj-$(CONFIG_ARM_SPEAR_CPUFREQ) += spear-cpufreq.o -obj-$(CONFIG_ARM_HIGHBANK_CPUFREQ) += highbank-cpufreq.o -obj-$(CONFIG_ARM_IMX6Q_CPUFREQ) += imx6q-cpufreq.o
################################################################################## # PowerPC platform drivers
This patch moves cpufreq driver of ARM based tegra platform to drivers/cpufreq.
Cc: Stephen Warren swarren@wwwdotorg.org Signed-off-by: Viresh Kumar viresh.kumar@linaro.org --- arch/arm/mach-tegra/Makefile | 1 - drivers/cpufreq/Makefile | 1 + arch/arm/mach-tegra/cpu-tegra.c => drivers/cpufreq/tegra-cpufreq.c | 2 -- 3 files changed, 1 insertion(+), 3 deletions(-) rename arch/arm/mach-tegra/cpu-tegra.c => drivers/cpufreq/tegra-cpufreq.c (99%)
diff --git a/arch/arm/mach-tegra/Makefile b/arch/arm/mach-tegra/Makefile index f6b46ae..09b578f 100644 --- a/arch/arm/mach-tegra/Makefile +++ b/arch/arm/mach-tegra/Makefile @@ -24,7 +24,6 @@ obj-$(CONFIG_ARCH_TEGRA_3x_SOC) += cpuidle-tegra30.o endif obj-$(CONFIG_SMP) += platsmp.o headsmp.o obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o -obj-$(CONFIG_CPU_FREQ) += cpu-tegra.o obj-$(CONFIG_TEGRA_PCI) += pcie.o
obj-$(CONFIG_ARCH_TEGRA_2x_SOC) += board-dt-tegra20.o diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile index e33a30e..966ea28 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile @@ -57,6 +57,7 @@ obj-$(CONFIG_ARM_S3C2416_CPUFREQ) += s3c2416-cpufreq.o obj-$(CONFIG_ARM_S3C64XX_CPUFREQ) += s3c64xx-cpufreq.o obj-$(CONFIG_ARM_S5PV210_CPUFREQ) += s5pv210-cpufreq.o obj-$(CONFIG_ARM_SPEAR_CPUFREQ) += spear-cpufreq.o +obj-$(CONFIG_ARCH_TEGRA) += tegra-cpufreq.o
################################################################################## # PowerPC platform drivers diff --git a/arch/arm/mach-tegra/cpu-tegra.c b/drivers/cpufreq/tegra-cpufreq.c similarity index 99% rename from arch/arm/mach-tegra/cpu-tegra.c rename to drivers/cpufreq/tegra-cpufreq.c index 11ca730..c74c0e1 100644 --- a/arch/arm/mach-tegra/cpu-tegra.c +++ b/drivers/cpufreq/tegra-cpufreq.c @@ -1,6 +1,4 @@ /* - * arch/arm/mach-tegra/cpu-tegra.c - * * Copyright (C) 2010 Google, Inc. * * Author:
This patch moves cpufreq driver of ARM based davinci platform to drivers/cpufreq.
Cc: Sekhar Nori nsekhar@ti.com Cc: davinci-linux-open-source@linux.davincidsp.com Signed-off-by: Viresh Kumar viresh.kumar@linaro.org --- arch/arm/mach-davinci/Makefile | 1 - drivers/cpufreq/Makefile | 1 + arch/arm/mach-davinci/cpufreq.c => drivers/cpufreq/davinci-cpufreq.c | 2 -- 3 files changed, 1 insertion(+), 3 deletions(-) rename arch/arm/mach-davinci/cpufreq.c => drivers/cpufreq/davinci-cpufreq.c (99%)
diff --git a/arch/arm/mach-davinci/Makefile b/arch/arm/mach-davinci/Makefile index fb5c1aa..dd1ffcc 100644 --- a/arch/arm/mach-davinci/Makefile +++ b/arch/arm/mach-davinci/Makefile @@ -37,7 +37,6 @@ obj-$(CONFIG_MACH_MITYOMAPL138) += board-mityomapl138.o obj-$(CONFIG_MACH_OMAPL138_HAWKBOARD) += board-omapl138-hawk.o
# Power Management -obj-$(CONFIG_CPU_FREQ) += cpufreq.o obj-$(CONFIG_CPU_IDLE) += cpuidle.o obj-$(CONFIG_SUSPEND) += pm.o sleep.o obj-$(CONFIG_HAVE_CLK) += pm_domain.o diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile index 966ea28..efce6c7 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile @@ -44,6 +44,7 @@ obj-$(CONFIG_X86_INTEL_PSTATE) += intel_pstate.o
################################################################################## # ARM SoC drivers +obj-$(CONFIG_ARCH_DAVINCI_DA850) += davinci-cpufreq.o obj-$(CONFIG_UX500_SOC_DB8500) += dbx500-cpufreq.o obj-$(CONFIG_ARM_EXYNOS_CPUFREQ) += exynos-cpufreq.o obj-$(CONFIG_ARM_EXYNOS4210_CPUFREQ) += exynos4210-cpufreq.o diff --git a/arch/arm/mach-davinci/cpufreq.c b/drivers/cpufreq/davinci-cpufreq.c similarity index 99% rename from arch/arm/mach-davinci/cpufreq.c rename to drivers/cpufreq/davinci-cpufreq.c index 8fb0c2a..5b34f61 100644 --- a/arch/arm/mach-davinci/cpufreq.c +++ b/drivers/cpufreq/davinci-cpufreq.c @@ -30,8 +30,6 @@ #include <mach/cpufreq.h> #include <mach/common.h>
-#include "clock.h" - struct davinci_cpufreq { struct device *dev; struct clk *armclk;
Hi Viresh,
On 3/25/2013 3:41 PM, Viresh Kumar wrote:
This patch moves cpufreq driver of ARM based davinci platform to drivers/cpufreq.
Cc: Sekhar Nori nsekhar@ti.com Cc: davinci-linux-open-source@linux.davincidsp.com Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
I am unable to apply this patch for testing. Looks like this could be because of:
Content-Type: text/plain; charset="WINDOWS-1252"
Can you get rid of that charset="WINDOWS-1252"?
Thanks, Sekhar
On 27 March 2013 15:47, Sekhar Nori nsekhar@ti.com wrote:
On 3/25/2013 3:41 PM, Viresh Kumar wrote: I am unable to apply this patch for testing. Looks like this could be because of:
Content-Type: text/plain; charset="WINDOWS-1252"
Can you get rid of that charset="WINDOWS-1252"?
I can't, its MSF exchange server behind this.
And for this reason only i push my patches in my public repo all the time, mentioned in cover-letter.
http://git.linaro.org/gitweb?p=people/vireshk/linux.git%3Ba=shortlog%3Bh=ref...
On 3/27/2013 3:51 PM, Viresh Kumar wrote:
On 27 March 2013 15:47, Sekhar Nori nsekhar@ti.com wrote:
On 3/25/2013 3:41 PM, Viresh Kumar wrote: I am unable to apply this patch for testing. Looks like this could be because of:
Content-Type: text/plain; charset="WINDOWS-1252"
Can you get rid of that charset="WINDOWS-1252"?
I can't, its MSF exchange server behind this.
Too bad. But something needs to be done about it since we all like to apply patches received in email ;). I have seen reports of people configuring gmail to know their @company.com address as another e-mail address they own and then using gmail SMTP to send patches (git config). You should try that.
And for this reason only i push my patches in my public repo all the time, mentioned in cover-letter.
http://git.linaro.org/gitweb?p=people/vireshk/linux.git%3Ba=shortlog%3Bh=ref...
Okay but you never copied me on the cover letter so I only saw this one patch. I will pull your tree and test now.
Thanks, Sekhar
On 27 March 2013 16:02, Sekhar Nori nsekhar@ti.com wrote:
Too bad. But something needs to be done about it since we all like to apply patches received in email ;). I have seen reports of people configuring gmail to know their @company.com address as another e-mail address they own and then using gmail SMTP to send patches (git config). You should try that.
I don't use ARM's email id for sending mails and linaro id uses gmail servers only for sending mails..
The problem is, when i am in office, i can' use google servers to send mails and whatever mail i send from within ARM, they are broken.
I can use linaro servers from outside office without any issues and it is never broken.
And for this reason only i push my patches in my public repo all the time, mentioned in cover-letter.
http://git.linaro.org/gitweb?p=people/vireshk/linux.git%3Ba=shortlog%3Bh=ref...
Okay but you never copied me on the cover letter so I only saw this one patch. I will pull your tree and test now.
This series was affecting lots of people and so every patch had a number of people added as cc. I didn't wanted to add everybody in cc of complete patchset.
BUT, i have another idea now. The way i used to add people in cc for specific patches (by editing the patch), i will do the same for cover-letter too next time.
And so all people will receive relevant patches + cover letter.
-- viresh
On 3/27/2013 3:51 PM, Viresh Kumar wrote:
On 27 March 2013 15:47, Sekhar Nori nsekhar@ti.com wrote:
On 3/25/2013 3:41 PM, Viresh Kumar wrote: I am unable to apply this patch for testing. Looks like this could be because of:
Content-Type: text/plain; charset="WINDOWS-1252"
Can you get rid of that charset="WINDOWS-1252"?
I can't, its MSF exchange server behind this.
And for this reason only i push my patches in my public repo all the time, mentioned in cover-letter.
http://git.linaro.org/gitweb?p=people/vireshk/linux.git%3Ba=shortlog%3Bh=ref...
I pulled your branch and briefly tested it on da850 evm. It doesn't seem to have broken anything. So you can add:
Acked-by: Sekhar Nori nsekhar@ti.com
Thanks, Sekhar
This patch moves cpufreq driver of ARM based imx platform to drivers/cpufreq.
Cc: Sascha Hauer kernel@pengutronix.de Signed-off-by: Viresh Kumar viresh.kumar@linaro.org --- arch/arm/Kconfig | 7 ------- arch/arm/mach-imx/Makefile | 1 - arch/arm/mach-imx/mxc.h | 6 +----- drivers/cpufreq/Kconfig.arm | 7 +++++++ drivers/cpufreq/Makefile | 1 + arch/arm/mach-imx/cpufreq.c => drivers/cpufreq/imx-cpufreq.c | 7 +++---- include/linux/cpufreq/imx.h | 10 ++++++++++ 7 files changed, 22 insertions(+), 17 deletions(-) rename arch/arm/mach-imx/cpufreq.c => drivers/cpufreq/imx-cpufreq.c (99%) create mode 100644 include/linux/cpufreq/imx.h
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 2c3bdce..0295a08 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -2156,13 +2156,6 @@ if ARCH_HAS_CPUFREQ
source "drivers/cpufreq/Kconfig"
-config CPU_FREQ_IMX - tristate "CPUfreq driver for i.MX CPUs" - depends on ARCH_MXC && CPU_FREQ - select CPU_FREQ_TABLE - help - This enables the CPUfreq driver for i.MX CPUs. - config CPU_FREQ_SA1100 bool
diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile index c4ce090..e313433 100644 --- a/arch/arm/mach-imx/Makefile +++ b/arch/arm/mach-imx/Makefile @@ -27,7 +27,6 @@ obj-$(CONFIG_IRAM_ALLOC) += iram_alloc.o obj-$(CONFIG_MXC_ULPI) += ulpi.o obj-$(CONFIG_MXC_USE_EPIT) += epit.o obj-$(CONFIG_MXC_DEBUG_BOARD) += 3ds_debugboard.o -obj-$(CONFIG_CPU_FREQ_IMX) += cpufreq.o
ifeq ($(CONFIG_CPU_IDLE),y) obj-y += cpuidle.o diff --git a/arch/arm/mach-imx/mxc.h b/arch/arm/mach-imx/mxc.h index 7dce17a..ec8d752 100644 --- a/arch/arm/mach-imx/mxc.h +++ b/arch/arm/mach-imx/mxc.h @@ -151,13 +151,9 @@ extern unsigned int __mxc_cpu_type;
#ifndef __ASSEMBLY__
-struct cpu_op { - u32 cpu_rate; -}; +#include <linux/cpufreq/imx.h>
int tzic_enable_wake(void); - -extern struct cpu_op *(*get_cpu_op)(int *op); #endif
#define cpu_is_mx3() (cpu_is_mx31() || cpu_is_mx35()) diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm index b72a2b3..3d83bc5 100644 --- a/drivers/cpufreq/Kconfig.arm +++ b/drivers/cpufreq/Kconfig.arm @@ -45,6 +45,13 @@ config ARM_HIGHBANK_CPUFREQ
If in doubt, say N.
+config ARM_IMX_CPUFREQ + tristate "CPUfreq driver for i.MX CPUs" + depends on ARCH_MXC + select CPU_FREQ_TABLE + help + This enables the CPUfreq driver for i.MX CPUs. + config ARM_IMX6Q_CPUFREQ tristate "Freescale i.MX6Q cpufreq support" depends on SOC_IMX6Q diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile index efce6c7..2759192 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile @@ -51,6 +51,7 @@ obj-$(CONFIG_ARM_EXYNOS4210_CPUFREQ) += exynos4210-cpufreq.o obj-$(CONFIG_ARM_EXYNOS4X12_CPUFREQ) += exynos4x12-cpufreq.o obj-$(CONFIG_ARM_EXYNOS5250_CPUFREQ) += exynos5250-cpufreq.o obj-$(CONFIG_ARM_HIGHBANK_CPUFREQ) += highbank-cpufreq.o +obj-$(CONFIG_ARM_IMX_CPUFREQ) += imx-cpufreq.o obj-$(CONFIG_ARM_IMX6Q_CPUFREQ) += imx6q-cpufreq.o obj-$(CONFIG_ARM_KIRKWOOD_CPUFREQ) += kirkwood-cpufreq.o obj-$(CONFIG_ARM_OMAP2PLUS_CPUFREQ) += omap-cpufreq.o diff --git a/arch/arm/mach-imx/cpufreq.c b/drivers/cpufreq/imx-cpufreq.c similarity index 99% rename from arch/arm/mach-imx/cpufreq.c rename to drivers/cpufreq/imx-cpufreq.c index cfce5e3..3b856e0 100644 --- a/arch/arm/mach-imx/cpufreq.c +++ b/drivers/cpufreq/imx-cpufreq.c @@ -17,14 +17,13 @@ * the CPU clock speed on the fly. */
-#include <linux/module.h> -#include <linux/cpufreq.h> #include <linux/clk.h> +#include <linux/cpufreq.h> +#include <linux/cpufreq/imx.h> #include <linux/err.h> +#include <linux/module.h> #include <linux/slab.h>
-#include "hardware.h" - #define CLK32_FREQ 32768 #define NANOSECOND (1000 * 1000 * 1000)
diff --git a/include/linux/cpufreq/imx.h b/include/linux/cpufreq/imx.h new file mode 100644 index 0000000..dd2cc49 --- /dev/null +++ b/include/linux/cpufreq/imx.h @@ -0,0 +1,10 @@ +#ifndef CPUFREQ_IMX_H +#define CPUFREQ_IMX_H + +struct cpu_op { + u32 cpu_rate; +}; + +extern struct cpu_op *(*get_cpu_op)(int *op); + +#endif
Hi,
On Mon, Mar 25, 2013 at 03:41:35PM +0530, Viresh Kumar wrote:
This patch moves cpufreq driver of ARM based imx platform to drivers/cpufreq.
I sent a patch that removes imx-cpufreq which was applied by Shawn: http://lists.infradead.org/pipermail/linux-arm-kernel/2013-March/158497.html
Regards,
Markus
On 27 March 2013 20:52, Markus Pargmann mpa@pengutronix.de wrote:
On Mon, Mar 25, 2013 at 03:41:35PM +0530, Viresh Kumar wrote:
This patch moves cpufreq driver of ARM based imx platform to drivers/cpufreq.
I sent a patch that removes imx-cpufreq which was applied by Shawn: http://lists.infradead.org/pipermail/linux-arm-kernel/2013-March/158497.html
I have seen that Markus and i will drop this patch from my list :)
This patch moves cpufreq driver of ARM based integrator platform to drivers/cpufreq.
Cc: Russell King linux@arm.linux.org.uk Signed-off-by: Viresh Kumar viresh.kumar@linaro.org --- arch/arm/Kconfig | 11 ----------- arch/arm/mach-integrator/Makefile | 1 - drivers/cpufreq/Kconfig.arm | 8 ++++++++ drivers/cpufreq/Makefile | 1 + .../cpu.c => drivers/cpufreq/integrator-cpufreq.c | 2 -- 5 files changed, 9 insertions(+), 14 deletions(-) rename arch/arm/mach-integrator/cpu.c => drivers/cpufreq/integrator-cpufreq.c (99%)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 0295a08..fbb9587 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -2162,17 +2162,6 @@ config CPU_FREQ_SA1100 config CPU_FREQ_SA1110 bool
-config CPU_FREQ_INTEGRATOR - tristate "CPUfreq driver for ARM Integrator CPUs" - depends on ARCH_INTEGRATOR && CPU_FREQ - default y - help - This enables the CPUfreq driver for ARM Integrator CPUs. - - For details, take a look at file:Documentation/cpu-freq. - - If in doubt, say Y. - config CPU_FREQ_PXA bool depends on CPU_FREQ && ARCH_PXA && PXA25x diff --git a/arch/arm/mach-integrator/Makefile b/arch/arm/mach-integrator/Makefile index 5521d18..d14d6b7 100644 --- a/arch/arm/mach-integrator/Makefile +++ b/arch/arm/mach-integrator/Makefile @@ -9,5 +9,4 @@ obj-$(CONFIG_ARCH_INTEGRATOR_AP) += integrator_ap.o obj-$(CONFIG_ARCH_INTEGRATOR_CP) += integrator_cp.o
obj-$(CONFIG_PCI) += pci_v3.o pci.o -obj-$(CONFIG_CPU_FREQ_INTEGRATOR) += cpu.o obj-$(CONFIG_INTEGRATOR_IMPD1) += impd1.o diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm index 3d83bc5..a345e20 100644 --- a/drivers/cpufreq/Kconfig.arm +++ b/drivers/cpufreq/Kconfig.arm @@ -61,6 +61,14 @@ config ARM_IMX6Q_CPUFREQ
If in doubt, say N.
+config ARM_INTEGRATOR + tristate "CPUfreq driver for ARM Integrator CPUs" + depends on ARCH_INTEGRATOR + default y + help + This enables the CPUfreq driver for ARM Integrator CPUs. + If in doubt, say Y. + config ARM_KIRKWOOD_CPUFREQ def_bool ARCH_KIRKWOOD && OF help diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile index 2759192..170f01a 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile @@ -53,6 +53,7 @@ obj-$(CONFIG_ARM_EXYNOS5250_CPUFREQ) += exynos5250-cpufreq.o obj-$(CONFIG_ARM_HIGHBANK_CPUFREQ) += highbank-cpufreq.o obj-$(CONFIG_ARM_IMX_CPUFREQ) += imx-cpufreq.o obj-$(CONFIG_ARM_IMX6Q_CPUFREQ) += imx6q-cpufreq.o +obj-$(CONFIG_ARM_INTEGRATOR) += integrator-cpufreq.o obj-$(CONFIG_ARM_KIRKWOOD_CPUFREQ) += kirkwood-cpufreq.o obj-$(CONFIG_ARM_OMAP2PLUS_CPUFREQ) += omap-cpufreq.o obj-$(CONFIG_ARM_S3C2416_CPUFREQ) += s3c2416-cpufreq.o diff --git a/arch/arm/mach-integrator/cpu.c b/drivers/cpufreq/integrator-cpufreq.c similarity index 99% rename from arch/arm/mach-integrator/cpu.c rename to drivers/cpufreq/integrator-cpufreq.c index df863c3..f7c99df 100644 --- a/arch/arm/mach-integrator/cpu.c +++ b/drivers/cpufreq/integrator-cpufreq.c @@ -1,6 +1,4 @@ /* - * linux/arch/arm/mach-integrator/cpu.c - * * Copyright (C) 2001-2002 Deep Blue Solutions Ltd. * * This program is free software; you can redistribute it and/or modify
Russell,
On 25 March 2013 15:41, Viresh Kumar viresh.kumar@linaro.org wrote:
This patch moves cpufreq driver of ARM based integrator platform to drivers/cpufreq.
Cc: Russell King linux@arm.linux.org.uk Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
arch/arm/Kconfig | 11 ----------- arch/arm/mach-integrator/Makefile | 1 - drivers/cpufreq/Kconfig.arm | 8 ++++++++ drivers/cpufreq/Makefile | 1 + .../cpu.c => drivers/cpufreq/integrator-cpufreq.c | 2 -- 5 files changed, 9 insertions(+), 14 deletions(-) rename arch/arm/mach-integrator/cpu.c => drivers/cpufreq/integrator-cpufreq.c (99%)
Can i have your Ack or views about this Patch?
Hi Linus,
On 25 March 2013 15:41, Viresh Kumar viresh.kumar@linaro.org wrote:
This patch moves cpufreq driver of ARM based integrator platform to drivers/cpufreq.
Cc: Russell King linux@arm.linux.org.uk Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
arch/arm/Kconfig | 11 ----------- arch/arm/mach-integrator/Makefile | 1 - drivers/cpufreq/Kconfig.arm | 8 ++++++++ drivers/cpufreq/Makefile | 1 + .../cpu.c => drivers/cpufreq/integrator-cpufreq.c | 2 -- 5 files changed, 9 insertions(+), 14 deletions(-) rename arch/arm/mach-integrator/cpu.c => drivers/cpufreq/integrator-cpufreq.c (99%)
I didn't knew that you are maintaining integrator now a days. Can i have your comments/Ack for this patch?
On Thu, Apr 4, 2013 at 10:32 AM, Viresh Kumar viresh.kumar@linaro.org wrote:
On 25 March 2013 15:41, Viresh Kumar viresh.kumar@linaro.org wrote:
This patch moves cpufreq driver of ARM based integrator platform to drivers/cpufreq.
Cc: Russell King linux@arm.linux.org.uk Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
arch/arm/Kconfig | 11 ----------- arch/arm/mach-integrator/Makefile | 1 - drivers/cpufreq/Kconfig.arm | 8 ++++++++ drivers/cpufreq/Makefile | 1 + .../cpu.c => drivers/cpufreq/integrator-cpufreq.c | 2 -- 5 files changed, 9 insertions(+), 14 deletions(-) rename arch/arm/mach-integrator/cpu.c => drivers/cpufreq/integrator-cpufreq.c (99%)
I didn't knew that you are maintaining integrator now a days. Can i have your comments/Ack for this patch?
Sure Acked-by: Linus Walleij linus.walleij@linaro.org
This file still #includes a few <mach/*> headers, which stand in the way for multiplatform, but whatever, it will need some heavy patching anyway.
Yours, Linus Walleij
This patch moves cpufreq driver of ARM based pxa3xx platform to drivers/cpufreq.
Cc: Eric Miao eric.y.miao@gmail.com Cc: Haojian Zhuang haojian.zhuang@gmail.com Signed-off-by: Viresh Kumar viresh.kumar@linaro.org --- arch/arm/mach-pxa/Makefile | 1 - arch/arm/mach-pxa/include/mach/generic.h | 1 + drivers/cpufreq/Makefile | 1 + .../mach-pxa/cpufreq-pxa3xx.c => drivers/cpufreq/pxa3xx-cpufreq.c | 5 +---- 4 files changed, 3 insertions(+), 5 deletions(-) create mode 100644 arch/arm/mach-pxa/include/mach/generic.h rename arch/arm/mach-pxa/cpufreq-pxa3xx.c => drivers/cpufreq/pxa3xx-cpufreq.c (98%)
diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile index 12c5005..929e700 100644 --- a/arch/arm/mach-pxa/Makefile +++ b/arch/arm/mach-pxa/Makefile @@ -10,7 +10,6 @@ obj-$(CONFIG_PM) += pm.o sleep.o standby.o ifeq ($(CONFIG_CPU_FREQ),y) obj-$(CONFIG_PXA25x) += cpufreq-pxa2xx.o obj-$(CONFIG_PXA27x) += cpufreq-pxa2xx.o -obj-$(CONFIG_PXA3xx) += cpufreq-pxa3xx.o endif
# Generic drivers that other drivers may depend upon diff --git a/arch/arm/mach-pxa/include/mach/generic.h b/arch/arm/mach-pxa/include/mach/generic.h new file mode 100644 index 0000000..665542e --- /dev/null +++ b/arch/arm/mach-pxa/include/mach/generic.h @@ -0,0 +1 @@ +#include "../../generic.h" diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile index 170f01a..c5c276a 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile @@ -56,6 +56,7 @@ obj-$(CONFIG_ARM_IMX6Q_CPUFREQ) += imx6q-cpufreq.o obj-$(CONFIG_ARM_INTEGRATOR) += integrator-cpufreq.o obj-$(CONFIG_ARM_KIRKWOOD_CPUFREQ) += kirkwood-cpufreq.o obj-$(CONFIG_ARM_OMAP2PLUS_CPUFREQ) += omap-cpufreq.o +obj-$(CONFIG_PXA3xx) += pxa3xx-cpufreq.o obj-$(CONFIG_ARM_S3C2416_CPUFREQ) += s3c2416-cpufreq.o obj-$(CONFIG_ARM_S3C64XX_CPUFREQ) += s3c64xx-cpufreq.o obj-$(CONFIG_ARM_S5PV210_CPUFREQ) += s5pv210-cpufreq.o diff --git a/arch/arm/mach-pxa/cpufreq-pxa3xx.c b/drivers/cpufreq/pxa3xx-cpufreq.c similarity index 98% rename from arch/arm/mach-pxa/cpufreq-pxa3xx.c rename to drivers/cpufreq/pxa3xx-cpufreq.c index 8c45b2b..15d60f8 100644 --- a/arch/arm/mach-pxa/cpufreq-pxa3xx.c +++ b/drivers/cpufreq/pxa3xx-cpufreq.c @@ -1,6 +1,4 @@ /* - * linux/arch/arm/mach-pxa/cpufreq-pxa3xx.c - * * Copyright (C) 2008 Marvell International Ltd. * * This program is free software; you can redistribute it and/or modify @@ -17,10 +15,9 @@ #include <linux/slab.h> #include <linux/io.h>
+#include <mach/generic.h> #include <mach/pxa3xx-regs.h>
-#include "generic.h" - #define HSS_104M (0) #define HSS_156M (1) #define HSS_208M (2)
Eric/Haojian,
On 25 March 2013 15:41, Viresh Kumar viresh.kumar@linaro.org wrote:
This patch moves cpufreq driver of ARM based pxa3xx platform to drivers/cpufreq.
Cc: Eric Miao eric.y.miao@gmail.com Cc: Haojian Zhuang haojian.zhuang@gmail.com Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
arch/arm/mach-pxa/Makefile | 1 - arch/arm/mach-pxa/include/mach/generic.h | 1 + drivers/cpufreq/Makefile | 1 + .../mach-pxa/cpufreq-pxa3xx.c => drivers/cpufreq/pxa3xx-cpufreq.c | 5 +---- 4 files changed, 3 insertions(+), 5 deletions(-) create mode 100644 arch/arm/mach-pxa/include/mach/generic.h rename arch/arm/mach-pxa/cpufreq-pxa3xx.c => drivers/cpufreq/pxa3xx-cpufreq.c (98%)
Can i have your Ack or views about 6/9 and 7/9 Patch?
On Sun, Mar 31, 2013 at 11:52 AM, Viresh Kumar viresh.kumar@linaro.org wrote:
Eric/Haojian,
On 25 March 2013 15:41, Viresh Kumar viresh.kumar@linaro.org wrote:
This patch moves cpufreq driver of ARM based pxa3xx platform to drivers/cpufreq.
Cc: Eric Miao eric.y.miao@gmail.com
Acked-by: Eric Miao eric.y.miao@gmail.com
Cc: Haojian Zhuang haojian.zhuang@gmail.com Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
arch/arm/mach-pxa/Makefile | 1 - arch/arm/mach-pxa/include/mach/generic.h | 1 + drivers/cpufreq/Makefile | 1 + .../mach-pxa/cpufreq-pxa3xx.c => drivers/cpufreq/pxa3xx-cpufreq.c | 5 +---- 4 files changed, 3 insertions(+), 5 deletions(-) create mode 100644 arch/arm/mach-pxa/include/mach/generic.h rename arch/arm/mach-pxa/cpufreq-pxa3xx.c => drivers/cpufreq/pxa3xx-cpufreq.c (98%)
Can i have your Ack or views about 6/9 and 7/9 Patch?
On 31 March 2013 10:54, Eric Miao eric.y.miao@gmail.com wrote:
On Sun, Mar 31, 2013 at 11:52 AM, Viresh Kumar viresh.kumar@linaro.org wrote:
Eric/Haojian,
On 25 March 2013 15:41, Viresh Kumar viresh.kumar@linaro.org wrote:
This patch moves cpufreq driver of ARM based pxa3xx platform to drivers/cpufreq.
Cc: Eric Miao eric.y.miao@gmail.com
Acked-by: Eric Miao eric.y.miao@gmail.com
Cc: Haojian Zhuang haojian.zhuang@gmail.com Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
arch/arm/mach-pxa/Makefile | 1 - arch/arm/mach-pxa/include/mach/generic.h | 1 + drivers/cpufreq/Makefile | 1 + .../mach-pxa/cpufreq-pxa3xx.c => drivers/cpufreq/pxa3xx-cpufreq.c | 5 +---- 4 files changed, 3 insertions(+), 5 deletions(-) create mode 100644 arch/arm/mach-pxa/include/mach/generic.h rename arch/arm/mach-pxa/cpufreq-pxa3xx.c => drivers/cpufreq/pxa3xx-cpufreq.c (98%)
Can i have your Ack or views about 6/9 and 7/9 Patch?
Is this for both the patches??
On Sun, Mar 31, 2013 at 2:45 PM, Viresh Kumar viresh.kumar@linaro.org wrote:
On 31 March 2013 10:54, Eric Miao eric.y.miao@gmail.com wrote:
On Sun, Mar 31, 2013 at 11:52 AM, Viresh Kumar viresh.kumar@linaro.org wrote:
Eric/Haojian,
On 25 March 2013 15:41, Viresh Kumar viresh.kumar@linaro.org wrote:
This patch moves cpufreq driver of ARM based pxa3xx platform to drivers/cpufreq.
Cc: Eric Miao eric.y.miao@gmail.com
Acked-by: Eric Miao eric.y.miao@gmail.com
Cc: Haojian Zhuang haojian.zhuang@gmail.com Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
arch/arm/mach-pxa/Makefile | 1 - arch/arm/mach-pxa/include/mach/generic.h | 1 + drivers/cpufreq/Makefile | 1 + .../mach-pxa/cpufreq-pxa3xx.c => drivers/cpufreq/pxa3xx-cpufreq.c | 5 +---- 4 files changed, 3 insertions(+), 5 deletions(-) create mode 100644 arch/arm/mach-pxa/include/mach/generic.h rename arch/arm/mach-pxa/cpufreq-pxa3xx.c => drivers/cpufreq/pxa3xx-cpufreq.c (98%)
Can i have your Ack or views about 6/9 and 7/9 Patch?
Is this for both the patches??
Yes. Take the Ack for both, those two should really belong to drivers/cpufreq.
This patch moves cpufreq driver of ARM based pxa2xx platform to drivers/cpufreq.
Cc: Eric Miao eric.y.miao@gmail.com Cc: Haojian Zhuang haojian.zhuang@gmail.com Signed-off-by: Viresh Kumar viresh.kumar@linaro.org --- arch/arm/Kconfig | 7 ------- arch/arm/mach-pxa/Makefile | 5 ----- drivers/cpufreq/Makefile | 2 ++ .../mach-pxa/cpufreq-pxa2xx.c => drivers/cpufreq/pxa2xx-cpufreq.c | 2 -- 4 files changed, 2 insertions(+), 14 deletions(-) rename arch/arm/mach-pxa/cpufreq-pxa2xx.c => drivers/cpufreq/pxa2xx-cpufreq.c (99%)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index fbb9587..39c8a3b 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -2162,13 +2162,6 @@ config CPU_FREQ_SA1100 config CPU_FREQ_SA1110 bool
-config CPU_FREQ_PXA - bool - depends on CPU_FREQ && ARCH_PXA && PXA25x - default y - select CPU_FREQ_DEFAULT_GOV_USERSPACE - select CPU_FREQ_TABLE - config CPU_FREQ_S3C bool help diff --git a/arch/arm/mach-pxa/Makefile b/arch/arm/mach-pxa/Makefile index 929e700..648867a 100644 --- a/arch/arm/mach-pxa/Makefile +++ b/arch/arm/mach-pxa/Makefile @@ -7,11 +7,6 @@ obj-y += clock.o devices.o generic.o irq.o \ time.o reset.o obj-$(CONFIG_PM) += pm.o sleep.o standby.o
-ifeq ($(CONFIG_CPU_FREQ),y) -obj-$(CONFIG_PXA25x) += cpufreq-pxa2xx.o -obj-$(CONFIG_PXA27x) += cpufreq-pxa2xx.o -endif - # Generic drivers that other drivers may depend upon
# SoC-specific code diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile index c5c276a..aa00ca4 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile @@ -56,6 +56,8 @@ obj-$(CONFIG_ARM_IMX6Q_CPUFREQ) += imx6q-cpufreq.o obj-$(CONFIG_ARM_INTEGRATOR) += integrator-cpufreq.o obj-$(CONFIG_ARM_KIRKWOOD_CPUFREQ) += kirkwood-cpufreq.o obj-$(CONFIG_ARM_OMAP2PLUS_CPUFREQ) += omap-cpufreq.o +obj-$(CONFIG_PXA25x) += pxa2xx-cpufreq.o +obj-$(CONFIG_PXA27x) += pxa2xx-cpufreq.o obj-$(CONFIG_PXA3xx) += pxa3xx-cpufreq.o obj-$(CONFIG_ARM_S3C2416_CPUFREQ) += s3c2416-cpufreq.o obj-$(CONFIG_ARM_S3C64XX_CPUFREQ) += s3c64xx-cpufreq.o diff --git a/arch/arm/mach-pxa/cpufreq-pxa2xx.c b/drivers/cpufreq/pxa2xx-cpufreq.c similarity index 99% rename from arch/arm/mach-pxa/cpufreq-pxa2xx.c rename to drivers/cpufreq/pxa2xx-cpufreq.c index f1ca4da..fe4c55b 100644 --- a/arch/arm/mach-pxa/cpufreq-pxa2xx.c +++ b/drivers/cpufreq/pxa2xx-cpufreq.c @@ -1,6 +1,4 @@ /* - * linux/arch/arm/mach-pxa/cpufreq-pxa2xx.c - * * Copyright (C) 2002,2003 Intrinsyc Software * * This program is free software; you can redistribute it and/or modify
This patch moves cpufreq driver of Samsung's ARM based s3c24xx platform to drivers/cpufreq.
Cc: Ben Dooks ben-linux@fluff.org Cc: Kukjin Kim kgene.kim@samsung.com Cc: linux-samsung-soc@vger.kernel.org Signed-off-by: Viresh Kumar viresh.kumar@linaro.org --- arch/arm/Kconfig | 46 --------------- arch/arm/mach-s3c24xx/Kconfig | 66 +++++++++------------- arch/arm/mach-s3c24xx/Makefile | 6 -- arch/arm/mach-s3c24xx/{ => include/mach}/s3c2412.h | 0 arch/arm/mach-s3c24xx/iotiming-s3c2412.c | 2 +- arch/arm/plat-samsung/include/plat/cpu-freq-core.h | 10 ++-- arch/arm/plat-samsung/include/plat/cpu-freq.h | 6 +- drivers/cpufreq/Kconfig.arm | 58 +++++++++++++++++++ drivers/cpufreq/Makefile | 5 ++ .../cpufreq/s3c2410-cpufreq.c | 0 .../cpufreq/s3c2412-cpufreq.c | 3 +- .../cpufreq/s3c2440-cpufreq.c | 0 .../cpufreq/s3c24xx-cpufreq-debugfs.c | 0 .../cpufreq.c => drivers/cpufreq/s3c24xx-cpufreq.c | 0 14 files changed, 100 insertions(+), 102 deletions(-) rename arch/arm/mach-s3c24xx/{ => include/mach}/s3c2412.h (100%) rename arch/arm/mach-s3c24xx/cpufreq-s3c2410.c => drivers/cpufreq/s3c2410-cpufreq.c (100%) rename arch/arm/mach-s3c24xx/cpufreq-s3c2412.c => drivers/cpufreq/s3c2412-cpufreq.c (99%) rename arch/arm/mach-s3c24xx/cpufreq-s3c2440.c => drivers/cpufreq/s3c2440-cpufreq.c (100%) rename arch/arm/mach-s3c24xx/cpufreq-debugfs.c => drivers/cpufreq/s3c24xx-cpufreq-debugfs.c (100%) rename arch/arm/mach-s3c24xx/cpufreq.c => drivers/cpufreq/s3c24xx-cpufreq.c (100%)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 39c8a3b..cdbe688 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -2162,52 +2162,6 @@ config CPU_FREQ_SA1100 config CPU_FREQ_SA1110 bool
-config CPU_FREQ_S3C - bool - help - Internal configuration node for common cpufreq on Samsung SoC - -config CPU_FREQ_S3C24XX - bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)" - depends on ARCH_S3C24XX && CPU_FREQ - select CPU_FREQ_S3C - help - This enables the CPUfreq driver for the Samsung S3C24XX family - of CPUs. - - For details, take a look at file:Documentation/cpu-freq. - - If in doubt, say N. - -config CPU_FREQ_S3C24XX_PLL - bool "Support CPUfreq changing of PLL frequency (EXPERIMENTAL)" - depends on CPU_FREQ_S3C24XX - help - Compile in support for changing the PLL frequency from the - S3C24XX series CPUfreq driver. The PLL takes time to settle - after a frequency change, so by default it is not enabled. - - This also means that the PLL tables for the selected CPU(s) will - be built which may increase the size of the kernel image. - -config CPU_FREQ_S3C24XX_DEBUG - bool "Debug CPUfreq Samsung driver core" - depends on CPU_FREQ_S3C24XX - help - Enable s3c_freq_dbg for the Samsung S3C CPUfreq core - -config CPU_FREQ_S3C24XX_IODEBUG - bool "Debug CPUfreq Samsung driver IO timing" - depends on CPU_FREQ_S3C24XX - help - Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core - -config CPU_FREQ_S3C24XX_DEBUGFS - bool "Export debugfs for CPUFreq" - depends on CPU_FREQ_S3C24XX && DEBUG_FS - help - Export status information via debugfs. - endif
source "drivers/cpuidle/Kconfig" diff --git a/arch/arm/mach-s3c24xx/Kconfig b/arch/arm/mach-s3c24xx/Kconfig index 37f513d..81d2f3c 100644 --- a/arch/arm/mach-s3c24xx/Kconfig +++ b/arch/arm/mach-s3c24xx/Kconfig @@ -28,7 +28,7 @@ config CPU_S3C2410 select CPU_ARM920T select CPU_LLSERIAL_S3C2410 select S3C2410_CLOCK - select S3C2410_CPUFREQ if CPU_FREQ_S3C24XX + select ARM_S3C2410_CPUFREQ if ARM_S3C24XX_CPUFREQ select S3C2410_PM if PM help Support for S3C2410 and S3C2410A family from the S3C24XX line @@ -202,27 +202,38 @@ config S3C24XX_GPIO_EXTRA128 Add an extra 128 gpio numbers to the available GPIO pool. This is available for boards that need extra gpios for external devices.
+config S3C24XX_PLL + bool "Support CPUfreq changing of PLL frequency (EXPERIMENTAL)" + depends on ARM_S3C24XX + help + Compile in support for changing the PLL frequency from the + S3C24XX series CPUfreq driver. The PLL takes time to settle + after a frequency change, so by default it is not enabled. + + This also means that the PLL tables for the selected CPU(s) will + be built which may increase the size of the kernel image. + # cpu frequency items common between s3c2410 and s3c2440/s3c2442
config S3C2410_IOTIMING bool - depends on CPU_FREQ_S3C24XX + depends on ARM_S3C24XX_CPUFREQ help Internal node to select io timing code that is common to the s3c2410 and s3c2440/s3c2442 cpu frequency support.
config S3C2410_CPUFREQ_UTILS - bool - depends on CPU_FREQ_S3C24XX - help - Internal node to select timing code that is common to the s3c2410 - and s3c2440/s3c244 cpu frequency support. + bool + depends on ARM_S3C24XX_CPUFREQ + help + Internal node to select timing code that is common to the s3c2410 + and s3c2440/s3c244 cpu frequency support.
# cpu frequency support common to s3c2412, s3c2413 and s3c2442
config S3C2412_IOTIMING bool - depends on CPU_FREQ_S3C24XX && (CPU_S3C2412 || CPU_S3C2443) + depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2412 || CPU_S3C2443) help Intel node to select io timing code that is common to the s3c2412 and the s3c2443. @@ -231,16 +242,9 @@ config S3C2412_IOTIMING
if CPU_S3C2410
-config S3C2410_CPUFREQ - bool - depends on CPU_FREQ_S3C24XX && CPU_S3C2410 - select S3C2410_CPUFREQ_UTILS - help - CPU Frequency scaling support for S3C2410 - config S3C2410_PLL bool - depends on S3C2410_CPUFREQ && CPU_FREQ_S3C24XX_PLL + depends on ARM_S3C2410_CPUFREQ && S3C24XX_PLL default y help Select the PLL table for the S3C2410 @@ -276,7 +280,7 @@ config ARCH_BAST bool "Simtec Electronics BAST (EB2410ITX)" select ISA select MACH_BAST_IDE - select S3C2410_IOTIMING if S3C2410_CPUFREQ + select S3C2410_IOTIMING if ARM_S3C2410_CPUFREQ select S3C24XX_DCLK select S3C24XX_SIMTEC_NOR select S3C24XX_SIMTEC_PM if PM @@ -385,14 +389,6 @@ config CPU_S3C2412_ONLY !CPU_S3C2443 && CPU_S3C2412 default y
-config S3C2412_CPUFREQ - bool - depends on CPU_FREQ_S3C24XX && CPU_S3C2412 - default y - select S3C2412_IOTIMING - help - CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs. - config S3C2412_DMA bool help @@ -493,14 +489,6 @@ endif # CPU_S3C2416
if CPU_S3C2440
-config S3C2440_CPUFREQ - bool "S3C2440/S3C2442 CPU Frequency scaling support" - depends on CPU_FREQ_S3C24XX && (CPU_S3C2440 || CPU_S3C2442) - default y - select S3C2410_CPUFREQ_UTILS - help - CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs. - config S3C2440_DMA bool help @@ -520,15 +508,15 @@ config S3C2440_XTAL_16934400
config S3C2440_PLL_12000000 bool - depends on S3C2440_CPUFREQ && S3C2440_XTAL_12000000 - default y if CPU_FREQ_S3C24XX_PLL + depends on ARM_S3C2440_CPUFREQ && S3C2440_XTAL_12000000 + default y if S3C24XX_PLL help PLL tables for S3C2440 or S3C2442 CPUs with 12MHz crystals.
config S3C2440_PLL_16934400 bool - depends on S3C2440_CPUFREQ && S3C2440_XTAL_16934400 - default y if CPU_FREQ_S3C24XX_PLL + depends on ARM_S3C2440_CPUFREQ && S3C2440_XTAL_16934400 + default y if S3C24XX_PLL help PLL tables for S3C2440 or S3C2442 CPUs with 16.934MHz crystals.
@@ -582,7 +570,7 @@ config MACH_NEXCODER_2440
config MACH_OSIRIS bool "Simtec IM2440D20 (OSIRIS) module" - select S3C2410_IOTIMING if S3C2440_CPUFREQ + select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ select S3C2440_XTAL_12000000 select S3C24XX_DCLK select S3C24XX_GPIO_EXTRA128 @@ -655,7 +643,7 @@ config MACH_RX1950 bool "HP iPAQ rx1950" select I2C select PM_H1940 if PM - select S3C2410_IOTIMING if S3C2440_CPUFREQ + select S3C2410_IOTIMING if ARM_S3C2440_CPUFREQ select S3C2440_XTAL_16934400 select S3C24XX_DCLK select S3C24XX_PWM diff --git a/arch/arm/mach-s3c24xx/Makefile b/arch/arm/mach-s3c24xx/Makefile index af53d27..15ce13c 100644 --- a/arch/arm/mach-s3c24xx/Makefile +++ b/arch/arm/mach-s3c24xx/Makefile @@ -17,13 +17,11 @@ obj- := obj-y += common.o irq.o
obj-$(CONFIG_CPU_S3C2410) += s3c2410.o -obj-$(CONFIG_S3C2410_CPUFREQ) += cpufreq-s3c2410.o obj-$(CONFIG_S3C2410_DMA) += dma-s3c2410.o obj-$(CONFIG_S3C2410_PLL) += pll-s3c2410.o obj-$(CONFIG_S3C2410_PM) += pm-s3c2410.o sleep-s3c2410.o
obj-$(CONFIG_CPU_S3C2412) += s3c2412.o irq-s3c2412.o clock-s3c2412.o -obj-$(CONFIG_S3C2412_CPUFREQ) += cpufreq-s3c2412.o obj-$(CONFIG_S3C2412_DMA) += dma-s3c2412.o obj-$(CONFIG_S3C2412_PM) += pm-s3c2412.o obj-$(CONFIG_S3C2412_PM_SLEEP) += sleep-s3c2412.o @@ -34,7 +32,6 @@ obj-$(CONFIG_S3C2416_PM) += pm-s3c2416.o obj-$(CONFIG_CPU_S3C2440) += s3c2440.o irq-s3c2440.o clock-s3c2440.o obj-$(CONFIG_CPU_S3C2442) += s3c2442.o obj-$(CONFIG_CPU_S3C244X) += s3c244x.o irq-s3c244x.o clock-s3c244x.o -obj-$(CONFIG_S3C2440_CPUFREQ) += cpufreq-s3c2440.o obj-$(CONFIG_S3C2440_DMA) += dma-s3c2440.o obj-$(CONFIG_S3C2440_PLL_12000000) += pll-s3c2440-12000000.o obj-$(CONFIG_S3C2440_PLL_16934400) += pll-s3c2440-16934400.o @@ -59,9 +56,6 @@ obj-$(CONFIG_S3C2412_IOTIMING) += iotiming-s3c2412.o obj-$(CONFIG_S3C2443_COMMON) += common-s3c2443.o obj-$(CONFIG_S3C2443_DMA) += dma-s3c2443.o
-obj-$(CONFIG_CPU_FREQ_S3C24XX) += cpufreq.o -obj-$(CONFIG_CPU_FREQ_S3C24XX_DEBUGFS) += cpufreq-debugfs.o - # # machine support # following is ordered alphabetically by option text. diff --git a/arch/arm/mach-s3c24xx/s3c2412.h b/arch/arm/mach-s3c24xx/include/mach/s3c2412.h similarity index 100% rename from arch/arm/mach-s3c24xx/s3c2412.h rename to arch/arm/mach-s3c24xx/include/mach/s3c2412.h diff --git a/arch/arm/mach-s3c24xx/iotiming-s3c2412.c b/arch/arm/mach-s3c24xx/iotiming-s3c2412.c index 663436d..bd064c0 100644 --- a/arch/arm/mach-s3c24xx/iotiming-s3c2412.c +++ b/arch/arm/mach-s3c24xx/iotiming-s3c2412.c @@ -31,7 +31,7 @@ #include <plat/cpu-freq-core.h> #include <plat/clock.h>
-#include "s3c2412.h" +#include <mach/s3c2412.h>
#define print_ns(x) ((x) / 10), ((x) % 10)
diff --git a/arch/arm/plat-samsung/include/plat/cpu-freq-core.h b/arch/arm/plat-samsung/include/plat/cpu-freq-core.h index 95509d8..d7e1715 100644 --- a/arch/arm/plat-samsung/include/plat/cpu-freq-core.h +++ b/arch/arm/plat-samsung/include/plat/cpu-freq-core.h @@ -202,7 +202,7 @@ extern int s3c_plltab_register(struct cpufreq_frequency_table *plls, extern struct s3c_cpufreq_config *s3c_cpufreq_getconfig(void); extern struct s3c_iotimings *s3c_cpufreq_getiotimings(void);
-#ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUGFS +#ifdef CONFIG_ARM_S3C24XX_CPUFREQ_DEBUGFS #define s3c_cpufreq_debugfs_call(x) x #else #define s3c_cpufreq_debugfs_call(x) NULL @@ -259,17 +259,17 @@ extern void s3c2412_iotiming_set(struct s3c_cpufreq_config *cfg, #define s3c2412_iotiming_set NULL #endif /* CONFIG_S3C2412_IOTIMING */
-#ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUG +#ifdef CONFIG_ARM_S3C24XX_CPUFREQ_DEBUG #define s3c_freq_dbg(x...) printk(KERN_INFO x) #else #define s3c_freq_dbg(x...) do { if (0) printk(x); } while (0) -#endif /* CONFIG_CPU_FREQ_S3C24XX_DEBUG */ +#endif /* CONFIG_ARM_S3C24XX_CPUFREQ_DEBUG */
-#ifdef CONFIG_CPU_FREQ_S3C24XX_IODEBUG +#ifdef CONFIG_ARM_S3C24XX_CPUFREQ_IODEBUG #define s3c_freq_iodbg(x...) printk(KERN_INFO x) #else #define s3c_freq_iodbg(x...) do { if (0) printk(x); } while (0) -#endif /* CONFIG_CPU_FREQ_S3C24XX_IODEBUG */ +#endif /* CONFIG_ARM_S3C24XX_CPUFREQ_IODEBUG */
static inline int s3c_cpufreq_addfreq(struct cpufreq_frequency_table *table, int index, size_t table_size, diff --git a/arch/arm/plat-samsung/include/plat/cpu-freq.h b/arch/arm/plat-samsung/include/plat/cpu-freq.h index 80c4a80..85517ab 100644 --- a/arch/arm/plat-samsung/include/plat/cpu-freq.h +++ b/arch/arm/plat-samsung/include/plat/cpu-freq.h @@ -126,7 +126,7 @@ struct s3c_cpufreq_board { };
/* Things depending on frequency scaling. */ -#ifdef CONFIG_CPU_FREQ_S3C +#ifdef CONFIG_ARM_S3C_CPUFREQ #define __init_or_cpufreq #else #define __init_or_cpufreq __init @@ -134,7 +134,7 @@ struct s3c_cpufreq_board {
/* Board functions */
-#ifdef CONFIG_CPU_FREQ_S3C +#ifdef CONFIG_ARM_S3C_CPUFREQ extern int s3c_cpufreq_setboard(struct s3c_cpufreq_board *board); #else
@@ -142,4 +142,4 @@ static inline int s3c_cpufreq_setboard(struct s3c_cpufreq_board *board) { return 0; } -#endif /* CONFIG_CPU_FREQ_S3C */ +#endif /* CONFIG_ARM_S3C_CPUFREQ */ diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm index a345e20..3021e35 100644 --- a/drivers/cpufreq/Kconfig.arm +++ b/drivers/cpufreq/Kconfig.arm @@ -81,6 +81,56 @@ config ARM_OMAP2PLUS_CPUFREQ default ARCH_OMAP2PLUS select CPU_FREQ_TABLE
+config ARM_S3C_CPUFREQ + bool + help + Internal configuration node for common cpufreq on Samsung SoC + +config ARM_S3C24XX_CPUFREQ + bool "CPUfreq driver for Samsung S3C24XX series CPUs (EXPERIMENTAL)" + depends on ARCH_S3C24XX + select ARM_S3C_CPUFREQ + help + This enables the CPUfreq driver for the Samsung S3C24XX family + of CPUs. + + For details, take a look at file:Documentation/cpu-freq. + + If in doubt, say N. + +config ARM_S3C24XX_CPUFREQ_DEBUG + bool "Debug CPUfreq Samsung driver core" + depends on ARM_S3C24XX_CPUFREQ + help + Enable s3c_freq_dbg for the Samsung S3C CPUfreq core + +config ARM_S3C24XX_CPUFREQ_IODEBUG + bool "Debug CPUfreq Samsung driver IO timing" + depends on ARM_S3C24XX_CPUFREQ + help + Enable s3c_freq_iodbg for the Samsung S3C CPUfreq core + +config ARM_S3C24XX_CPUFREQ_DEBUGFS + bool "Export debugfs for CPUFreq" + depends on ARM_S3C24XX_CPUFREQ && DEBUG_FS + help + Export status information via debugfs. + +config ARM_S3C2410_CPUFREQ + bool + depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2410 + select S3C2410_CPUFREQ_UTILS + help + CPU Frequency scaling support for S3C2410 + +config ARM_S3C2412_CPUFREQ + bool + depends on ARM_S3C24XX_CPUFREQ && CPU_S3C2412 + default y + select S3C2412_IOTIMING + help + CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs. + config ARM_S3C2416_CPUFREQ bool "S3C2416 CPU Frequency scaling support" depends on CPU_S3C2416 @@ -103,6 +153,14 @@ config ARM_S3C2416_CPUFREQ_VCORESCALE
If in doubt, say N.
+config ARM_S3C2440_CPUFREQ + bool "S3C2440/S3C2442 CPU Frequency scaling support" + depends on ARM_S3C24XX_CPUFREQ && (CPU_S3C2440 || CPU_S3C2442) + select S3C2410_CPUFREQ_UTILS + default y + help + CPU Frequency scaling support for S3C2440 and S3C2442 SoC CPUs. + config ARM_S3C64XX_CPUFREQ bool "Samsung S3C64XX" depends on CPU_S3C6410 diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile index aa00ca4..3886eda 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile @@ -59,7 +59,12 @@ obj-$(CONFIG_ARM_OMAP2PLUS_CPUFREQ) += omap-cpufreq.o obj-$(CONFIG_PXA25x) += pxa2xx-cpufreq.o obj-$(CONFIG_PXA27x) += pxa2xx-cpufreq.o obj-$(CONFIG_PXA3xx) += pxa3xx-cpufreq.o +obj-$(CONFIG_ARM_S3C24XX_CPUFREQ) += s3c24xx-cpufreq.o +obj-$(CONFIG_ARM_S3C24XX_CPUFREQ_DEBUGFS) += s3c24xx-cpufreq-debugfs.o +obj-$(CONFIG_ARM_S3C2410_CPUFREQ) += s3c2410-cpufreq.o +obj-$(CONFIG_ARM_S3C2412_CPUFREQ) += s3c2412-cpufreq.o obj-$(CONFIG_ARM_S3C2416_CPUFREQ) += s3c2416-cpufreq.o +obj-$(CONFIG_ARM_S3C2440_CPUFREQ) += s3c2440-cpufreq.o obj-$(CONFIG_ARM_S3C64XX_CPUFREQ) += s3c64xx-cpufreq.o obj-$(CONFIG_ARM_S5PV210_CPUFREQ) += s5pv210-cpufreq.o obj-$(CONFIG_ARM_SPEAR_CPUFREQ) += spear-cpufreq.o diff --git a/arch/arm/mach-s3c24xx/cpufreq-s3c2410.c b/drivers/cpufreq/s3c2410-cpufreq.c similarity index 100% rename from arch/arm/mach-s3c24xx/cpufreq-s3c2410.c rename to drivers/cpufreq/s3c2410-cpufreq.c diff --git a/arch/arm/mach-s3c24xx/cpufreq-s3c2412.c b/drivers/cpufreq/s3c2412-cpufreq.c similarity index 99% rename from arch/arm/mach-s3c24xx/cpufreq-s3c2412.c rename to drivers/cpufreq/s3c2412-cpufreq.c index 8bf0f3a..4645b48 100644 --- a/arch/arm/mach-s3c24xx/cpufreq-s3c2412.c +++ b/drivers/cpufreq/s3c2412-cpufreq.c @@ -25,13 +25,12 @@ #include <asm/mach/map.h>
#include <mach/regs-clock.h> +#include <mach/s3c2412.h>
#include <plat/cpu.h> #include <plat/clock.h> #include <plat/cpu-freq-core.h>
-#include "s3c2412.h" - /* our clock resources. */ static struct clk *xtal; static struct clk *fclk; diff --git a/arch/arm/mach-s3c24xx/cpufreq-s3c2440.c b/drivers/cpufreq/s3c2440-cpufreq.c similarity index 100% rename from arch/arm/mach-s3c24xx/cpufreq-s3c2440.c rename to drivers/cpufreq/s3c2440-cpufreq.c diff --git a/arch/arm/mach-s3c24xx/cpufreq-debugfs.c b/drivers/cpufreq/s3c24xx-cpufreq-debugfs.c similarity index 100% rename from arch/arm/mach-s3c24xx/cpufreq-debugfs.c rename to drivers/cpufreq/s3c24xx-cpufreq-debugfs.c diff --git a/arch/arm/mach-s3c24xx/cpufreq.c b/drivers/cpufreq/s3c24xx-cpufreq.c similarity index 100% rename from arch/arm/mach-s3c24xx/cpufreq.c rename to drivers/cpufreq/s3c24xx-cpufreq.c
On 25 March 2013 15:41, Viresh Kumar viresh.kumar@linaro.org wrote:
This patch moves cpufreq driver of Samsung's ARM based s3c24xx platform to drivers/cpufreq.
Cc: Ben Dooks ben-linux@fluff.org Cc: Kukjin Kim kgene.kim@samsung.com Cc: linux-samsung-soc@vger.kernel.org Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
arch/arm/Kconfig | 46 --------------- arch/arm/mach-s3c24xx/Kconfig | 66 +++++++++------------- arch/arm/mach-s3c24xx/Makefile | 6 -- arch/arm/mach-s3c24xx/{ => include/mach}/s3c2412.h | 0 arch/arm/mach-s3c24xx/iotiming-s3c2412.c | 2 +- arch/arm/plat-samsung/include/plat/cpu-freq-core.h | 10 ++-- arch/arm/plat-samsung/include/plat/cpu-freq.h | 6 +- drivers/cpufreq/Kconfig.arm | 58 +++++++++++++++++++ drivers/cpufreq/Makefile | 5 ++ .../cpufreq/s3c2410-cpufreq.c | 0 .../cpufreq/s3c2412-cpufreq.c | 3 +- .../cpufreq/s3c2440-cpufreq.c | 0 .../cpufreq/s3c24xx-cpufreq-debugfs.c | 0 .../cpufreq.c => drivers/cpufreq/s3c24xx-cpufreq.c | 0 14 files changed, 100 insertions(+), 102 deletions(-) rename arch/arm/mach-s3c24xx/{ => include/mach}/s3c2412.h (100%) rename arch/arm/mach-s3c24xx/cpufreq-s3c2410.c => drivers/cpufreq/s3c2410-cpufreq.c (100%) rename arch/arm/mach-s3c24xx/cpufreq-s3c2412.c => drivers/cpufreq/s3c2412-cpufreq.c (99%) rename arch/arm/mach-s3c24xx/cpufreq-s3c2440.c => drivers/cpufreq/s3c2440-cpufreq.c (100%) rename arch/arm/mach-s3c24xx/cpufreq-debugfs.c => drivers/cpufreq/s3c24xx-cpufreq-debugfs.c (100%) rename arch/arm/mach-s3c24xx/cpufreq.c => drivers/cpufreq/s3c24xx-cpufreq.c (100%)
Ben/Kukjin,
Can i have your View or Ack for this patch?
On 31 March 2013 09:23, Viresh Kumar viresh.kumar@linaro.org wrote:
On 25 March 2013 15:41, Viresh Kumar viresh.kumar@linaro.org wrote:
This patch moves cpufreq driver of Samsung's ARM based s3c24xx platform to drivers/cpufreq.
Cc: Ben Dooks ben-linux@fluff.org Cc: Kukjin Kim kgene.kim@samsung.com Cc: linux-samsung-soc@vger.kernel.org Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
arch/arm/Kconfig | 46 --------------- arch/arm/mach-s3c24xx/Kconfig | 66 +++++++++------------- arch/arm/mach-s3c24xx/Makefile | 6 -- arch/arm/mach-s3c24xx/{ => include/mach}/s3c2412.h | 0 arch/arm/mach-s3c24xx/iotiming-s3c2412.c | 2 +- arch/arm/plat-samsung/include/plat/cpu-freq-core.h | 10 ++-- arch/arm/plat-samsung/include/plat/cpu-freq.h | 6 +- drivers/cpufreq/Kconfig.arm | 58 +++++++++++++++++++ drivers/cpufreq/Makefile | 5 ++ .../cpufreq/s3c2410-cpufreq.c | 0 .../cpufreq/s3c2412-cpufreq.c | 3 +- .../cpufreq/s3c2440-cpufreq.c | 0 .../cpufreq/s3c24xx-cpufreq-debugfs.c | 0 .../cpufreq.c => drivers/cpufreq/s3c24xx-cpufreq.c | 0 14 files changed, 100 insertions(+), 102 deletions(-) rename arch/arm/mach-s3c24xx/{ => include/mach}/s3c2412.h (100%) rename arch/arm/mach-s3c24xx/cpufreq-s3c2410.c => drivers/cpufreq/s3c2410-cpufreq.c (100%) rename arch/arm/mach-s3c24xx/cpufreq-s3c2412.c => drivers/cpufreq/s3c2412-cpufreq.c (99%) rename arch/arm/mach-s3c24xx/cpufreq-s3c2440.c => drivers/cpufreq/s3c2440-cpufreq.c (100%) rename arch/arm/mach-s3c24xx/cpufreq-debugfs.c => drivers/cpufreq/s3c24xx-cpufreq-debugfs.c (100%) rename arch/arm/mach-s3c24xx/cpufreq.c => drivers/cpufreq/s3c24xx-cpufreq.c (100%)
Ben/Kukjin,
Can i have your View or Ack for this patch?
Ping!!
This patch moves cpufreq driver of ARM based sa11x0 platform to drivers/cpufreq.
Cc: Russell King linux@arm.linux.org.uk Signed-off-by: Viresh Kumar viresh.kumar@linaro.org --- arch/arm/Kconfig | 8 ------- arch/arm/mach-sa1100/Kconfig | 26 +++++++++++----------- arch/arm/mach-sa1100/Makefile | 3 --- arch/arm/mach-sa1100/include/mach/generic.h | 1 + drivers/cpufreq/Kconfig.arm | 6 +++++ drivers/cpufreq/Makefile | 2 ++ .../cpufreq/sa1100-cpufreq.c | 3 +-- .../cpufreq/sa1110-cpufreq.c | 3 +-- 8 files changed, 24 insertions(+), 28 deletions(-) create mode 100644 arch/arm/mach-sa1100/include/mach/generic.h rename arch/arm/mach-sa1100/cpu-sa1100.c => drivers/cpufreq/sa1100-cpufreq.c (99%) rename arch/arm/mach-sa1100/cpu-sa1110.c => drivers/cpufreq/sa1110-cpufreq.c (99%)
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index cdbe688..8d73413 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -2153,15 +2153,7 @@ endmenu menu "CPU Power Management"
if ARCH_HAS_CPUFREQ - source "drivers/cpufreq/Kconfig" - -config CPU_FREQ_SA1100 - bool - -config CPU_FREQ_SA1110 - bool - endif
source "drivers/cpuidle/Kconfig" diff --git a/arch/arm/mach-sa1100/Kconfig b/arch/arm/mach-sa1100/Kconfig index ca14dbd..04f9784 100644 --- a/arch/arm/mach-sa1100/Kconfig +++ b/arch/arm/mach-sa1100/Kconfig @@ -4,7 +4,7 @@ menu "SA11x0 Implementations"
config SA1100_ASSABET bool "Assabet" - select CPU_FREQ_SA1110 + select ARM_SA1110_CPUFREQ help Say Y here if you are using the Intel(R) StrongARM(R) SA-1110 Microprocessor Development Board (also known as the Assabet). @@ -20,7 +20,7 @@ config ASSABET_NEPONSET
config SA1100_CERF bool "CerfBoard" - select CPU_FREQ_SA1110 + select ARM_SA1110_CPUFREQ help The Intrinsyc CerfBoard is based on the StrongARM 1110 (Discontinued). More information is available at: @@ -47,7 +47,7 @@ endchoice
config SA1100_COLLIE bool "Sharp Zaurus SL5500" - # FIXME: select CPU_FREQ_SA11x0 + # FIXME: select ARM_SA11x0_CPUFREQ select SHARP_LOCOMO select SHARP_PARAM select SHARP_SCOOP @@ -56,7 +56,7 @@ config SA1100_COLLIE
config SA1100_H3100 bool "Compaq iPAQ H3100" - select CPU_FREQ_SA1110 + select ARM_SA1110_CPUFREQ select HTC_EGPIO help Say Y here if you intend to run this kernel on the Compaq iPAQ @@ -67,7 +67,7 @@ config SA1100_H3100
config SA1100_H3600 bool "Compaq iPAQ H3600/H3700" - select CPU_FREQ_SA1110 + select ARM_SA1110_CPUFREQ select HTC_EGPIO help Say Y here if you intend to run this kernel on the Compaq iPAQ @@ -78,7 +78,7 @@ config SA1100_H3600
config SA1100_BADGE4 bool "HP Labs BadgePAD 4" - select CPU_FREQ_SA1100 + select ARM_SA1100_CPUFREQ select SA1111 help Say Y here if you want to build a kernel for the HP Laboratories @@ -86,7 +86,7 @@ config SA1100_BADGE4
config SA1100_JORNADA720 bool "HP Jornada 720" - # FIXME: select CPU_FREQ_SA11x0 + # FIXME: select ARM_SA11x0_CPUFREQ select SA1111 help Say Y here if you want to build a kernel for the HP Jornada 720 @@ -105,14 +105,14 @@ config SA1100_JORNADA720_SSP
config SA1100_HACKKIT bool "HackKit Core CPU Board" - select CPU_FREQ_SA1100 + select ARM_SA1100_CPUFREQ help Say Y here to support the HackKit Core CPU Board http://hackkit.eletztrick.de;
config SA1100_LART bool "LART" - select CPU_FREQ_SA1100 + select ARM_SA1100_CPUFREQ help Say Y here if you are using the Linux Advanced Radio Terminal (also known as the LART). See http://www.lartmaker.nl/ for @@ -120,7 +120,7 @@ config SA1100_LART
config SA1100_NANOENGINE bool "nanoEngine" - select CPU_FREQ_SA1110 + select ARM_SA1110_CPUFREQ select PCI select PCI_NANOENGINE help @@ -130,7 +130,7 @@ config SA1100_NANOENGINE
config SA1100_PLEB bool "PLEB" - select CPU_FREQ_SA1100 + select ARM_SA1100_CPUFREQ help Say Y here if you are using version 1 of the Portable Linux Embedded Board (also known as PLEB). @@ -139,7 +139,7 @@ config SA1100_PLEB
config SA1100_SHANNON bool "Shannon" - select CPU_FREQ_SA1100 + select ARM_SA1100_CPUFREQ help The Shannon (also known as a Tuxscreen, and also as a IS2630) was a limited edition webphone produced by Philips. The Shannon is a SA1100 @@ -148,7 +148,7 @@ config SA1100_SHANNON
config SA1100_SIMPAD bool "Simpad" - select CPU_FREQ_SA1110 + select ARM_SA1110_CPUFREQ help The SIEMENS webpad SIMpad is based on the StrongARM 1110. There are two different versions CL4 and SL4. CL4 has 32MB RAM and 16MB diff --git a/arch/arm/mach-sa1100/Makefile b/arch/arm/mach-sa1100/Makefile index 1aed9e7..2732eef 100644 --- a/arch/arm/mach-sa1100/Makefile +++ b/arch/arm/mach-sa1100/Makefile @@ -8,9 +8,6 @@ obj-m := obj-n := obj- :=
-obj-$(CONFIG_CPU_FREQ_SA1100) += cpu-sa1100.o -obj-$(CONFIG_CPU_FREQ_SA1110) += cpu-sa1110.o - # Specific board support obj-$(CONFIG_SA1100_ASSABET) += assabet.o obj-$(CONFIG_ASSABET_NEPONSET) += neponset.o diff --git a/arch/arm/mach-sa1100/include/mach/generic.h b/arch/arm/mach-sa1100/include/mach/generic.h new file mode 100644 index 0000000..665542e --- /dev/null +++ b/arch/arm/mach-sa1100/include/mach/generic.h @@ -0,0 +1 @@ +#include "../../generic.h" diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm index 3021e35..cdaadcb 100644 --- a/drivers/cpufreq/Kconfig.arm +++ b/drivers/cpufreq/Kconfig.arm @@ -180,6 +180,12 @@ config ARM_S5PV210_CPUFREQ
If in doubt, say N.
+config ARM_SA1100_CPUFREQ + bool + +config ARM_SA1110_CPUFREQ + bool + config ARM_SPEAR_CPUFREQ bool "SPEAr CPUFreq support" depends on PLAT_SPEAR diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile index 3886eda..c113af2 100644 --- a/drivers/cpufreq/Makefile +++ b/drivers/cpufreq/Makefile @@ -67,6 +67,8 @@ obj-$(CONFIG_ARM_S3C2416_CPUFREQ) += s3c2416-cpufreq.o obj-$(CONFIG_ARM_S3C2440_CPUFREQ) += s3c2440-cpufreq.o obj-$(CONFIG_ARM_S3C64XX_CPUFREQ) += s3c64xx-cpufreq.o obj-$(CONFIG_ARM_S5PV210_CPUFREQ) += s5pv210-cpufreq.o +obj-$(CONFIG_ARM_SA1100_CPUFREQ) += sa1100-cpufreq.o +obj-$(CONFIG_ARM_SA1110_CPUFREQ) += sa1110-cpufreq.o obj-$(CONFIG_ARM_SPEAR_CPUFREQ) += spear-cpufreq.o obj-$(CONFIG_ARCH_TEGRA) += tegra-cpufreq.o
diff --git a/arch/arm/mach-sa1100/cpu-sa1100.c b/drivers/cpufreq/sa1100-cpufreq.c similarity index 99% rename from arch/arm/mach-sa1100/cpu-sa1100.c rename to drivers/cpufreq/sa1100-cpufreq.c index 3268761..cff18e8 100644 --- a/arch/arm/mach-sa1100/cpu-sa1100.c +++ b/drivers/cpufreq/sa1100-cpufreq.c @@ -91,10 +91,9 @@
#include <asm/cputype.h>
+#include <mach/generic.h> #include <mach/hardware.h>
-#include "generic.h" - struct sa1100_dram_regs { int speed; u32 mdcnfg; diff --git a/arch/arm/mach-sa1100/cpu-sa1110.c b/drivers/cpufreq/sa1110-cpufreq.c similarity index 99% rename from arch/arm/mach-sa1100/cpu-sa1110.c rename to drivers/cpufreq/sa1110-cpufreq.c index 38a7733..39c90b6 100644 --- a/arch/arm/mach-sa1100/cpu-sa1110.c +++ b/drivers/cpufreq/sa1110-cpufreq.c @@ -27,10 +27,9 @@ #include <asm/cputype.h> #include <asm/mach-types.h>
+#include <mach/generic.h> #include <mach/hardware.h>
-#include "generic.h" - #undef DEBUG
struct sdram_params {
On 25 March 2013 15:41, Viresh Kumar viresh.kumar@linaro.org wrote:
This patch moves cpufreq driver of ARM based sa11x0 platform to drivers/cpufreq.
Cc: Russell King linux@arm.linux.org.uk Signed-off-by: Viresh Kumar viresh.kumar@linaro.org
arch/arm/Kconfig | 8 ------- arch/arm/mach-sa1100/Kconfig | 26 +++++++++++----------- arch/arm/mach-sa1100/Makefile | 3 --- arch/arm/mach-sa1100/include/mach/generic.h | 1 + drivers/cpufreq/Kconfig.arm | 6 +++++ drivers/cpufreq/Makefile | 2 ++ .../cpufreq/sa1100-cpufreq.c | 3 +-- .../cpufreq/sa1110-cpufreq.c | 3 +-- 8 files changed, 24 insertions(+), 28 deletions(-) create mode 100644 arch/arm/mach-sa1100/include/mach/generic.h rename arch/arm/mach-sa1100/cpu-sa1100.c => drivers/cpufreq/sa1100-cpufreq.c (99%) rename arch/arm/mach-sa1100/cpu-sa1110.c => drivers/cpufreq/sa1110-cpufreq.c (99%)
For this one too :)
On 25 March 2013 15:41, Viresh Kumar viresh.kumar@linaro.org wrote:
This patchset tries to move all CPUFreq drivers for ARM platforms from arch/arm to drivers/cpufreq directory.
This series is dependent (rebased of) on following patches:
http://www.spinics.net/lists/arm-kernel/msg232540.html https://lkml.org/lkml/2013/3/24/151
I want this series to go through Rafael's tree due to dependencies and so want Ack's by respective maintainers.
These are applied here for people looking to test them:
http://git.linaro.org/gitweb?p=people/vireshk/linux.git%3Ba=shortlog%3Bh=ref...
These are compile tested only :)
On 03/25/2013 04:11 AM, Viresh Kumar wrote:
Hi,
This patchset tries to move all CPUFreq drivers for ARM platforms from arch/arm to drivers/cpufreq directory.
This series is dependent (rebased of) on following patches:
http://www.spinics.net/lists/arm-kernel/msg232540.html https://lkml.org/lkml/2013/3/24/151
I want this series to go through Rafael's tree due to dependencies and so want Ack's by respective maintainers.
Patches 1 and 2,
Acked-by: Stephen Warren swarren@nvidia.com Tested-by: Stephen Warren swarren@nvidia.com
On Tegra.
On Monday 25 March 2013, Viresh Kumar wrote:
Hi,
This patchset tries to move all CPUFreq drivers for ARM platforms from arch/arm to drivers/cpufreq directory.
This series is dependent (rebased of) on following patches:
http://www.spinics.net/lists/arm-kernel/msg232540.html https://lkml.org/lkml/2013/3/24/151
I want this series to go through Rafael's tree due to dependencies and so want Ack's by respective maintainers.
These are applied here for people looking to test them:
http://git.linaro.org/gitweb?p=people/vireshk/linux.git%3Ba=shortlog%3Bh=ref...
Whole series
Acked-by: Arnd Bergmann arnd@arndb.de
but please post them another time with linux-arm-kernel on Cc.
Arnd
On 4 April 2013 15:08, Arnd Bergmann arnd.bergmann@linaro.org wrote:
Whole series
Acked-by: Arnd Bergmann arnd@arndb.de
Thanks.
but please post them another time with linux-arm-kernel on Cc.
Yes, my fault.
linaro-kernel@lists.linaro.org