diff mbox

[GIT,PULL] at91: soc for 3.10 #2

Message ID 201303271902.00068.arnd@arndb.de (mailing list archive)
State New, archived
Headers show

Commit Message

Arnd Bergmann March 27, 2013, 7:01 p.m. UTC
On Wednesday 27 March 2013, Nicolas Ferre wrote:

> ----------------------------------------------------------------
> Introduction of new Atmel Cortex-A5: SAMA5D3 family.
> - Modify AT91 Kconfig to plit ARMv4/5 and ARMv7 arch
> - Modify PMC driver (clocks)
> - Core SAMA5 support
> - Board file, DT files and defconfig

Looks really good. Olof said he'd take over merging tomorrow,
so I'll leave it for him.

> ----------------------------------------------------------------
> Ludovic Desroches (6):
>       ARM: at91: change name template in AT91_SOC_START macro
>       ARM: at91: add AT91_SAM9_TIME entry to select at91sam926x_time.c compilation
>       ARM: at91: introduce the core type choice to split ARMv4/5 and ARMv7 arch
>       ARM: at91: introduce SAMA5 support
>       ARM: at91: dt: add device tree files for SAMA5D3 family
>       ARM: at91: add defconfig for SAMA5

There is one obvious change that would be nice to include here,
can you add this on top (either Nicolas or Olof)?

8<---------
Subject: ARM: at91: make ATAGS support conditional on CONFIG_ATAGS

We have the global CONFIG_ATAGS symbol that is used to determine
whether ATAGS based boot is possible or not. Since we are
splitting out the legacy boards from the main Kconfig on at91,
we can use that symbol to easily hide the old options.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Comments

Nicolas Ferre March 28, 2013, 8:57 a.m. UTC | #1
On 03/27/2013 08:01 PM, Arnd Bergmann :
> On Wednesday 27 March 2013, Nicolas Ferre wrote:
> 
>> ----------------------------------------------------------------
>> Introduction of new Atmel Cortex-A5: SAMA5D3 family.
>> - Modify AT91 Kconfig to plit ARMv4/5 and ARMv7 arch
>> - Modify PMC driver (clocks)
>> - Core SAMA5 support
>> - Board file, DT files and defconfig
> 
> Looks really good. Olof said he'd take over merging tomorrow,
> so I'll leave it for him.
> 
>> ----------------------------------------------------------------
>> Ludovic Desroches (6):
>>       ARM: at91: change name template in AT91_SOC_START macro
>>       ARM: at91: add AT91_SAM9_TIME entry to select at91sam926x_time.c compilation
>>       ARM: at91: introduce the core type choice to split ARMv4/5 and ARMv7 arch
>>       ARM: at91: introduce SAMA5 support
>>       ARM: at91: dt: add device tree files for SAMA5D3 family
>>       ARM: at91: add defconfig for SAMA5
> 
> There is one obvious change that would be nice to include here,
> can you add this on top (either Nicolas or Olof)?

Yes, I include it in a v2 pull-request now.

Olof, can you please take this new one with Arnd's patch included?


> 8<---------
> Subject: ARM: at91: make ATAGS support conditional on CONFIG_ATAGS
> 
> We have the global CONFIG_ATAGS symbol that is used to determine
> whether ATAGS based boot is possible or not. Since we are
> splitting out the legacy boards from the main Kconfig on at91,
> we can use that symbol to easily hide the old options.
> 
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>

Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>


Thanks, a lot, bye,


> diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
> index 0280238..119a0a4 100644
> --- a/arch/arm/mach-at91/Kconfig
> +++ b/arch/arm/mach-at91/Kconfig
> @@ -137,8 +137,9 @@ config SOC_AT91SAM9N12
>  	  Select this if you are using Atmel's AT91SAM9N12 SoC.
>  
>  # ----------------------------------------------------------
> -
> +if ATAGS
>  source arch/arm/mach-at91/Kconfig.non_dt
> +endif
>  endif # SOC_SAM_V4_V5
>  
>  comment "Generic Board Type"
>
Olof Johansson April 3, 2013, 12:26 a.m. UTC | #2
On Wed, Mar 27, 2013 at 12:01 PM, Arnd Bergmann <arnd@arndb.de> wrote:
> On Wednesday 27 March 2013, Nicolas Ferre wrote:
>
>> ----------------------------------------------------------------
>> Introduction of new Atmel Cortex-A5: SAMA5D3 family.
>> - Modify AT91 Kconfig to plit ARMv4/5 and ARMv7 arch
>> - Modify PMC driver (clocks)
>> - Core SAMA5 support
>> - Board file, DT files and defconfig
>
> Looks really good. Olof said he'd take over merging tomorrow,
> so I'll leave it for him.
>
>> ----------------------------------------------------------------
>> Ludovic Desroches (6):
>>       ARM: at91: change name template in AT91_SOC_START macro
>>       ARM: at91: add AT91_SAM9_TIME entry to select at91sam926x_time.c compilation
>>       ARM: at91: introduce the core type choice to split ARMv4/5 and ARMv7 arch
>>       ARM: at91: introduce SAMA5 support
>>       ARM: at91: dt: add device tree files for SAMA5D3 family
>>       ARM: at91: add defconfig for SAMA5
>
> There is one obvious change that would be nice to include here,
> can you add this on top (either Nicolas or Olof)?
>
> 8<---------
> Subject: ARM: at91: make ATAGS support conditional on CONFIG_ATAGS
>
> We have the global CONFIG_ATAGS symbol that is used to determine
> whether ATAGS based boot is possible or not. Since we are
> splitting out the legacy boards from the main Kconfig on at91,
> we can use that symbol to easily hide the old options.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>
> diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
> index 0280238..119a0a4 100644
> --- a/arch/arm/mach-at91/Kconfig
> +++ b/arch/arm/mach-at91/Kconfig
> @@ -137,8 +137,9 @@ config SOC_AT91SAM9N12
>           Select this if you are using Atmel's AT91SAM9N12 SoC.
>
>  # ----------------------------------------------------------
> -
> +if ATAGS
>  source arch/arm/mach-at91/Kconfig.non_dt
> +endif
>  endif # SOC_SAM_V4_V5
>
>  comment "Generic Board Type"

Actually, it's not that simple. With this patch, I get:

arch/arm/Kconfig:1841:error: recursive dependency detected!
arch/arm/Kconfig:1841:  symbol USE_OF is selected by MACH_AT91RM9200_DT
arch/arm/mach-at91/Kconfig:147: symbol MACH_AT91RM9200_DT depends on
SOC_AT91RM9200
arch/arm/mach-at91/Kconfig:74:  symbol SOC_AT91RM9200 is selected by
ARCH_AT91RM9200
arch/arm/mach-at91/Kconfig.non_dt:12:   symbol ARCH_AT91RM9200 is part
of choice <choice>
arch/arm/mach-at91/Kconfig.non_dt:6:    choice <choice> contains symbol <choice>
arch/arm/mach-at91/Kconfig.non_dt:6:    choice <choice> contains symbol ATAGS
arch/arm/Kconfig:1850:  symbol ATAGS depends on USE_OF

Also, USE_OF isn't set at that point (it's controlled by the next
section), so it can't be used as a replacement.

Also, isn't it a bit backwards in the first place to first set ATAGS
vs no-ATAGS, and then get to choose what hardware you want to build
for?

I'll take off the last patch from the branch and re-merge it (since I
hadn't pushed it out yet), the above can be sorted out separately.


