Skip to contentSkip to conversation

ARM: Add ARCH_HAS_L2X0 and make CACHE_L2X0 config depend on that

PATCH New Olof Johansson 4 participants 8 messages Jun 11, 2010 – Jun 16, 2010 1 message not in the archive

Subsystems (3)
lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): 6fqujhaev78923q90va

#1 lore raw

PATCH 1/1 ARM: Add ARCH_HAS_L2X0 and make CACHE_L2X0 config depend on that

It normally scales better if each platform that has <foo> selects the ARCH_HAS_<foo> option, instead of having to add every single one to the depends line.

---
 arch/arm/Kconfig               |    2 ++
 arch/arm/mach-mx3/Kconfig      |    2 ++
 arch/arm/mach-realview/Kconfig |    5 +++++
 arch/arm/mach-vexpress/Kconfig |    1 +
 arch/arm/mm/Kconfig            |    8 +++++---
 arch/arm/plat-omap/Kconfig     |    1 +
 6 files changed, 16 insertions(+), 3 deletions(-)
arch/arm/Kconfig +2 -0
index 1f254bd..6800b4b 100644
@@ -748,6 +748,7 @@ config ARCH_U8500
 	select GENERIC_CLOCKEVENTS
 	select COMMON_CLKDEV
 	select ARCH_REQUIRE_GPIOLIB
+	select ARCH_HAS_L2X0
 	help
 	  Support for ST-Ericsson's Ux500 architecture
 
@@ -759,6 +760,7 @@ config ARCH_NOMADIK
 	select COMMON_CLKDEV
 	select GENERIC_CLOCKEVENTS
 	select ARCH_REQUIRE_GPIOLIB
+	select ARCH_HAS_L2X0
 	help
 	  Support for the Nomadik platform by ST-Ericsson
 
arch/arm/mach-mx3/Kconfig +2 -0
index 344753f..a4cd462 100644
@@ -3,12 +3,14 @@ if ARCH_MX3
 config ARCH_MX31
 	select ARCH_HAS_RNGA
 	select ARCH_MXC_AUDMUX_V2
+	select ARCH_HAS_L2X0
 	bool
 
 config ARCH_MX35
 	bool
 	select ARCH_MXC_IOMUX_V3
 	select ARCH_MXC_AUDMUX_V2
+	select ARCH_HAS_L2X0
 
 comment "MX3 platforms:"
 
arch/arm/mach-realview/Kconfig +5 -0
index ee5e392..24077e8 100644
@@ -11,6 +11,7 @@ config REALVIEW_EB_A9MP
 	bool "Support Multicore Cortex-A9"
 	depends on MACH_REALVIEW_EB
 	select CPU_V7
+	select ARCH_HAS_L2X0
 	help
 	  Enable support for the Cortex-A9MPCore tile on the Realview platform.
 
@@ -18,6 +19,7 @@ config REALVIEW_EB_ARM11MP
 	bool "Support ARM11MPCore tile"
 	depends on MACH_REALVIEW_EB
 	select CPU_V6
+	select ARCH_HAS_L2X0
 	help
 	  Enable support for the ARM11MPCore tile on the Realview platform.
 
@@ -35,6 +37,7 @@ config MACH_REALVIEW_PB11MP
 	select CPU_V6
 	select ARM_GIC
 	select HAVE_PATA_PLATFORM
+	select ARCH_HAS_L2X0
 	help
 	  Include support for the ARM(R) RealView MPCore Platform Baseboard.
 	  PB11MPCore is a platform with an on-board ARM11MPCore and has
@@ -44,6 +47,7 @@ config MACH_REALVIEW_PB1176
 	bool "Support RealView/PB1176 platform"
 	select CPU_V6
 	select ARM_GIC
+	select ARCH_HAS_L2X0
 	help
 	  Include support for the ARM(R) RealView ARM1176 Platform Baseboard.
 
@@ -72,6 +76,7 @@ config MACH_REALVIEW_PBX
 	select HAVE_PATA_PLATFORM
 	select ARCH_SPARSEMEM_ENABLE if CPU_V7 && !REALVIEW_HIGH_PHYS_OFFSET
 	select ZONE_DMA if SPARSEMEM
+	select ARCH_HAS_L2X0
 	help
 	  Include support for the ARM(R) RealView PBX platform.
 
arch/arm/mach-vexpress/Kconfig +1 -0
index 3f19b66..8cc4281 100644
@@ -5,5 +5,6 @@ config ARCH_VEXPRESS_CA9X4
 	bool "Versatile Express Cortex-A9x4 tile"
 	select CPU_V7
 	select ARM_GIC
