2013-06-12 08:16:41

by Viresh Kumar

[permalink] [raw]
Subject: [PATCH 00/11] CPUFreq Kconfig fixes

Hi Rafael,

Recently Arnd sent few fixes where drivers were using APIs from freq_table.c but
haven't selected CPU_FREQ_TABLE. Based on that, I just crossed checked all the
places where it should be selected and where it shouldn't be. These are fixes
around that.

I have applied these in my cpufreq-kconfig-fixes branch. Will send you a pull
request separately once I get some Acks (will wait for few days).

Viresh Kumar (11):
cpufreq: blackfin: enable driver for CONFIG_BFIN_CPU_FREQ
cpufreq: cris: select CPU_FREQ_TABLE
cpufreq: davinci: select CPU_FREQ_TABLE
cpufreq: exynos: select CPU_FREQ_TABLE
cpufreq: highbank: remove select CPU_FREQ_TABLE
cpufreq: imx: select CPU_FREQ_TABLE
cpufreq: powerpc: CBE_RAS: select CPU_FREQ_TABLE
cpufreq: pxa: select CPU_FREQ_TABLE
cpufreq: S3C2416/S3C64XX: select CPU_FREQ_TABLE
cpufreq: tegra: select CPU_FREQ_TABLE for ARCH_TEGRA
cpufreq: X86_AMD_FREQ_SENSITIVITY: select CPU_FREQ_TABLE

arch/arm/mach-davinci/Kconfig | 1 +
arch/arm/mach-pxa/Kconfig | 3 +++
arch/arm/mach-tegra/Kconfig | 4 +---
arch/cris/Kconfig | 2 ++
drivers/cpufreq/Kconfig.arm | 6 +++++-
drivers/cpufreq/Kconfig.powerpc | 1 +
drivers/cpufreq/Kconfig.x86 | 1 +
drivers/cpufreq/Makefile | 2 +-
8 files changed, 15 insertions(+), 5 deletions(-)

--
1.7.12.rc2.18.g61b472e


2013-06-12 08:18:14

by Viresh Kumar

[permalink] [raw]
Subject: [PATCH 01/11] cpufreq: blackfin: enable driver for CONFIG_BFIN_CPU_FREQ

By mistake blackfin's cpufreq driver is enabled when CONFIG_BLACKFIN was
present, whereas it should have been enabled only when CONFIG_BFIN_CPU_FREQ is
present.

Fix it.

Cc: Steven Miao <[email protected]>
Cc: [email protected]
Signed-off-by: Viresh Kumar <[email protected]>
---
drivers/cpufreq/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
index 315b923..13c3f83 100644
--- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile
@@ -83,7 +83,7 @@ obj-$(CONFIG_CPU_FREQ_MAPLE) += maple-cpufreq.o
##################################################################################
# Other platform drivers
obj-$(CONFIG_AVR32_AT32AP_CPUFREQ) += at32ap-cpufreq.o
-obj-$(CONFIG_BLACKFIN) += blackfin-cpufreq.o
+obj-$(CONFIG_BFIN_CPU_FREQ) += blackfin-cpufreq.o
obj-$(CONFIG_CRIS_MACH_ARTPEC3) += cris-artpec3-cpufreq.o
obj-$(CONFIG_ETRAXFS) += cris-etraxfs-cpufreq.o
obj-$(CONFIG_IA64_ACPI_CPUFREQ) += ia64-acpi-cpufreq.o
--
1.7.12.rc2.18.g61b472e

2013-06-12 08:19:42

by Viresh Kumar

[permalink] [raw]
Subject: [PATCH 02/11] cpufreq: cris: select CPU_FREQ_TABLE

CPUFreq driver of this platform uses APIs from freq_table.c and so must select
CPU_FREQ_TABLE.

Cc: [email protected]
Signed-off-by: Viresh Kumar <[email protected]>
---
arch/cris/Kconfig | 2 ++
1 file changed, 2 insertions(+)

