Patchwork [v4,1/2] ARM: imx: add select on ARCH_MXC for cpufreq support

login
register
mail settings
Submitter John Tobias
Date Jan. 10, 2014, 2:39 a.m.
Message ID <1389321592-33220-1-git-send-email-john.tobias.ph@gmail.com>
Download mbox | patch
Permalink /patch/309089/
State New
Headers show

Comments

John Tobias - Jan. 10, 2014, 2:39 a.m.
Moved ARCH_HAS_CPUFREQ, HAVE_IMX_ANATOP and PM_OPP on ARCH_MXC so that
the user can enable the cpufreq support for iMX6Q and/or iMX6SL.

Signed-off-by: John Tobias <john.tobias.ph@gmail.com>
---
 arch/arm/mach-imx/Kconfig | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)
Shawn Guo - Jan. 13, 2014, 3:20 a.m.
On Thu, Jan 09, 2014 at 06:39:51PM -0800, John Tobias wrote:
> Moved ARCH_HAS_CPUFREQ, HAVE_IMX_ANATOP and PM_OPP on ARCH_MXC so that
> the user can enable the cpufreq support for iMX6Q and/or iMX6SL.

All I was asking is to move the following:

	select ARCH_HAS_CPUFREQ
	select ARCH_HAS_OPP
	select PM_OPP if PM

So leave HAVE_IMX_ANATOP out there, and only move the above ones please.

Shawn

> 
> Signed-off-by: John Tobias <john.tobias.ph@gmail.com>
> ---
>  arch/arm/mach-imx/Kconfig | 13 ++++++-------
>  1 file changed, 6 insertions(+), 7 deletions(-)
> 
> diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
> index 7a6e6f7..d6aa34d 100644
> --- a/arch/arm/mach-imx/Kconfig
> +++ b/arch/arm/mach-imx/Kconfig
> @@ -1,5 +1,6 @@
>  config ARCH_MXC
>  	bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7
> +	select ARCH_HAS_CPUFREQ
>  	select ARCH_REQUIRE_GPIOLIB
>  	select ARM_CPU_SUSPEND if PM
>  	select ARM_PATCH_PHYS_VIRT
> @@ -9,8 +10,10 @@ config ARCH_MXC
>  	select GENERIC_ALLOCATOR
>  	select GENERIC_CLOCKEVENTS
>  	select GENERIC_IRQ_CHIP
> +	select HAVE_IMX_ANATOP if SOC_IMX6Q || SOC_IMX6SL
>  	select MIGHT_HAVE_CACHE_L2X0 if ARCH_MULTI_V6_V7
>  	select MULTI_IRQ_HANDLER
> +	select PM_OPP if PM
>  	select SOC_BUS
>  	select SPARSE_IRQ
>  	select USE_OF
> @@ -779,16 +782,14 @@ config	SOC_IMX53
>  
>  config SOC_IMX6Q
>  	bool "i.MX6 Quad/DualLite support"
> -	select ARCH_HAS_CPUFREQ
> -	select ARCH_HAS_OPP
> +	select ARCH_HAS_OPP	
>  	select ARM_ERRATA_754322
>  	select ARM_ERRATA_764369 if SMP
>  	select ARM_ERRATA_775420
>  	select ARM_GIC
>  	select CPU_V7
>  	select HAVE_ARM_SCU if SMP
> -	select HAVE_ARM_TWD if SMP
> -	select HAVE_IMX_ANATOP
> +	select HAVE_ARM_TWD if SMP	
>  	select HAVE_IMX_GPC
>  	select HAVE_IMX_MMDC
>  	select HAVE_IMX_SRC
> @@ -800,8 +801,7 @@ config SOC_IMX6Q
>  	select PINCTRL_IMX6Q
>  	select PL310_ERRATA_588369 if CACHE_PL310
>  	select PL310_ERRATA_727915 if CACHE_PL310
> -	select PL310_ERRATA_769419 if CACHE_PL310
> -	select PM_OPP if PM
> +	select PL310_ERRATA_769419 if CACHE_PL310	
>  
>  	help
>  	  This enables support for Freescale i.MX6 Quad processor.
> @@ -812,7 +812,6 @@ config SOC_IMX6SL
>  	select ARM_ERRATA_775420
>  	select ARM_GIC
>  	select CPU_V7
> -	select HAVE_IMX_ANATOP
>  	select HAVE_IMX_GPC
>  	select HAVE_IMX_MMDC
>  	select HAVE_IMX_SRC
> -- 
> 1.8.3.2
>
Shawn Guo - Jan. 13, 2014, 3:26 a.m.
On Thu, Jan 09, 2014 at 06:39:52PM -0800, John Tobias wrote:
> The ARCH_HAS_CPUFREQ, HAVE_IMX_ANATOP and PM_OPP are moved up to ARCH_MCX.
> The driver should show if the SOC_IMX6Q and/or SOC_IMX6SL is/are selected.
> 
> Signed-off-by: John Tobias <john.tobias.ph@gmail.com>
> ---
>  drivers/cpufreq/Kconfig.arm | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
> index 3ba5dcc..230c663 100644
> --- a/drivers/cpufreq/Kconfig.arm
> +++ b/drivers/cpufreq/Kconfig.arm
> @@ -80,7 +80,7 @@ config ARM_HIGHBANK_CPUFREQ
>  
>  config ARM_IMX6Q_CPUFREQ
>  	tristate "Freescale i.MX6 cpufreq support"
> -	depends on ARCH_MXC
> +	depends on SOC_IMX6Q || SOC_IMX6SL

