[PATCH] ARM: imx6: fix SMP compilation again
Shawn Guo
shawn.guo at freescale.com
Tue Jul 22 06:48:16 PDT 2014
On Tue, Jul 22, 2014 at 12:26:31PM +0200, Arnd Bergmann wrote:
> Ah, you are right, I got the text wrong here, and I think I now understand
> why it didn't happen earlier. Updated patch below (same patch, new
> text).
>
> 8<-------------
> Subject: [PATCH] ARM: imx6: fix SMP compilation again
>
> My earlier patch 1fc593feaf8e ("ARM: imx: build i.MX6 functions
> only when needed") fixed a problem with building an i.MX5 kernel,
> but now the problem has returned for the case where we allow
> ARMv6K SMP builds in multiplatform. With CONFIG_CPU_V7 disabled,
> but i.MX3 and SMP enabled, we get this build error:
Maybe I missed something, but I have problem to get the following three
conditions meet in a single kernel configuration.
a) CONFIG_CPU_V7 disabled
b) i.MX3 enabled
c) SMP enabled
When I get a) and b) in the config, I have no way to get c). And it
seems that the only way to get a) and c) at the same time is to enable
MACH_REALVIEW_PB11MP, which is not part of multi-platform support. So
i.MX3 cannot be enabled in there.
I tried both mainline and -next tree. I really need some help to
reproduce the error first.
>
> arch/arm/mach-imx/built-in.o: In function `v7_secondary_startup':
> :(.text+0x5124): undefined reference to `v7_invalidate_l1'
>
> This puts the code inside of an "ifdef CONFIG_SMP" to hopefully
The code says "ifdef CONFIG_SOC_IMX6"?
Shawn
> do the right thing in all configurations.
>
> Signed-off-by: Arnd Bergmann <arnd at arndb.de>
>
> diff --git a/arch/arm/mach-imx/Makefile b/arch/arm/mach-imx/Makefile
> index ac88599ca080..23c02932bf84 100644
> --- a/arch/arm/mach-imx/Makefile
> +++ b/arch/arm/mach-imx/Makefile
> @@ -93,9 +93,11 @@ obj-$(CONFIG_HAVE_IMX_ANATOP) += anatop.o
> obj-$(CONFIG_HAVE_IMX_GPC) += gpc.o
> obj-$(CONFIG_HAVE_IMX_MMDC) += mmdc.o
> obj-$(CONFIG_HAVE_IMX_SRC) += src.o
> +ifdef CONFIG_SOC_IMX6
> AFLAGS_headsmp.o :=-Wa,-march=armv7-a
> obj-$(CONFIG_SMP) += headsmp.o platsmp.o
> obj-$(CONFIG_HOTPLUG_CPU) += hotplug.o
> +endif
> obj-$(CONFIG_SOC_IMX6Q) += clk-imx6q.o mach-imx6q.o
> obj-$(CONFIG_SOC_IMX6SL) += clk-imx6sl.o mach-imx6sl.o
> obj-$(CONFIG_SOC_IMX6SX) += clk-imx6sx.o mach-imx6sx.o
>
More information about the linux-arm-kernel
mailing list