+	select ARCH_HAS_L2X0
 
 endmenu
arch/arm/mm/Kconfig +5 -3
index 346ae14..419b957 100644
@@ -759,11 +759,13 @@ config CACHE_FEROCEON_L2_WRITETHROUGH
 	  Say Y here to use the Feroceon L2 cache in writethrough mode.
 	  Unless you specifically require this, say N for writeback mode.
 
+config ARCH_HAS_L2X0
+	bool
+	default n
+
 config CACHE_L2X0
 	bool "Enable the L2x0 outer cache controller"
-	depends on REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || MACH_REALVIEW_PB1176 || \
-		   REALVIEW_EB_A9MP || ARCH_MX35 || ARCH_MX31 || MACH_REALVIEW_PBX || \
-		   ARCH_NOMADIK || ARCH_OMAP4 || ARCH_U8500 || ARCH_VEXPRESS_CA9X4
+	depends on ARCH_HAS_L2X0
 	default y
 	select OUTER_CACHE
 	select OUTER_CACHE_SYNC
arch/arm/plat-omap/Kconfig +1 -0
index 78b49a6..2e42717 100644
@@ -38,6 +38,7 @@ config ARCH_OMAP4
 	depends on ARCH_OMAP2PLUS
 	select CPU_V7
 	select ARM_GIC
+	select ARCH_HAS_L2X0
 
 endchoice
 
Signature · 1 line
1.5.6.5
#2 lore raw

PATCH 1/1 ARM: Add ARCH_HAS_L2X0 and make CACHE_L2X0 config depend on that

arch/arm/mm/Kconfig config CACHE_FEROCEON_L2_WRITETHROUGH · line 765

Quoted 12 lines · Olof Johansson
arch/arm/mm/Kconfig +4 -0
index 346ae14..419b957 100644
@@ -759,11 +759,13 @@ config CACHE_FEROCEON_L2_WRITETHROUGH
 	  Say Y here to use the Feroceon L2 cache in writethrough mode.
 	  Unless you specifically require this, say N for writeback mode.
 
+config ARCH_HAS_L2X0
+	bool
+	default n
+

I made a similar change not too long ago, but Russell wanted the define to be HAVE_CACHE_L2X0 ..

Daniel

#3 lore raw

PATCH v2 1/1 ARM: Add HAVE_CACHE_L2X0

It normally scales better if each platform that has <foo> selects the HAVE_<foo> option, instead of having to add every single one to the depends line for CONFIG_<foo>.

---

Quoted 2 lines · Daniel Walker

I made a similar change not too long ago, but Russell wanted the define to be HAVE_CACHE_L2X0 ..

Ah, I missed it. I'm not attached to the option name so since I didn't see you repost, here's my version... :)

-Olof

---

 arch/arm/Kconfig               |    2 ++
 arch/arm/mach-mx3/Kconfig      |    2 ++
 arch/arm/mach-realview/Kconfig |    5 +++++
 arch/arm/mach-vexpress/Kconfig |    1 +
 arch/arm/mm/Kconfig            |    8 +++++---
 arch/arm/plat-omap/Kconfig     |    1 +
 6 files changed, 16 insertions(+), 3 deletions(-)
arch/arm/Kconfig +2 -0
index 1f254bd..fee073d 100644
@@ -748,6 +748,7 @@ config ARCH_U8500
 	select GENERIC_CLOCKEVENTS
 	select COMMON_CLKDEV
 	select ARCH_REQUIRE_GPIOLIB
+	select HAVE_CACHE_L2X0
 	help
 	  Support for ST-Ericsson's Ux500 architecture
 
@@ -759,6 +760,7 @@ config ARCH_NOMADIK
 	select COMMON_CLKDEV
 	select GENERIC_CLOCKEVENTS
 	select ARCH_REQUIRE_GPIOLIB
+	select HAVE_CACHE_L2X0
 	help
 	  Support for the Nomadik platform by ST-Ericsson
 
arch/arm/mach-mx3/Kconfig +2 -0
index 344753f..103cad3 100644
@@ -3,12 +3,14 @@ if ARCH_MX3
 config ARCH_MX31
 	select ARCH_HAS_RNGA
 	select ARCH_MXC_AUDMUX_V2
+	select HAVE_CACHE_L2X0
 	bool
 
 config ARCH_MX35
 	bool
 	select ARCH_MXC_IOMUX_V3
 	select ARCH_MXC_AUDMUX_V2
+	select HAVE_CACHE_L2X0
 
 comment "MX3 platforms:"
 