-Olof
Nicolas Ferre April 3, 2013, 7:22 a.m. UTC | #3
On 04/03/2013 02:26 AM, Olof Johansson :
> On Wed, Mar 27, 2013 at 12:01 PM, Arnd Bergmann <arnd@arndb.de> wrote:
>> On Wednesday 27 March 2013, Nicolas Ferre wrote:
>>
>>> ----------------------------------------------------------------
>>> Introduction of new Atmel Cortex-A5: SAMA5D3 family.
>>> - Modify AT91 Kconfig to plit ARMv4/5 and ARMv7 arch
>>> - Modify PMC driver (clocks)
>>> - Core SAMA5 support
>>> - Board file, DT files and defconfig
>>
>> Looks really good. Olof said he'd take over merging tomorrow,
>> so I'll leave it for him.
>>
>>> ----------------------------------------------------------------
>>> Ludovic Desroches (6):
>>>       ARM: at91: change name template in AT91_SOC_START macro
>>>       ARM: at91: add AT91_SAM9_TIME entry to select at91sam926x_time.c compilation
>>>       ARM: at91: introduce the core type choice to split ARMv4/5 and ARMv7 arch
>>>       ARM: at91: introduce SAMA5 support
>>>       ARM: at91: dt: add device tree files for SAMA5D3 family
>>>       ARM: at91: add defconfig for SAMA5
>>
>> There is one obvious change that would be nice to include here,
>> can you add this on top (either Nicolas or Olof)?
>>
>> 8<---------
>> Subject: ARM: at91: make ATAGS support conditional on CONFIG_ATAGS
>>
>> We have the global CONFIG_ATAGS symbol that is used to determine
>> whether ATAGS based boot is possible or not. Since we are
>> splitting out the legacy boards from the main Kconfig on at91,
>> we can use that symbol to easily hide the old options.
>>
>> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
>>
>> diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
>> index 0280238..119a0a4 100644
>> --- a/arch/arm/mach-at91/Kconfig
>> +++ b/arch/arm/mach-at91/Kconfig
>> @@ -137,8 +137,9 @@ config SOC_AT91SAM9N12
>>           Select this if you are using Atmel's AT91SAM9N12 SoC.
>>
>>  # ----------------------------------------------------------
>> -
>> +if ATAGS
>>  source arch/arm/mach-at91/Kconfig.non_dt
>> +endif
>>  endif # SOC_SAM_V4_V5
>>
>>  comment "Generic Board Type"
> 
> Actually, it's not that simple. With this patch, I get:
> 
> arch/arm/Kconfig:1841:error: recursive dependency detected!
> arch/arm/Kconfig:1841:  symbol USE_OF is selected by MACH_AT91RM9200_DT
> arch/arm/mach-at91/Kconfig:147: symbol MACH_AT91RM9200_DT depends on
> SOC_AT91RM9200
> arch/arm/mach-at91/Kconfig:74:  symbol SOC_AT91RM9200 is selected by
> ARCH_AT91RM9200
> arch/arm/mach-at91/Kconfig.non_dt:12:   symbol ARCH_AT91RM9200 is part
> of choice <choice>
> arch/arm/mach-at91/Kconfig.non_dt:6:    choice <choice> contains symbol <choice>
> arch/arm/mach-at91/Kconfig.non_dt:6:    choice <choice> contains symbol ATAGS
> arch/arm/Kconfig:1850:  symbol ATAGS depends on USE_OF
> 
> Also, USE_OF isn't set at that point (it's controlled by the next
> section), so it can't be used as a replacement.
> 
> Also, isn't it a bit backwards in the first place to first set ATAGS
> vs no-ATAGS, and then get to choose what hardware you want to build
> for?

True, I was thinking it was a common pattern.

> I'll take off the last patch from the branch and re-merge it (since I
> hadn't pushed it out yet), the above can be sorted out separately.

Thanks Olof for taking care about this! We will come back on this later
or simply decide that it is not worth it / not logical...

Best regards,
Arnd Bergmann April 3, 2013, 10:02 a.m. UTC | #4
On Wednesday 03 April 2013, Nicolas Ferre wrote:
> > Also, USE_OF isn't set at that point (it's controlled by the next
> > section), so it can't be used as a replacement.
> > 
> > Also, isn't it a bit backwards in the first place to first set ATAGS
> > vs no-ATAGS, and then get to choose what hardware you want to build
> > for?
> 
> True, I was thinking it was a common pattern.

It's not common yet, but I want to get to the point where we can
globally disable ATAGS support for multiplatform kernels and get
only DT-enabled ones. There is no easy rule for when to select
or depend on a global feature, but there are a number of cases where
I think 'depends on' makes more sense in the long run.

Another example is CPU architecture level. Traditionally every
board selects CPU_v6 or CPU_v7, but in ARCH_MULTIPLATFORM, I created
a filter that lets you enable only one of them, and then pick all
the platforms that have the respective CPU, which is much easier
than having to know which platforms might be ARMv6 if you want to
build e.g. a kernel with THUMB2 support but as many boards enabled
as possible.

	Arnd
diff mbox

Patch

diff --git a/arch/arm/mach-at91/Kconfig b/arch/arm/mach-at91/Kconfig
index 0280238..119a0a4 100644
--- a/arch/arm/mach-at91/Kconfig
+++ b/arch/arm/mach-at91/Kconfig
@@ -137,8 +137,9 @@  config SOC_AT91SAM9N12
 	  Select this if you are using Atmel's AT91SAM9N12 SoC.
 
 # ----------------------------------------------------------
-
+if ATAGS
 source arch/arm/mach-at91/Kconfig.non_dt
+endif
 endif # SOC_SAM_V4_V5
 
 comment "Generic Board Type"