diff --git a/arch/cris/Kconfig b/arch/cris/Kconfig
index 8769a90..5f7530c 100644
--- a/arch/cris/Kconfig
+++ b/arch/cris/Kconfig
@@ -134,11 +134,13 @@ config SVINTO_SIM

config ETRAXFS
bool "ETRAX-FS-V32"
+ select CPU_FREQ_TABLE if CPU_FREQ
help
Support CRIS V32.

config CRIS_MACH_ARTPEC3
bool "ARTPEC-3"
+ select CPU_FREQ_TABLE if CPU_FREQ
help
Support Axis ARTPEC-3.

--
1.7.12.rc2.18.g61b472e

2013-06-12 08:20:12

by Viresh Kumar

[permalink] [raw]
Subject: [PATCH 03/11] cpufreq: davinci: select CPU_FREQ_TABLE

CPUFreq driver of this platform uses APIs from freq_table.c and so must select
CPU_FREQ_TABLE.

Cc: Sekhar Nori <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
---
arch/arm/mach-davinci/Kconfig | 1 +
1 file changed, 1 insertion(+)

diff --git a/arch/arm/mach-davinci/Kconfig b/arch/arm/mach-davinci/Kconfig
index a075b3e..e026b19 100644
--- a/arch/arm/mach-davinci/Kconfig
+++ b/arch/arm/mach-davinci/Kconfig
@@ -40,6 +40,7 @@ config ARCH_DAVINCI_DA850
bool "DA850/OMAP-L138/AM18x based system"
select ARCH_DAVINCI_DA8XX
select ARCH_HAS_CPUFREQ
+ select CPU_FREQ_TABLE
select CP_INTC

config ARCH_DAVINCI_DA8XX
--
1.7.12.rc2.18.g61b472e

2013-06-12 08:20:30

by Viresh Kumar

[permalink] [raw]
Subject: [PATCH 04/11] cpufreq: exynos: select CPU_FREQ_TABLE

CPUFreq driver of this platform uses APIs from freq_table.c and so must select
CPU_FREQ_TABLE.

Cc: Kukjin Kim <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
---
drivers/cpufreq/Kconfig.arm | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
index 6e57543..9d7e209 100644
--- a/drivers/cpufreq/Kconfig.arm
+++ b/drivers/cpufreq/Kconfig.arm
@@ -18,6 +18,7 @@ config ARM_DT_BL_CPUFREQ
config ARM_EXYNOS_CPUFREQ
bool "SAMSUNG EXYNOS SoCs"
depends on ARCH_EXYNOS
+ select CPU_FREQ_TABLE
default y
help
This adds the CPUFreq driver common part for Samsung
@@ -46,6 +47,7 @@ config ARM_EXYNOS5250_CPUFREQ
config ARM_EXYNOS5440_CPUFREQ
def_bool SOC_EXYNOS5440
depends on HAVE_CLK && PM_OPP && OF
+ select CPU_FREQ_TABLE
help
This adds the CPUFreq driver for Samsung EXYNOS5440
SoC. The nature of exynos5440 clock controller is
--
1.7.12.rc2.18.g61b472e

2013-06-12 08:20:45

by Viresh Kumar

[permalink] [raw]
Subject: [PATCH 05/11] cpufreq: highbank: remove select CPU_FREQ_TABLE

Highbank cpufreq driver doesn't use any APIs from freq_table.c and so must not
select CPU_FREQ_TABLE.

Cc: Mark Langsdorf <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
---
drivers/cpufreq/Kconfig.arm | 1 -
1 file changed, 1 deletion(-)

diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
index 9d7e209..891dd1c 100644
--- a/drivers/cpufreq/Kconfig.arm
+++ b/drivers/cpufreq/Kconfig.arm
@@ -57,7 +57,6 @@ config ARM_EXYNOS5440_CPUFREQ
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
--
1.7.12.rc2.18.g61b472e

2013-06-12 08:20:58

by Viresh Kumar