arch/arm/mach-realview/Kconfig +5 -0
index ee5e392..f188ea3 100644
@@ -11,6 +11,7 @@ config REALVIEW_EB_A9MP
 	bool "Support Multicore Cortex-A9"
 	depends on MACH_REALVIEW_EB
 	select CPU_V7
+	select HAVE_CACHE_L2X0
 	help
 	  Enable support for the Cortex-A9MPCore tile on the Realview platform.
 
@@ -18,6 +19,7 @@ config REALVIEW_EB_ARM11MP
 	bool "Support ARM11MPCore tile"
 	depends on MACH_REALVIEW_EB
 	select CPU_V6
+	select HAVE_CACHE_L2X0
 	help
 	  Enable support for the ARM11MPCore tile on the Realview platform.
 
@@ -35,6 +37,7 @@ config MACH_REALVIEW_PB11MP
 	select CPU_V6
 	select ARM_GIC
 	select HAVE_PATA_PLATFORM
+	select HAVE_CACHE_L2X0
 	help
 	  Include support for the ARM(R) RealView MPCore Platform Baseboard.
 	  PB11MPCore is a platform with an on-board ARM11MPCore and has
@@ -44,6 +47,7 @@ config MACH_REALVIEW_PB1176
 	bool "Support RealView/PB1176 platform"
 	select CPU_V6
 	select ARM_GIC
+	select HAVE_CACHE_L2X0
 	help
 	  Include support for the ARM(R) RealView ARM1176 Platform Baseboard.
 
@@ -72,6 +76,7 @@ config MACH_REALVIEW_PBX
 	select HAVE_PATA_PLATFORM
 	select ARCH_SPARSEMEM_ENABLE if CPU_V7 && !REALVIEW_HIGH_PHYS_OFFSET
 	select ZONE_DMA if SPARSEMEM
+	select HAVE_CACHE_L2X0
 	help
 	  Include support for the ARM(R) RealView PBX platform.
 
arch/arm/mach-vexpress/Kconfig +1 -0
index 3f19b66..97d8592 100644
@@ -5,5 +5,6 @@ config ARCH_VEXPRESS_CA9X4
 	bool "Versatile Express Cortex-A9x4 tile"
 	select CPU_V7
 	select ARM_GIC
+	select HAVE_CACHE_L2X0
 
 endmenu
arch/arm/mm/Kconfig +5 -3
index 346ae14..14d25f3 100644
@@ -759,11 +759,13 @@ config CACHE_FEROCEON_L2_WRITETHROUGH
 	  Say Y here to use the Feroceon L2 cache in writethrough mode.
 	  Unless you specifically require this, say N for writeback mode.
 
+config HAVE_CACHE_L2X0
+	bool
+	default n
+
 config CACHE_L2X0
 	bool "Enable the L2x0 outer cache controller"
-	depends on REALVIEW_EB_ARM11MP || MACH_REALVIEW_PB11MP || MACH_REALVIEW_PB1176 || \
-		   REALVIEW_EB_A9MP || ARCH_MX35 || ARCH_MX31 || MACH_REALVIEW_PBX || \
-		   ARCH_NOMADIK || ARCH_OMAP4 || ARCH_U8500 || ARCH_VEXPRESS_CA9X4
+	depends on HAVE_CACHE_L2X0
 	default y
 	select OUTER_CACHE
 	select OUTER_CACHE_SYNC
arch/arm/plat-omap/Kconfig +1 -0
index 78b49a6..e7972d9 100644
@@ -38,6 +38,7 @@ config ARCH_OMAP4
 	depends on ARCH_OMAP2PLUS
 	select CPU_V7
 	select ARM_GIC
+	select HAVE_CACHE_L2X0
 
 endchoice
 
Signature · 1 line
1.5.6.5
#4 lore raw

PATCH 1/1 ARM: Add ARCH_HAS_L2X0 and make CACHE_L2X0 config depend on that

In reply to Daniel Walker
Quoted 10 lines · Daniel Walker
Quoted 8 lines · Olof Johansson
arch/arm/mm/Kconfig +0 -0
index 346ae14..419b957 100644
@@ -759,11 +759,13 @@ config CACHE_FEROCEON_L2_WRITETHROUGH
 	  Say Y here to use the Feroceon L2 cache in writethrough mode.
 	  Unless you specifically require this, say N for writeback mode.
 
Quoted 7 lines

arch/arm/mm/Kconfig config CACHE_FEROCEON_L2_WRITETHROUGH · line 765

Quoted 4 lines
arch/arm/mm/Kconfig +4 -0
+config ARCH_HAS_L2X0
+	bool
+	default n
+

I made a similar change not too long ago, but Russell wanted the define to be HAVE_CACHE_L2X0 ..

