Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ce5ea9f3 authored by Dave Martin's avatar Dave Martin
Browse files

ARM: l2x0/pl310: Refactor Kconfig to be more maintainable



Making CACHE_L2X0 depend on (huge list of MACH_ and ARCH_ configs)
is bothersome to maintain and likely to lead to merge conflicts.

This patch moves the knowledge of which platforms have a L2x0 or
PL310 cache controller to the individual machines.  To enable this,
a new MIGHT_HAVE_CACHE_L2X0 config option is introduced to allow
machines to indicate that they may have such a cache controller
independently of each other.

Boards/SoCs which cannot reliably operate without the L2 cache
controller support will need to select CACHE_L2X0 directly from
their own Kconfigs instead.  This applies to some TrustZone-enabled
boards where Linux runs in the Normal World, for example.

Signed-off-by: default avatarDave Martin <dave.martin@linaro.org>
Acked-by: default avatarAnton Vorontsov <cbouatmailru@gmail.com>
        (for cns3xxx)
Acked-by: default avatarTony Lindgren <tony@atomide.com>
        (for omap)
Acked-by: default avatarShawn Guo <shawn.guo@linaro.org>
        (for imx)
Acked-by: default avatarKukjin Kim <kgene.kim@samsung.com>
        (for exynos)
Acked-by: default avatarSascha Hauer <s.hauer@pengutronix.de>
        (for imx)
Acked-by: default avatarOlof Johansson <olof@lixom.net>
        (for tegra)
parent caca6a03
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -344,6 +344,7 @@ config ARCH_HIGHBANK
	select CPU_V7
	select GENERIC_CLOCKEVENTS
	select HAVE_ARM_SCU
	select MIGHT_HAVE_CACHE_L2X0
	select USE_OF
	help
	  Support for the Calxeda Highbank SoC based boards.
@@ -361,6 +362,7 @@ config ARCH_CNS3XXX
	select CPU_V6K
	select GENERIC_CLOCKEVENTS
	select ARM_GIC
	select MIGHT_HAVE_CACHE_L2X0
	select MIGHT_HAVE_PCI
	select PCI_DOMAINS if PCI
	help
@@ -381,6 +383,7 @@ config ARCH_PRIMA2
	select GENERIC_CLOCKEVENTS
	select CLKDEV_LOOKUP
	select GENERIC_IRQ_CHIP
	select MIGHT_HAVE_CACHE_L2X0
	select USE_OF
	select ZONE_DMA
	help
@@ -633,6 +636,7 @@ config ARCH_TEGRA
	select GENERIC_GPIO
	select HAVE_CLK
	select HAVE_SCHED_CLOCK
	select MIGHT_HAVE_CACHE_L2X0
	select ARCH_HAS_CPUFREQ
	help
	  This enables support for NVIDIA Tegra based systems (Tegra APX,
@@ -703,6 +707,7 @@ config ARCH_SHMOBILE
	select CLKDEV_LOOKUP
	select HAVE_MACH_CLKDEV
	select GENERIC_CLOCKEVENTS
	select MIGHT_HAVE_CACHE_L2X0
	select NO_IOPORT
	select SPARSE_IRQ
	select MULTI_IRQ_HANDLER
@@ -904,6 +909,7 @@ config ARCH_U8500
	select CLKDEV_LOOKUP
	select ARCH_REQUIRE_GPIOLIB
	select ARCH_HAS_CPUFREQ
	select MIGHT_HAVE_CACHE_L2X0
	help
	  Support for ST-Ericsson's Ux500 architecture

@@ -914,6 +920,7 @@ config ARCH_NOMADIK
	select CPU_ARM926T
	select CLKDEV_LOOKUP
	select GENERIC_CLOCKEVENTS
	select MIGHT_HAVE_CACHE_L2X0
	select ARCH_REQUIRE_GPIOLIB
	help
	  Support for the Nomadik platform by ST-Ericsson
@@ -973,6 +980,7 @@ config ARCH_ZYNQ
	select ARM_GIC
	select ARM_AMBA
	select ICST
	select MIGHT_HAVE_CACHE_L2X0
	select USE_OF
	help
	  Support for Xilinx Zynq ARM Cortex A9 Platform
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ choice

config ARCH_EXYNOS4
	bool "SAMSUNG EXYNOS4"
	select MIGHT_HAVE_CACHE_L2X0
	help
	  Samsung EXYNOS4 SoCs based systems

+1 −0
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ config ARCH_OMAP4
	select CPU_V7
	select ARM_GIC
	select LOCAL_TIMERS if SMP
	select MIGHT_HAVE_CACHE_L2X0
	select PL310_ERRATA_588369
	select PL310_ERRATA_727915
	select ARM_ERRATA_720789
+5 −0
Original line number Diff line number Diff line
@@ -12,6 +12,7 @@ config REALVIEW_EB_A9MP
	bool "Support Multicore Cortex-A9 Tile"
	depends on MACH_REALVIEW_EB
	select CPU_V7
	select MIGHT_HAVE_CACHE_L2X0
	help
	  Enable support for the Cortex-A9MPCore tile fitted to the
	  Realview(R) Emulation Baseboard platform.
@@ -21,6 +22,7 @@ config REALVIEW_EB_ARM11MP
	depends on MACH_REALVIEW_EB
	select CPU_V6K
	select ARCH_HAS_BARRIERS if SMP
	select MIGHT_HAVE_CACHE_L2X0
	help
	  Enable support for the ARM11MPCore tile fitted to the Realview(R)
	  Emulation Baseboard platform.
@@ -39,6 +41,7 @@ config MACH_REALVIEW_PB11MP
	select CPU_V6K
	select ARM_GIC
	select HAVE_PATA_PLATFORM
	select MIGHT_HAVE_CACHE_L2X0
	select ARCH_HAS_BARRIERS if SMP
	help
	  Include support for the ARM(R) RealView(R) Platform Baseboard for
@@ -51,6 +54,7 @@ config MACH_REALVIEW_PB1176
	select CPU_V6
	select ARM_GIC
	select HAVE_TCM
	select MIGHT_HAVE_CACHE_L2X0
	help
	  Include support for the ARM(R) RealView(R) Platform Baseboard for
	  ARM1176JZF-S.
@@ -78,6 +82,7 @@ config MACH_REALVIEW_PBX
	bool "Support RealView(R) Platform Baseboard Explore"
	select ARM_GIC
	select HAVE_PATA_PLATFORM
	select MIGHT_HAVE_CACHE_L2X0
	select ARCH_SPARSEMEM_ENABLE if CPU_V7 && !REALVIEW_HIGH_PHYS_OFFSET
	select ZONE_DMA if SPARSEMEM
	help
+1 −0
Original line number Diff line number Diff line
@@ -8,5 +8,6 @@ config ARCH_VEXPRESS_CA9X4
	select ARM_ERRATA_720789
	select ARM_ERRATA_751472
	select ARM_ERRATA_753970
	select MIGHT_HAVE_CACHE_L2X0

endmenu
Loading