[permalink] [raw]
Subject: [PATCH 06/11] cpufreq: imx: select CPU_FREQ_TABLE

CPUFreq driver of this platform uses APIs from freq_table.c and so must select
CPU_FREQ_TABLE.

Cc: Shawn Guo <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
---
drivers/cpufreq/Kconfig.arm | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
index 891dd1c..dc26303 100644
--- a/drivers/cpufreq/Kconfig.arm
+++ b/drivers/cpufreq/Kconfig.arm
@@ -72,6 +72,7 @@ config ARM_IMX6Q_CPUFREQ
tristate "Freescale i.MX6Q cpufreq support"
depends on SOC_IMX6Q
depends on REGULATOR_ANATOP
+ select CPU_FREQ_TABLE
help
This adds cpufreq driver support for Freescale i.MX6Q SOC.

--
1.7.12.rc2.18.g61b472e

2013-06-12 08:21:10

by Viresh Kumar

[permalink] [raw]
Subject: [PATCH 07/11] cpufreq: powerpc: CBE_RAS: select CPU_FREQ_TABLE

CPUFreq driver of this platform uses APIs from freq_table.c and so must select
CPU_FREQ_TABLE.

Cc: [email protected]
Signed-off-by: Viresh Kumar <[email protected]>
---
drivers/cpufreq/Kconfig.powerpc | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/cpufreq/Kconfig.powerpc b/drivers/cpufreq/Kconfig.powerpc
index 9c926ca..68c1abc 100644
--- a/drivers/cpufreq/Kconfig.powerpc
+++ b/drivers/cpufreq/Kconfig.powerpc
@@ -1,6 +1,7 @@
config CPU_FREQ_CBE
tristate "CBE frequency scaling"
depends on CBE_RAS && PPC_CELL
+ select CPU_FREQ_TABLE
default m
help
This adds the cpufreq driver for Cell BE processors.
--
1.7.12.rc2.18.g61b472e

2013-06-12 08:21:23

by Viresh Kumar

[permalink] [raw]
Subject: [PATCH 08/11] cpufreq: pxa: select CPU_FREQ_TABLE

CPUFreq driver of this platform uses APIs from freq_table.c and so must select
CPU_FREQ_TABLE.

Cc: Eric Miao <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
---
arch/arm/mach-pxa/Kconfig | 3 +++
1 file changed, 3 insertions(+)

diff --git a/arch/arm/mach-pxa/Kconfig b/arch/arm/mach-pxa/Kconfig
index 96100db..a842711 100644
--- a/arch/arm/mach-pxa/Kconfig
+++ b/arch/arm/mach-pxa/Kconfig
@@ -615,12 +615,14 @@ endmenu
config PXA25x
bool
select CPU_XSCALE
+ select CPU_FREQ_TABLE if CPU_FREQ
help
Select code specific to PXA21x/25x/26x variants

config PXA27x
bool
select CPU_XSCALE
+ select CPU_FREQ_TABLE if CPU_FREQ
help
Select code specific to PXA27x variants

@@ -633,6 +635,7 @@ config CPU_PXA26x
config PXA3xx
bool
select CPU_XSC3
+ select CPU_FREQ_TABLE if CPU_FREQ
help
Select code specific to PXA3xx variants

--
1.7.12.rc2.18.g61b472e

2013-06-12 08:21:38

by Viresh Kumar

[permalink] [raw]
Subject: [PATCH 09/11] cpufreq: S3C2416/S3C64XX: select CPU_FREQ_TABLE

CPUFreq driver of this platform uses APIs from freq_table.c and so must select
CPU_FREQ_TABLE.

