From 4cc3c840cb71da9a8e458bf89677a78ea0d61532 Mon Sep 17 00:00:00 2001 From: Fabio Estevam Date: Thu, 18 Oct 2012 15:04:30 -0300 Subject: [PATCH 1/2] ARM: mach-imx: Fix selection of ARCH_MXC Since commit c5a0d497(ARM: imx: enable multi-platform build), ARCH_MXC is selected by the following logic: config ARCH_MXC def_bool y if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 , which causes build error on vexpress_defconfig: arch/arm/mach-imx/hotplug.c:49: undefined reference to `imx_enable_cpu' arch/arm/mach-imx/platsmp.c:57: undefined reference to `imx_set_cpu_jump' arch/arm/mach-imx/platsmp.c:58: undefined reference to `imx_enable_cpu' Make ARCH_MXC a user selectable option, so that it does not get built by default on other defconfigs that select ARCH_MULTI_V4_V5 or ARCH_MULTI_V6_V7. Signed-off-by: Fabio Estevam Signed-off-by: Shawn Guo --- arch/arm/configs/imx_v4_v5_defconfig | 1 + arch/arm/configs/imx_v6_v7_defconfig | 1 + arch/arm/mach-imx/Kconfig | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/arch/arm/configs/imx_v4_v5_defconfig b/arch/arm/configs/imx_v4_v5_defconfig index bd012441b747..f71302c3ac33 100644 --- a/arch/arm/configs/imx_v4_v5_defconfig +++ b/arch/arm/configs/imx_v4_v5_defconfig @@ -17,6 +17,7 @@ CONFIG_MODULE_UNLOAD=y # CONFIG_BLK_DEV_BSG is not set # CONFIG_IOSCHED_DEADLINE is not set # CONFIG_IOSCHED_CFQ is not set +CONFIG_ARCH_MXC=y CONFIG_ARCH_MULTI_V4T=y CONFIG_ARCH_MULTI_V5=y # CONFIG_ARCH_MULTI_V7 is not set diff --git a/arch/arm/configs/imx_v6_v7_defconfig b/arch/arm/configs/imx_v6_v7_defconfig index a4965f372576..5dfadfbf7c90 100644 --- a/arch/arm/configs/imx_v6_v7_defconfig +++ b/arch/arm/configs/imx_v6_v7_defconfig @@ -16,6 +16,7 @@ CONFIG_MODULE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_BLK_DEV_BSG is not set +CONFIG_ARCH_MXC=y CONFIG_ARCH_MULTI_V6=y CONFIG_ARCH_MULTI_V7=y CONFIG_MACH_MX31LILLY=y diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 892631f1e4c8..66bcf1df14b9 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -1,5 +1,5 @@ config ARCH_MXC - def_bool y if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 + bool "Freescale i.MX family" if ARCH_MULTI_V4_V5 || ARCH_MULTI_V6_V7 select ARCH_REQUIRE_GPIOLIB select ARM_PATCH_PHYS_VIRT select AUTO_ZRELADDR if !ZBOOT_ROM From 68b25325a7fd290b5e472bba0df9cbe8c1a81d8f Mon Sep 17 00:00:00 2001 From: Shawn Guo Date: Tue, 23 Oct 2012 15:23:59 +0800 Subject: [PATCH 2/2] ARM: imx: select HAVE_IMX_SRC when SMP is enabled With being part of multi-platform support, SMP can be enabled by other platform even when SOC_IMX6Q is deselected. It leads to a situation that arch/arm/mach-imx/platsmp.c is built without HAVE_IMX_SRC selection which will cause build error. For example, the following link errors will be seen when building imx5 with other v7 platforms. arch/arm/mach-imx/built-in.o: In function `imx_cpu_die': platform-ahci-imx.c:(.text+0x219c): undefined reference to `imx_enable_cpu' arch/arm/mach-imx/built-in.o: In function `imx_boot_secondary': platform-ahci-imx.c:(.cpuinit.text+0x14): undefined reference to `imx_set_cpu_jump' platform-ahci-imx.c:(.cpuinit.text+0x20): undefined reference to `imx_enable_cpu' Select HAVE_IMX_SRC as long as SMP is enabled to fix the problem. Signed-off-by: Shawn Guo --- arch/arm/mach-imx/Kconfig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/arch/arm/mach-imx/Kconfig b/arch/arm/mach-imx/Kconfig index 66bcf1df14b9..f1bf610e2900 100644 --- a/arch/arm/mach-imx/Kconfig +++ b/arch/arm/mach-imx/Kconfig @@ -72,7 +72,7 @@ config HAVE_IMX_MMDC bool config HAVE_IMX_SRC - bool + def_bool y if SMP config IMX_HAVE_IOMUX_V1 bool @@ -837,7 +837,6 @@ config SOC_IMX6Q select HAVE_CAN_FLEXCAN if CAN select HAVE_IMX_GPC select HAVE_IMX_MMDC - select HAVE_IMX_SRC select HAVE_SMP select MFD_SYSCON select PINCTRL