]> rtime.felk.cvut.cz Git - linux-imx.git/commitdiff
cpufreq: s3c24xx: move cpufreq driver to drivers/cpufreq
authorViresh Kumar <viresh.kumar@linaro.org>
Thu, 4 Apr 2013 12:54:15 +0000 (12:54 +0000)
committerKukjin Kim <kgene.kim@samsung.com>
Mon, 20 May 2013 14:04:28 +0000 (23:04 +0900)
This patch moves cpufreq driver of Samsung's ARM based
s3c24xx platform to drivers/cpufreq.

Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
14 files changed:
arch/arm/Kconfig
arch/arm/mach-s3c24xx/Kconfig
arch/arm/mach-s3c24xx/Makefile
arch/arm/mach-s3c24xx/include/mach/s3c2412.h [moved from arch/arm/mach-s3c24xx/s3c2412.h with 100% similarity]
arch/arm/mach-s3c24xx/iotiming-s3c2412.c
arch/arm/plat-samsung/include/plat/cpu-freq-core.h
arch/arm/plat-samsung/include/plat/cpu-freq.h
drivers/cpufreq/Kconfig.arm
drivers/cpufreq/Makefile
drivers/cpufreq/s3c2410-cpufreq.c [moved from arch/arm/mach-s3c24xx/cpufreq-s3c2410.c with 100% similarity]
drivers/cpufreq/s3c2412-cpufreq.c [moved from arch/arm/mach-s3c24xx/cpufreq-s3c2412.c with 99% similarity]
drivers/cpufreq/s3c2440-cpufreq.c [moved from arch/arm/mach-s3c24xx/cpufreq-s3c2440.c with 100% similarity]
drivers/cpufreq/s3c24xx-cpufreq-debugfs.c [moved from arch/arm/mach-s3c24xx/cpufreq-debugfs.c with 100% similarity]
drivers/cpufreq/s3c24xx-cpufreq.c [moved from arch/arm/mach-s3c24xx/cpufreq.c with 100% similarity]

index d423d58f938dc40fb5b3c01445b9184572631b10..f6762794fbb4c821543728722d50b4244ba16445 100644 (file)
@@ -2053,53 +2053,6 @@ menu "CPU Power Management"
 
 if ARCH_HAS_CPUFREQ
 source "drivers/cpufreq/Kconfig"
-
-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"
index f2f7088bfd221c9bb50df7180f1dbbc51a9e2e2d..ed8aadc646f9ffcaa1b38b6c0f9e75efefb386c7 100644 (file)
@@ -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
        select SAMSUNG_HRT
        help
@@ -204,27 +204,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.
@@ -233,16 +244,9 @@ config S3C2412_IOTIMING
 
 if CPU_S3C2410
 
-config S3C2410_CPUFREQ
-       bool
-       depends on CPU_FREQ_S3C24XX
-       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
@@ -278,7 +282,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_S3C2442 && !CPU_S3C2443
        default y
 
-config S3C2412_CPUFREQ
-       bool
-       depends on CPU_FREQ_S3C24XX
-       default y
-       select S3C2412_IOTIMING
-       help
-         CPU Frequency scaling support for S3C2412 and S3C2413 SoC CPUs.
-
 config S3C2412_DMA
        bool
        help
@@ -494,14 +490,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
@@ -521,15 +509,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.
 
@@ -583,7 +571,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
index 6f46ecfc83967ce893ad63a01d23ca8ac498e908..a3b495a4bba06d8571332a419ff714368065e5b1 100644 (file)
@@ -17,13 +17,11 @@ obj-                                :=
 obj-y                          += common.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 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 clock-s3c2440.o
 obj-$(CONFIG_CPU_S3C2442)      += s3c2442.o
 obj-$(CONFIG_CPU_S3C244X)      += 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.
index 663436d9db0198f4d87315fdccc64db3a990c8d6..bd064c05c4738584e91934765347eb4f85bfdaea 100644 (file)
@@ -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)
 
index 95509d8eb140fda1367658d048660790253b35d5..d7e17150028a678f1a9042a921a77f48b9d7681e 100644 (file)
@@ -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,
index 80c4a809c721acd3c0504f2b39e168dc81252c61..85517ab962ae5dc8ca74b85bd02dc93636051eb6 100644 (file)
@@ -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 */
index f3af18b9acc50f299b7f105b5e0b59effe5f4f33..bbcd7199257ba4ca4aad5fb3cf6ffe2b803b4986 100644 (file)
@@ -95,6 +95,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
@@ -117,6 +167,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
index 315b9231feb17f00d52fd4374f47c3bd9b6d57c4..6ad0b913ca176c54bb2ef2669d16de355d560541 100644 (file)
@@ -65,7 +65,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_SA1100_CPUFREQ)       += sa1100-cpufreq.o
similarity index 99%
rename from arch/arm/mach-s3c24xx/cpufreq-s3c2412.c
rename to drivers/cpufreq/s3c2412-cpufreq.c
index 8bf0f3a774762e3b7e5ba02401127c07abeb788d..4645b4898996bc38df1dff6a23a4f9d12176fa8c 100644 (file)
 #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;