Cc: Heiko Stuebner <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
---
drivers/cpufreq/Kconfig.arm | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
index dc26303..d52261b 100644
--- a/drivers/cpufreq/Kconfig.arm
+++ b/drivers/cpufreq/Kconfig.arm
@@ -101,6 +101,7 @@ config ARM_OMAP2PLUS_CPUFREQ
config ARM_S3C2416_CPUFREQ
bool "S3C2416 CPU Frequency scaling support"
depends on CPU_S3C2416
+ select CPU_FREQ_TABLE
help
This adds the CPUFreq driver for the Samsung S3C2416 and
S3C2450 SoC. The S3C2416 supports changing the rate of the
@@ -123,6 +124,7 @@ config ARM_S3C2416_CPUFREQ_VCORESCALE
config ARM_S3C64XX_CPUFREQ
bool "Samsung S3C64XX"
depends on CPU_S3C6410
+ select CPU_FREQ_TABLE
default y
help
This adds the CPUFreq driver for Samsung S3C6410 SoC.
--
1.7.12.rc2.18.g61b472e

2013-06-12 08:21:59

by Viresh Kumar

[permalink] [raw]
Subject: [PATCH 10/11] cpufreq: tegra: select CPU_FREQ_TABLE for ARCH_TEGRA

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.

Cc: Stephen Warren <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
---
arch/arm/mach-tegra/Kconfig | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
index 84d72fc..3636b6c 100644
--- a/arch/arm/mach-tegra/Kconfig
+++ b/arch/arm/mach-tegra/Kconfig
@@ -6,6 +6,7 @@ config ARCH_TEGRA
select CLKSRC_MMIO
select CLKSRC_OF
select COMMON_CLK
+ select CPU_FREQ_TABLE
select GENERIC_CLOCKEVENTS
select HAVE_ARM_SCU if SMP
select HAVE_ARM_TWD if LOCAL_TIMERS
@@ -28,7 +29,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 +46,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 +62,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
--
1.7.12.rc2.18.g61b472e

2013-06-12 08:22:18

by Viresh Kumar

[permalink] [raw]
Subject: [PATCH 11/11] cpufreq: X86_AMD_FREQ_SENSITIVITY: select CPU_FREQ_TABLE

This CPUFreq driver uses APIs from freq_table.c and so must select
CPU_FREQ_TABLE.

Cc: Jacob Shin <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
---
drivers/cpufreq/Kconfig.x86 | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/cpufreq/Kconfig.x86 b/drivers/cpufreq/Kconfig.x86
index 6bd63d6..e2b6eab 100644
--- a/drivers/cpufreq/Kconfig.x86
+++ b/drivers/cpufreq/Kconfig.x86
@@ -132,6 +132,7 @@ config X86_POWERNOW_K8
config X86_AMD_FREQ_SENSITIVITY
tristate "AMD frequency sensitivity feedback powersave bias"
depends on CPU_FREQ_GOV_ONDEMAND && X86_ACPI_CPUFREQ && CPU_SUP_AMD
+ select CPU_FREQ_TABLE
help
This adds AMD-specific powersave bias function to the ondemand
governor, which allows it to make more power-conscious frequency
--
1.7.12.rc2.18.g61b472e

2013-06-12 09:11:32

by Heiko Stuebner

[permalink] [raw]
Subject: Re: [PATCH 09/11] cpufreq: S3C2416/S3C64XX: select CPU_FREQ_TABLE

Am Mittwoch, 12. Juni 2013, 10:15:16 schrieb Viresh Kumar:
> CPUFreq driver of this platform uses APIs from freq_table.c and so must
> select CPU_FREQ_TABLE.
>
> Cc: Heiko Stuebner <[email protected]>

For the s3c2416-part
Acked-by: Heiko Stuebner <[email protected]>