possibly, I was thinking ARM_L2X0 would also be an option, since if I remeber correctly it is selecting the driver not the availability of it.

Signature · 4 lines
Ben

Q:      What's a light-year?
A:      One-third less calories than a regular year.
#5 lore raw

PATCH 1/1 ARM: Add ARCH_HAS_L2X0 and make CACHE_L2X0 config depend on that

Quoted 8 lines · Ben Dooks
Quoted 3 lines · Daniel Walker

I made a similar change not too long ago, but Russell wanted the define to be HAVE_CACHE_L2X0 ..

possibly, I was thinking ARM_L2X0 would also be an option, since if I remeber correctly it is selecting the driver not the availability of it.

Yeah, there are lots of different possible names. :)

Let's just go with the one Russell preferred and not worry too much about it. There's some presendence to using HAVE_.* already.

-Olof

#6 lore raw

PATCH 1/1 ARM: Add ARCH_HAS_L2X0 and make CACHE_L2X0 config depend on that

Quoted 6 lines · Olof Johansson
Quoted 5 lines · Ben Dooks
Quoted 3 lines · Daniel Walker

I made a similar change not too long ago, but Russell wanted the define to be HAVE_CACHE_L2X0 ..

Quoted 9 lines
Quoted 3 lines

possibly, I was thinking ARM_L2X0 would also be an option, since if I remeber correctly it is selecting the driver not the availability of it.

Yeah, there are lots of different possible names. :)

Let's just go with the one Russell preferred and not worry too much about it. There's some presendence to using HAVE_.* already.

Sometimes I am thinking that maybe ARCH_HAS_* has some benefits:

HAVE_* for those kernel-wide and general capabilities ARCH_HAS_* for those ARM machine-class specific capabilities?

So to make things a bit more clear? If ARCH_HAS_* is widely adopted on architectures other than ARM, maybe we can then switch that name to HAVE_*?

#7 lore raw

PATCH 1/1 ARM: Add ARCH_HAS_L2X0 and make CACHE_L2X0 config depend on that

Quoted 17 lines · Eric Miao
Quoted 6 lines · Olof Johansson
Quoted 5 lines · Ben Dooks
Quoted 3 lines · Daniel Walker

I made a similar change not too long ago, but Russell wanted the define to be HAVE_CACHE_L2X0 ..

Quoted 9 lines
Quoted 3 lines

possibly, I was thinking ARM_L2X0 would also be an option, since if I remeber correctly it is selecting the driver not the availability of it.

Yeah, there are lots of different possible names. :)

Let's just go with the one Russell preferred and not worry too much about it. There's some presendence to using HAVE_.* already.

Quoted 8 lines

Sometimes I am thinking that maybe ARCH_HAS_* has some benefits:

HAVE_* for those kernel-wide and general capabilities ARCH_HAS_* for those ARM machine-class specific capabilities?

So to make things a bit more clear? If ARCH_HAS_* is widely adopted on architectures other than ARM, maybe we can then switch that name to HAVE_*?

We're nowhere near depleting the HAVE_.* namespace, it's quite sparsely used at the moment. I don't see a need to overengineer things here.

A bike shed of any color will do, etc.

-Olof

#8 lore raw

PATCH 1/1 ARM: Add ARCH_HAS_L2X0 and make CACHE_L2X0 config depend on that

Quoted 23 lines · Olof Johansson
Quoted 22 lines · Eric Miao
Quoted 6 lines · Olof Johansson
Quoted 5 lines · Ben Dooks
Quoted 3 lines · Daniel Walker

I made a similar change not too long ago, but Russell wanted the define to be HAVE_CACHE_L2X0 ..

Quoted 9 lines
Quoted 3 lines

possibly, I was thinking ARM_L2X0 would also be an option, since if I remeber correctly it is selecting the driver not the availability of it.

Yeah, there are lots of different possible names. :)

Let's just go with the one Russell preferred and not worry too much about it. There's some presendence to using HAVE_.* already.

Sometimes I am thinking that maybe ARCH_HAS_* has some benefits:

HAVE_* for those kernel-wide and general capabilities ARCH_HAS_* for those ARM machine-class specific capabilities?

Quoted 6 lines
Quoted 3 lines

So to make things a bit more clear? If ARCH_HAS_* is widely adopted on architectures other than ARM, maybe we can then switch that name to HAVE_*?

We're nowhere near depleting the HAVE_.* namespace, it's quite sparsely used at the moment.

No I'm not talking about depleting the HAVE_* , just wondering if there is a way to make things a bit clearer.

Quoted 4 lines

I don't see a need to overengineer things here.

A bike shed of any color will do, etc.

Agreed.