cpufreq: tegra: create CONFIG_ARM_TEGRA_CPUFREQ
authorViresh Kumar <viresh.kumar@linaro.org>
Wed, 12 Jun 2013 06:35:48 +0000 (12:05 +0530)
committerViresh Kumar <viresh.kumar@linaro.org>
Tue, 18 Jun 2013 08:23:11 +0000 (13:53 +0530)
currently Tegra cpufreq driver gets built based on ARCH_TEGRA, which doesn't
depend on nor select CPU_FREQ itself, so:

        select CPU_FREQ_TABLE if CPU_FREQ

... isn't guaranteed to fire.

The correct solution seems to be:

* Add CONFIG_ARM_TEGRA_CPUFREQ to drivers/cpufreq/Kconfig.arm.
* Make that Kconfig option selct CPU_FREQ_TABLE.
* Make that Kconfig option be def_bool ARCH_TEGRA.
* Modify drivers/cpufreq/Makefile to build tegra-cpufreq.c based on that.
* Remove all the cpufreq-related stuff from arch/arm/mach-tegra/Kconfig.

That way, tegra-cpufreq.c can't be built if !CPU_FREQ, and Tegra's
cpufreq works the same way as all the other cpufreq drivers.

This patch does it.

Suggested-by: Stephen Warren <swarren@nvidia.com>
Tested-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Stephen Warren <swarren@nvidia.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
arch/arm/mach-tegra/Kconfig
drivers/cpufreq/Kconfig.arm
drivers/cpufreq/Makefile

index 84d72fc36dfea1434431cb0b98a388f4b178e667..5c0db065baa411f56722e17409968eb25b027aac 100644 (file)
@@ -28,7 +28,6 @@ config ARCH_TEGRA_2x_SOC
        select ARM_ERRATA_754327 if SMP
        select ARM_ERRATA_764369 if SMP
        select ARM_GIC
-       select CPU_FREQ_TABLE if CPU_FREQ
        select CPU_V7
        select PINCTRL
        select PINCTRL_TEGRA20
@@ -46,7 +45,6 @@ config ARCH_TEGRA_3x_SOC
        select ARM_ERRATA_754322
        select ARM_ERRATA_764369 if SMP
        select ARM_GIC
-       select CPU_FREQ_TABLE if CPU_FREQ
        select CPU_V7
        select PINCTRL
        select PINCTRL_TEGRA30
@@ -63,7 +61,6 @@ config ARCH_TEGRA_114_SOC
        select ARM_ARCH_TIMER
        select ARM_GIC
        select ARM_L1_CACHE_SHIFT_6
-       select CPU_FREQ_TABLE if CPU_FREQ
        select CPU_V7
        select PINCTRL
        select PINCTRL_TEGRA114
index d52261b22b55b37c2512f3a5cbfd369deb29d1c0..5085427eb29d60bb09aa9786b61bb39d60472c64 100644 (file)
@@ -154,3 +154,11 @@ config ARM_SPEAR_CPUFREQ
        default y
        help
          This adds the CPUFreq driver support for SPEAr SOCs.
+
+config ARM_TEGRA_CPUFREQ
+       bool "TEGRA CPUFreq support"
+       depends on ARCH_TEGRA
+       select CPU_FREQ_TABLE
+       default y
+       help
+         This adds the CPUFreq driver support for TEGRA SOCs.
index 13c3f831d3dcff6290e216e667f5d7d381b4c829..9c873e778ee05c76541ede98bcb9804368c9ef9a 100644 (file)
@@ -71,7 +71,7 @@ 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
+obj-$(CONFIG_ARM_TEGRA_CPUFREQ)                += tegra-cpufreq.o
 
 ##################################################################################
 # PowerPC platform drivers