> Signed-off-by: Viresh Kumar <[email protected]>
> ---
> drivers/cpufreq/Kconfig.arm | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
> index dc26303..d52261b 100644
> --- a/drivers/cpufreq/Kconfig.arm
> +++ b/drivers/cpufreq/Kconfig.arm
> @@ -101,6 +101,7 @@ config ARM_OMAP2PLUS_CPUFREQ
> config ARM_S3C2416_CPUFREQ
> bool "S3C2416 CPU Frequency scaling support"
> depends on CPU_S3C2416
> + select CPU_FREQ_TABLE
> help
> This adds the CPUFreq driver for the Samsung S3C2416 and
> S3C2450 SoC. The S3C2416 supports changing the rate of the
> @@ -123,6 +124,7 @@ config ARM_S3C2416_CPUFREQ_VCORESCALE
> config ARM_S3C64XX_CPUFREQ
> bool "Samsung S3C64XX"
> depends on CPU_S3C6410
> + select CPU_FREQ_TABLE
> default y
> help
> This adds the CPUFreq driver for Samsung S3C6410 SoC.

2013-06-12 11:38:01

by Shawn Guo

[permalink] [raw]
Subject: Re: [PATCH 06/11] cpufreq: imx: select CPU_FREQ_TABLE

On Wed, Jun 12, 2013 at 01:45:13PM +0530, Viresh Kumar wrote:
> CPUFreq driver of this platform uses APIs from freq_table.c and so must select
> CPU_FREQ_TABLE.
>
> Cc: Shawn Guo <[email protected]>
> Signed-off-by: Viresh Kumar <[email protected]>

Acked-by: Shawn Guo <[email protected]>

> ---
> drivers/cpufreq/Kconfig.arm | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
> index 891dd1c..dc26303 100644
> --- a/drivers/cpufreq/Kconfig.arm
> +++ b/drivers/cpufreq/Kconfig.arm
> @@ -72,6 +72,7 @@ config ARM_IMX6Q_CPUFREQ
> tristate "Freescale i.MX6Q cpufreq support"
> depends on SOC_IMX6Q
> depends on REGULATOR_ANATOP
> + select CPU_FREQ_TABLE
> help
> This adds cpufreq driver support for Freescale i.MX6Q SOC.
>
> --
> 1.7.12.rc2.18.g61b472e
>

2013-06-12 12:47:11

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH 00/11] CPUFreq Kconfig fixes

On Wednesday 12 June 2013, Viresh Kumar wrote:
> Recently Arnd sent few fixes where drivers were using APIs from freq_table.c but
> haven't selected CPU_FREQ_TABLE. Based on that, I just crossed checked all the
> places where it should be selected and where it shouldn't be. These are fixes
> around that.
>
> I have applied these in my cpufreq-kconfig-fixes branch. Will send you a pull
> request separately once I get some Acks (will wait for few days).

Acked-by: Arnd Bergmann <[email protected]>

I don't see a patch for big.LITTLE in either linux-next or this series. Did you
miss that or has it just not made into linux-next yet?

Arnd

2013-06-12 14:23:54

by Jacob Shin

[permalink] [raw]
Subject: Re: [PATCH 11/11] cpufreq: X86_AMD_FREQ_SENSITIVITY: select CPU_FREQ_TABLE

On Wed, Jun 12, 2013 at 01:45:18PM +0530, Viresh Kumar wrote:
> This CPUFreq driver uses APIs from freq_table.c and so must select
> CPU_FREQ_TABLE.
>

Ah, thanks for cathcing this!

> Cc: Jacob Shin <[email protected]>
> Signed-off-by: Viresh Kumar <[email protected]>

Acked-by: Jacob Shin <[email protected]>

> ---
> drivers/cpufreq/Kconfig.x86 | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/cpufreq/Kconfig.x86 b/drivers/cpufreq/Kconfig.x86
> index 6bd63d6..e2b6eab 100644
> --- a/drivers/cpufreq/Kconfig.x86
> +++ b/drivers/cpufreq/Kconfig.x86
> @@ -132,6 +132,7 @@ config X86_POWERNOW_K8
> config X86_AMD_FREQ_SENSITIVITY
> tristate "AMD frequency sensitivity feedback powersave bias"
> depends on CPU_FREQ_GOV_ONDEMAND && X86_ACPI_CPUFREQ && CPU_SUP_AMD
> + select CPU_FREQ_TABLE
> help
> This adds AMD-specific powersave bias function to the ondemand
> governor, which allows it to make more power-conscious frequency
> --
> 1.7.12.rc2.18.g61b472e
>
>