No.  We do not want to touch this line where there is another IMX6xx can
reuse the driver.  Depending on ARCH_MXC is good enough, since we
already have the symbol prompt and help text to tell the targets that
the driver supports.

Shawn

>  	depends on REGULATOR_ANATOP
>  	help
>  	  This adds cpufreq driver support for Freescale i.MX6 series SoCs.
> -- 
> 1.8.3.2
>
John Tobias - Jan. 13, 2014, 4:54 a.m.
I tested leaving the HAVE_IMX_ANATOP under SOC_IMX6Q and SOC_IMX6SL.
The iMX6Q cpufreq driver won't show up in menu config / gconfig and
that's the reason why I added it.

Regards,

john

On Sun, Jan 12, 2014 at 7:20 PM, Shawn Guo <shawn.guo@linaro.org> wrote:
> On Thu, Jan 09, 2014 at 06:39:51PM -0800, John Tobias wrote:
>> Moved ARCH_HAS_CPUFREQ, HAVE_IMX_ANATOP and PM_OPP on ARCH_MXC so that
>> the user can enable the cpufreq support for iMX6Q and/or iMX6SL.
>
> All I was asking is to move the following:
>
>         select ARCH_HAS_CPUFREQ
>         select ARCH_HAS_OPP
>         select PM_OPP if PM
>
> So leave HAVE_IMX_ANATOP out there, and only move the above ones please.
>
> Shawn
>
>>
>> Signed-off-by: John Tobias <john.tobias.ph@gmail.com>
>> ---
>>  arch/arm/mach-imx/Kconfig | 13 ++++++-------
>>  1 file changed, 6 insertions(+), 7 deletions(-)
>>
>> diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
>> index 7a6e6f7..d6aa34d 100644
>> --- a/arch/arm/mach-imx/Kconfig
>> +++ b/arch/arm/mach-imx/Kconfig
>> @@ -1,5 +1,6 @@
>>  config ARCH_MXC
>>       bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7
>> +     select ARCH_HAS_CPUFREQ
>>       select ARCH_REQUIRE_GPIOLIB
>>       select ARM_CPU_SUSPEND if PM
>>       select ARM_PATCH_PHYS_VIRT
>> @@ -9,8 +10,10 @@ config ARCH_MXC
>>       select GENERIC_ALLOCATOR
>>       select GENERIC_CLOCKEVENTS
>>       select GENERIC_IRQ_CHIP
>> +     select HAVE_IMX_ANATOP if SOC_IMX6Q || SOC_IMX6SL
>>       select MIGHT_HAVE_CACHE_L2X0 if ARCH_MULTI_V6_V7
>>       select MULTI_IRQ_HANDLER
>> +     select PM_OPP if PM
>>       select SOC_BUS
>>       select SPARSE_IRQ
>>       select USE_OF
>> @@ -779,16 +782,14 @@ config  SOC_IMX53
>>
>>  config SOC_IMX6Q
>>       bool "i.MX6 Quad/DualLite support"
>> -     select ARCH_HAS_CPUFREQ
>> -     select ARCH_HAS_OPP
>> +     select ARCH_HAS_OPP
>>       select ARM_ERRATA_754322
>>       select ARM_ERRATA_764369 if SMP
>>       select ARM_ERRATA_775420
>>       select ARM_GIC
>>       select CPU_V7
>>       select HAVE_ARM_SCU if SMP
>> -     select HAVE_ARM_TWD if SMP
>> -     select HAVE_IMX_ANATOP
>> +     select HAVE_ARM_TWD if SMP
>>       select HAVE_IMX_GPC
>>       select HAVE_IMX_MMDC
>>       select HAVE_IMX_SRC
>> @@ -800,8 +801,7 @@ config SOC_IMX6Q
>>       select PINCTRL_IMX6Q
>>       select PL310_ERRATA_588369 if CACHE_PL310
>>       select PL310_ERRATA_727915 if CACHE_PL310
>> -     select PL310_ERRATA_769419 if CACHE_PL310
>> -     select PM_OPP if PM
>> +     select PL310_ERRATA_769419 if CACHE_PL310
>>
>>       help
>>         This enables support for Freescale i.MX6 Quad processor.
>> @@ -812,7 +812,6 @@ config SOC_IMX6SL
>>       select ARM_ERRATA_775420
>>       select ARM_GIC
>>       select CPU_V7
>> -     select HAVE_IMX_ANATOP
>>       select HAVE_IMX_GPC
>>       select HAVE_IMX_MMDC
>>       select HAVE_IMX_SRC
>> --
>> 1.8.3.2
>>
>
John Tobias - Jan. 13, 2014, 4:55 a.m.
That's ok.

