diff options
| author | Russell King <rmk+kernel@arm.linux.org.uk> | 2014-06-19 05:19:10 -0400 |
|---|---|---|
| committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2014-06-19 06:29:28 -0400 |
| commit | a641f3a6abce7e884d15adf073599bb2f2651203 (patch) | |
| tree | 1b36cb02f59de79f03ef39b016f67a1418b40884 | |
| parent | 870cbe8cb2043d63dc5f110731df57599075f53d (diff) | |
ARM: l2c: fix dependencies on PL310 errata symbols
A number of configurations spit out warnings similar to:
warning: (SOC_IMX6 && SOC_VF610 && ARCH_OMAP4) selects PL310_ERRATA_588369 which has unmet direct dependencies (CACHE_L2X0)
warning: (SOC_IMX6 && SOC_VF610 && ARCH_OMAP4) selects PL310_ERRATA_727915 which has unmet direct dependencies (CACHE_L2X0)
Clean up the dependencies here:
* PL310 symbols should only be selected when CACHE_L2X0 is enabled.
* Since the cache-l2x0 code detects PL310 presence at runtime, and we will
eventually get rid of CACHE_PL310, surround these errata options with an
if CACHE_L2X0 conditional rather than repeating the dependency against
each.
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
| -rw-r--r-- | arch/arm/mach-imx/Kconfig | 12 | ||||
| -rw-r--r-- | arch/arm/mach-omap2/Kconfig | 4 | ||||
| -rw-r--r-- | arch/arm/mach-sti/Kconfig | 4 | ||||
| -rw-r--r-- | arch/arm/mach-ux500/Kconfig | 2 | ||||
| -rw-r--r-- | arch/arm/mach-vexpress/Kconfig | 2 | ||||
| -rw-r--r-- | arch/arm/mm/Kconfig | 9 |
6 files changed, 16 insertions, 17 deletions
diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 8d42eab76d53..606b52680f6a 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig | |||
| @@ -738,9 +738,9 @@ config SOC_IMX6 | |||
| 738 | select HAVE_IMX_MMDC | 738 | select HAVE_IMX_MMDC |
| 739 | select HAVE_IMX_SRC | 739 | select HAVE_IMX_SRC |
| 740 | select MFD_SYSCON | 740 | select MFD_SYSCON |
| 741 | select PL310_ERRATA_588369 if CACHE_PL310 | 741 | select PL310_ERRATA_588369 if CACHE_L2X0 |
| 742 | select PL310_ERRATA_727915 if CACHE_PL310 | 742 | select PL310_ERRATA_727915 if CACHE_L2X0 |
| 743 | select PL310_ERRATA_769419 if CACHE_PL310 | 743 | select PL310_ERRATA_769419 if CACHE_L2X0 |
| 744 | 744 | ||
| 745 | config SOC_IMX6Q | 745 | config SOC_IMX6Q |
| 746 | bool "i.MX6 Quad/DualLite support" | 746 | bool "i.MX6 Quad/DualLite support" |
| @@ -775,9 +775,9 @@ config SOC_VF610 | |||
| 775 | select ARM_GIC | 775 | select ARM_GIC |
| 776 | select PINCTRL_VF610 | 776 | select PINCTRL_VF610 |
| 777 | select VF_PIT_TIMER | 777 | select VF_PIT_TIMER |
| 778 | select PL310_ERRATA_588369 if CACHE_PL310 | 778 | select PL310_ERRATA_588369 if CACHE_L2X0 |
| 779 | select PL310_ERRATA_727915 if CACHE_PL310 | 779 | select PL310_ERRATA_727915 if CACHE_L2X0 |
| 780 | select PL310_ERRATA_769419 if CACHE_PL310 | 780 | select PL310_ERRATA_769419 if CACHE_L2X0 |
| 781 | 781 | ||
| 782 | help | 782 | help |
| 783 | This enable support for Freescale Vybrid VF610 processor. | 783 | This enable support for Freescale Vybrid VF610 processor. |
diff --git a/arch/arm/mach-omap2/Kconfig b/arch/arm/mach-omap2/Kconfig index 0ba482638ebf..2ff3f23e31b0 100644 --- a/arch/arm/mach-omap2/Kconfig +++ b/arch/arm/mach-omap2/Kconfig | |||
| @@ -32,8 +32,8 @@ config ARCH_OMAP4 | |||
| 32 | select HAVE_ARM_SCU if SMP | 32 | select HAVE_ARM_SCU if SMP |
| 33 | select HAVE_ARM_TWD if SMP | 33 | select HAVE_ARM_TWD if SMP |
| 34 | select OMAP_INTERCONNECT | 34 | select OMAP_INTERCONNECT |
| 35 | select PL310_ERRATA_588369 | 35 | select PL310_ERRATA_588369 if CACHE_L2X0 |
| 36 | select PL310_ERRATA_727915 | 36 | select PL310_ERRATA_727915 if CACHE_L2X0 |
| 37 | select PM_OPP if PM | 37 | select PM_OPP if PM |
| 38 | select PM_RUNTIME if CPU_IDLE | 38 | select PM_RUNTIME if CPU_IDLE |
| 39 | select ARM_ERRATA_754322 | 39 | select ARM_ERRATA_754322 |
diff --git a/arch/arm/mach-sti/Kconfig b/arch/arm/mach-sti/Kconfig index abf9ee9bbc3f..1831e9611761 100644 --- a/arch/arm/mach-sti/Kconfig +++ b/arch/arm/mach-sti/Kconfig | |||
| @@ -11,8 +11,8 @@ menuconfig ARCH_STI | |||
| 11 | select ARM_ERRATA_754322 | 11 | select ARM_ERRATA_754322 |
| 12 | select ARM_ERRATA_764369 if SMP | 12 | select ARM_ERRATA_764369 if SMP |
| 13 | select ARM_ERRATA_775420 | 13 | select ARM_ERRATA_775420 |
| 14 | select PL310_ERRATA_753970 if CACHE_PL310 | 14 | select PL310_ERRATA_753970 if CACHE_L2X0 |
| 15 | select PL310_ERRATA_769419 if CACHE_PL310 | 15 | select PL310_ERRATA_769419 if CACHE_L2X0 |
| 16 | help | 16 | help |
| 17 | Include support for STiH41x SOCs like STiH415/416 using the device tree | 17 | Include support for STiH41x SOCs like STiH415/416 using the device tree |
| 18 | for discovery | 18 | for discovery |
diff --git a/arch/arm/mach-ux500/Kconfig b/arch/arm/mach-ux500/Kconfig index b41a42da1505..86f537277383 100644 --- a/arch/arm/mach-ux500/Kconfig +++ b/arch/arm/mach-ux500/Kconfig | |||
| @@ -16,7 +16,7 @@ config ARCH_U8500 | |||
| 16 | select PINCTRL | 16 | select PINCTRL |
| 17 | select PINCTRL_ABX500 | 17 | select PINCTRL_ABX500 |
| 18 | select PINCTRL_NOMADIK | 18 | select PINCTRL_NOMADIK |
| 19 | select PL310_ERRATA_753970 if CACHE_PL310 | 19 | select PL310_ERRATA_753970 if CACHE_L2X0 |
| 20 | help | 20 | help |
| 21 | Support for ST-Ericsson's Ux500 architecture | 21 | Support for ST-Ericsson's Ux500 architecture |
| 22 | 22 | ||
diff --git a/arch/arm/mach-vexpress/Kconfig b/arch/arm/mach-vexpress/Kconfig index 90249cfc37b3..a423de4724ab 100644 --- a/arch/arm/mach-vexpress/Kconfig +++ b/arch/arm/mach-vexpress/Kconfig | |||
| @@ -44,7 +44,7 @@ config ARCH_VEXPRESS_CORTEX_A5_A9_ERRATA | |||
| 44 | bool "Enable A5 and A9 only errata work-arounds" | 44 | bool "Enable A5 and A9 only errata work-arounds" |
| 45 | default y | 45 | default y |
| 46 | select ARM_ERRATA_720789 | 46 | select ARM_ERRATA_720789 |
| 47 | select PL310_ERRATA_753970 if CACHE_PL310 | 47 | select PL310_ERRATA_753970 if CACHE_L2X0 |
| 48 | help | 48 | help |
| 49 | Provides common dependencies for Versatile Express platforms | 49 | Provides common dependencies for Versatile Express platforms |
| 50 | based on Cortex-A5 and Cortex-A9 processors. In order to | 50 | based on Cortex-A5 and Cortex-A9 processors. In order to |
diff --git a/arch/arm/mm/Kconfig b/arch/arm/mm/Kconfig index eda0dd0ab97b..c348eaee7ee2 100644 --- a/arch/arm/mm/Kconfig +++ b/arch/arm/mm/Kconfig | |||
| @@ -889,9 +889,10 @@ config CACHE_L2X0 | |||
| 889 | help | 889 | help |
| 890 | This option enables the L2x0 PrimeCell. | 890 | This option enables the L2x0 PrimeCell. |
| 891 | 891 | ||
| 892 | if CACHE_L2X0 | ||
| 893 | |||
| 892 | config CACHE_PL310 | 894 | config CACHE_PL310 |
| 893 | bool | 895 | bool |
| 894 | depends on CACHE_L2X0 | ||
| 895 | default y if CPU_V7 && !(CPU_V6 || CPU_V6K) | 896 | default y if CPU_V7 && !(CPU_V6 || CPU_V6K) |
| 896 | help | 897 | help |
| 897 | This option enables optimisations for the PL310 cache | 898 | This option enables optimisations for the PL310 cache |
| @@ -899,7 +900,6 @@ config CACHE_PL310 | |||
| 899 | 900 | ||
| 900 | config PL310_ERRATA_588369 | 901 | config PL310_ERRATA_588369 |
| 901 | bool "PL310 errata: Clean & Invalidate maintenance operations do not invalidate clean lines" | 902 | bool "PL310 errata: Clean & Invalidate maintenance operations do not invalidate clean lines" |
| 902 | depends on CACHE_L2X0 | ||
| 903 | help | 903 | help |
| 904 | The PL310 L2 cache controller implements three types of Clean & | 904 | The PL310 L2 cache controller implements three types of Clean & |
| 905 | Invalidate maintenance operations: by Physical Address | 905 | Invalidate maintenance operations: by Physical Address |
| @@ -912,7 +912,6 @@ config PL310_ERRATA_588369 | |||
| 912 | 912 | ||
| 913 | config PL310_ERRATA_727915 | 913 | config PL310_ERRATA_727915 |
| 914 | bool "PL310 errata: Background Clean & Invalidate by Way operation can cause data corruption" | 914 | bool "PL310 errata: Background Clean & Invalidate by Way operation can cause data corruption" |
| 915 | depends on CACHE_L2X0 | ||
| 916 | help | 915 | help |
| 917 | PL310 implements the Clean & Invalidate by Way L2 cache maintenance | 916 | PL310 implements the Clean & Invalidate by Way L2 cache maintenance |
| 918 | operation (offset 0x7FC). This operation runs in background so that | 917 | operation (offset 0x7FC). This operation runs in background so that |
| @@ -923,7 +922,6 @@ config PL310_ERRATA_727915 | |||
| 923 | 922 | ||
| 924 | config PL310_ERRATA_753970 | 923 | config PL310_ERRATA_753970 |
| 925 | bool "PL310 errata: cache sync operation may be faulty" | 924 | bool "PL310 errata: cache sync operation may be faulty" |
| 926 | depends on CACHE_PL310 | ||
| 927 | help | 925 | help |
| 928 | This option enables the workaround for the 753970 PL310 (r3p0) erratum. | 926 | This option enables the workaround for the 753970 PL310 (r3p0) erratum. |
| 929 | 927 | ||
| @@ -938,7 +936,6 @@ config PL310_ERRATA_753970 | |||
| 938 | 936 | ||
| 939 | config PL310_ERRATA_769419 | 937 | config PL310_ERRATA_769419 |
| 940 | bool "PL310 errata: no automatic Store Buffer drain" | 938 | bool "PL310 errata: no automatic Store Buffer drain" |
| 941 | depends on CACHE_L2X0 | ||
| 942 | help | 939 | help |
| 943 | On revisions of the PL310 prior to r3p2, the Store Buffer does | 940 | On revisions of the PL310 prior to r3p2, the Store Buffer does |
| 944 | not automatically drain. This can cause normal, non-cacheable | 941 | not automatically drain. This can cause normal, non-cacheable |
| @@ -948,6 +945,8 @@ config PL310_ERRATA_769419 | |||
| 948 | on systems with an outer cache, the store buffer is drained | 945 | on systems with an outer cache, the store buffer is drained |
| 949 | explicitly. | 946 | explicitly. |
| 950 | 947 | ||
| 948 | endif | ||
| 949 | |||
| 951 | config CACHE_TAUROS2 | 950 | config CACHE_TAUROS2 |
| 952 | bool "Enable the Tauros2 L2 cache controller" | 951 | bool "Enable the Tauros2 L2 cache controller" |
| 953 | depends on (ARCH_DOVE || ARCH_MMP || CPU_PJ4) | 952 | depends on (ARCH_DOVE || ARCH_MMP || CPU_PJ4) |