2013-06-12 14:28:06

by Viresh Kumar

[permalink] [raw]
Subject: Re: [PATCH 00/11] CPUFreq Kconfig fixes

On 12 June 2013 18:16, Arnd Bergmann <[email protected]> wrote:
> On Wednesday 12 June 2013, Viresh Kumar wrote:
>> Recently Arnd sent few fixes where drivers were using APIs from freq_table.c but
>> haven't selected CPU_FREQ_TABLE. Based on that, I just crossed checked all the
>> places where it should be selected and where it shouldn't be. These are fixes
>> around that.
>>
>> I have applied these in my cpufreq-kconfig-fixes branch. Will send you a pull
>> request separately once I get some Acks (will wait for few days).
>
> Acked-by: Arnd Bergmann <[email protected]>
>
> I don't see a patch for big.LITTLE in either linux-next or this series. Did you
> miss that or has it just not made into linux-next yet?

My ARM branch was pulled in by Rafael, 2 days back. Don't know why didn't
you saw that.

2013-06-12 14:49:51

by Arnd Bergmann

[permalink] [raw]
Subject: Re: [PATCH 00/11] CPUFreq Kconfig fixes

On Wednesday 12 June 2013, Viresh Kumar wrote:
>
> On 12 June 2013 18:16, Arnd Bergmann <[email protected]> wrote:
> > On Wednesday 12 June 2013, Viresh Kumar wrote:
> >> Recently Arnd sent few fixes where drivers were using APIs from freq_table.c but
> >> haven't selected CPU_FREQ_TABLE. Based on that, I just crossed checked all the
> >> places where it should be selected and where it shouldn't be. These are fixes
> >> around that.
> >>
> >> I have applied these in my cpufreq-kconfig-fixes branch. Will send you a pull
> >> request separately once I get some Acks (will wait for few days).
> >
> > Acked-by: Arnd Bergmann <[email protected]>
> >
> > I don't see a patch for big.LITTLE in either linux-next or this series. Did you
> > miss that or has it just not made into linux-next yet?
>
> My ARM branch was pulled in by Rafael, 2 days back. Don't know why didn't
> you saw that.


Ah, it seems we haven't had a new linux-next since friday.

Arnd

2013-06-12 15:50:20

by Stephen Warren

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

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.

2013-06-12 17:04:53

by Mark Langsdorf

[permalink] [raw]
Subject: Re: [PATCH 05/11] cpufreq: highbank: remove select CPU_FREQ_TABLE

On 06/12/2013 03:15 AM, Viresh Kumar wrote:
> Highbank cpufreq driver doesn't use any APIs from freq_table.c and so must not
> select CPU_FREQ_TABLE.
>
> Cc: Mark Langsdorf <[email protected]>
> Signed-off-by: Viresh Kumar <[email protected]>

Thanks for catching this.

Acked-by: Mark Langsdorf <[email protected]>

> ---
> drivers/cpufreq/Kconfig.arm | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
> index 9d7e209..891dd1c 100644
> --- a/drivers/cpufreq/Kconfig.arm
> +++ b/drivers/cpufreq/Kconfig.arm
> @@ -57,7 +57,6 @@ config ARM_EXYNOS5440_CPUFREQ
> 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
>

2013-06-12 22:45:53

by Rafael J. Wysocki

[permalink] [raw]
Subject: Re: [PATCH 00/11] CPUFreq Kconfig fixes