On Sun, Jan 12, 2014 at 7:26 PM, Shawn Guo <shawn.guo@linaro.org> wrote:
> On Thu, Jan 09, 2014 at 06:39:52PM -0800, John Tobias wrote:
>> The ARCH_HAS_CPUFREQ, HAVE_IMX_ANATOP and PM_OPP are moved up to ARCH_MCX.
>> The driver should show if the SOC_IMX6Q and/or SOC_IMX6SL is/are selected.
>>
>> Signed-off-by: John Tobias <john.tobias.ph@gmail.com>
>> ---
>>  drivers/cpufreq/Kconfig.arm | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/cpufreq/Kconfig.arm b/drivers/cpufreq/Kconfig.arm
>> index 3ba5dcc..230c663 100644
>> --- a/drivers/cpufreq/Kconfig.arm
>> +++ b/drivers/cpufreq/Kconfig.arm
>> @@ -80,7 +80,7 @@ config ARM_HIGHBANK_CPUFREQ
>>
>>  config ARM_IMX6Q_CPUFREQ
>>       tristate "Freescale i.MX6 cpufreq support"
>> -     depends on ARCH_MXC
>> +     depends on SOC_IMX6Q || SOC_IMX6SL
>
> No.  We do not want to touch this line where there is another IMX6xx can
> reuse the driver.  Depending on ARCH_MXC is good enough, since we
> already have the symbol prompt and help text to tell the targets that
> the driver supports.
>
> Shawn
>
>>       depends on REGULATOR_ANATOP
>>       help
>>         This adds cpufreq driver support for Freescale i.MX6 series SoCs.
>> --
>> 1.8.3.2
>>
>

Patch

diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig
index 7a6e6f7..d6aa34d 100644
--- a/arch/arm/mach-imx/Kconfig
+++ b/arch/arm/mach-imx/Kconfig
@@ -1,5 +1,6 @@ 
 config ARCH_MXC
 	bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7
+	select ARCH_HAS_CPUFREQ
 	select ARCH_REQUIRE_GPIOLIB
 	select ARM_CPU_SUSPEND if PM
 	select ARM_PATCH_PHYS_VIRT
@@ -9,8 +10,10 @@  config ARCH_MXC
 	select GENERIC_ALLOCATOR
 	select GENERIC_CLOCKEVENTS
 	select GENERIC_IRQ_CHIP
+	select HAVE_IMX_ANATOP if SOC_IMX6Q || SOC_IMX6SL
 	select MIGHT_HAVE_CACHE_L2X0 if ARCH_MULTI_V6_V7
 	select MULTI_IRQ_HANDLER
+	select PM_OPP if PM
 	select SOC_BUS
 	select SPARSE_IRQ
 	select USE_OF
@@ -779,16 +782,14 @@  config	SOC_IMX53
 
 config SOC_IMX6Q
 	bool "i.MX6 Quad/DualLite support"
-	select ARCH_HAS_CPUFREQ
-	select ARCH_HAS_OPP
+	select ARCH_HAS_OPP	
 	select ARM_ERRATA_754322
 	select ARM_ERRATA_764369 if SMP
 	select ARM_ERRATA_775420
 	select ARM_GIC
 	select CPU_V7
 	select HAVE_ARM_SCU if SMP
-	select HAVE_ARM_TWD if SMP
-	select HAVE_IMX_ANATOP
+	select HAVE_ARM_TWD if SMP	
 	select HAVE_IMX_GPC
 	select HAVE_IMX_MMDC
 	select HAVE_IMX_SRC
@@ -800,8 +801,7 @@  config SOC_IMX6Q
 	select PINCTRL_IMX6Q
 	select PL310_ERRATA_588369 if CACHE_PL310
 	select PL310_ERRATA_727915 if CACHE_PL310
-	select PL310_ERRATA_769419 if CACHE_PL310
-	select PM_OPP if PM
+	select PL310_ERRATA_769419 if CACHE_PL310	
 
 	help
 	  This enables support for Freescale i.MX6 Quad processor.
@@ -812,7 +812,6 @@  config SOC_IMX6SL
 	select ARM_ERRATA_775420
 	select ARM_GIC
 	select CPU_V7
-	select HAVE_IMX_ANATOP
 	select HAVE_IMX_GPC
 	select HAVE_IMX_MMDC
 	select HAVE_IMX_SRC