Re: [PATCH 10/11] cpufreq: tegra: select CPU_FREQ_TABLE for ARCH_TEGRA

From: Viresh Kumar
Date: Thu Jun 13 2013 - 11:46:12 EST


On 13 June 2013 21:13, Stephen Warren <swarren@xxxxxxxxxxxxx> wrote:
> On 06/12/2013 10:24 PM, Viresh Kumar wrote:
>> On 12 June 2013 21:20, Stephen Warren <swarren@xxxxxxxxxxxxx> wrote:
>>> On 06/12/2013 02:15 AM, Viresh Kumar wrote:
>>>> ARCH_TEGRA selects ARCH_HAS_CPUFREQ, so CPUFREQ will be enabled for all variants
>>>> of TEGRA. CPUFreq driver for tegra is enabled if ARCH_TEGRA is selected. Driver
>>>> uses APIs from freq_table.c and so we must select CPU_FREQ_TABLE for ARCH_TEGRA.
>>>>
>>>> This also removes select CPU_FREQ_TABLE from individual tegra variants.
>>>
>>> I guess the real issue here is that drivers/cpufreq/tegra-cpufreq.c 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.
>>
>> Hmmm. check this out (attached too for you to test):
>
> This certainly generates the correct .config when I "make
> tegra_defconfig" after applying it, and a build after disabling CPU_FREQ
> links OK, so,

Yeah, I also compile tested it.

> Tested-by: Stephen Warren <swarren@xxxxxxxxxx>
> Acked-by: Stephen Warren <swarren@xxxxxxxxxx>
>
> (I assume this patch would go through the cpufreq tree?)

Yes. Via my ARM cpufreq tree.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/