On Wednesday, June 12, 2013 04:49:41 PM Arnd Bergmann wrote:
> On Wednesday 12 June 2013, Viresh Kumar wrote:
> >
> > On 12 June 2013 18:16, Arnd Bergmann <[email protected]> wrote:
> > > On Wednesday 12 June 2013, Viresh Kumar wrote:
> > >> Recently Arnd sent few fixes where drivers were using APIs from freq_table.c but
> > >> haven't selected CPU_FREQ_TABLE. Based on that, I just crossed checked all the
> > >> places where it should be selected and where it shouldn't be. These are fixes
> > >> around that.
> > >>
> > >> I have applied these in my cpufreq-kconfig-fixes branch. Will send you a pull
> > >> request separately once I get some Acks (will wait for few days).
> > >
> > > Acked-by: Arnd Bergmann <[email protected]>
> > >
> > > I don't see a patch for big.LITTLE in either linux-next or this series. Did you
> > > miss that or has it just not made into linux-next yet?
> >
> > My ARM branch was pulled in by Rafael, 2 days back. Don't know why didn't
> > you saw that.
>
>
> Ah, it seems we haven't had a new linux-next since friday.

Yup, no linux-next this week.

Rafael


--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.

2013-06-13 04:24:04

by Viresh Kumar

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

On 12 June 2013 21:20, Stephen Warren <[email protected]> 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):

----------x---------------x------------

From: Viresh Kumar <[email protected]>
Date: Wed, 12 Jun 2013 12:05:48 +0530
Subject: [PATCH] cpufreq: tegra: create CONFIG_ARM_TEGRA_CPUFREQ

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 <[email protected]>
Acked-by: Arnd Bergmann <[email protected]>
Signed-off-by: Viresh Kumar <[email protected]>
---
arch/arm/mach-tegra/Kconfig | 3 ---
drivers/cpufreq/Kconfig.arm | 8 ++++++++
drivers/cpufreq/Makefile | 2 +-
3 files changed, 9 insertions(+), 4 deletions(-)

diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
index 84d72fc..5c0db06 100644
--- a/arch/arm/mach-tegra/Kconfig
+++ b/arch/arm/mach-tegra/Kconfig
@@ -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
diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
index d52261b..5085427 100644
--- a/drivers/cpufreq/Kconfig.arm
+++ b/drivers/cpufreq/Kconfig.arm
@@ -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.
diff --git a/drivers/cpufreq/Makefile b/drivers/cpufreq/Makefile
index 13c3f83..9c873e7 100644
--- a/drivers/cpufreq/Makefile
+++ b/drivers/cpufreq/Makefile
@@ -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


Attachments:
0001-cpufreq-tegra-create-CONFIG_ARM_TEGRA_CPUFREQ.patch (3.16 kB)

2013-06-13 15:44:02

by Stephen Warren

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

On 06/12/2013 10:24 PM, Viresh Kumar wrote:
> On 12 June 2013 21:20, Stephen Warren <[email protected]> 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,

Tested-by: Stephen Warren <[email protected]>
Acked-by: Stephen Warren <[email protected]>

(I assume this patch would go through the cpufreq tree?)

2013-06-13 15:46:08

by Viresh Kumar

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

On 13 June 2013 21:13, Stephen Warren <[email protected]> wrote:
> On 06/12/2013 10:24 PM, Viresh Kumar wrote:
>> On 12 June 2013 21:20, Stephen Warren <[email protected]> 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 <[email protected]>
> Acked-by: Stephen Warren <[email protected]>
>
> (I assume this patch would go through the cpufreq tree?)

Yes. Via my ARM cpufreq tree.

2013-06-17 04:39:50

by Mike Frysinger

[permalink] [raw]
Subject: Re: [uclinux-dist-devel] [PATCH 01/11] cpufreq: blackfin: enable driver for CONFIG_BFIN_CPU_FREQ

On Wednesday 12 June 2013 04:15:08 Viresh Kumar wrote:
> By mistake blackfin's cpufreq driver is enabled when CONFIG_BLACKFIN was
> present, whereas it should have been enabled only when CONFIG_BFIN_CPU_FREQ
> is present.

Acked-by: Mike Frysinger <[email protected]>
-mike


Attachments:
signature.asc (836.00 B)
This is a digitally signed message part.