Skip to contentSkip to conversation

ARM: imx: select HAVE_IMX_SRC when SMP is enabled

PATCH New Shawn Guo 2 participants 4 messages Oct 23, 2012 – Jan 17, 2013

Subsystems (3)
lore
Share & tools
lore

Shawn Guo

author
#0 lore raw

PATCH 1/1 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.

---
 arch/arm/mach-imx/Kconfig |    3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)
arch/arm/mach-imx/Kconfig +1 -2
index 8c75bae..4f73866 100644
@@ -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
@@ -839,7 +839,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
Signature · 1 line
1.7.9.5
#1 lore raw

PATCH 1/1 ARM: imx: select HAVE_IMX_SRC when SMP is enabled

Quoted 12 lines · Shawn Guo

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'

Quoted 3 lines

Select HAVE_IMX_SRC as long as SMP is enabled to fix the problem.

The build is still broken in Linus' tree...

Signature · 9 lines
Best Regards,
Artem Bityutskiy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130117/91f7f5e2/attachment.sig>
#2 lore raw

PATCH 1/1 ARM: imx: select HAVE_IMX_SRC when SMP is enabled

In reply to Shawn Guo
Quoted 6 lines · Shawn Guo

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.

Quoted 7 lines

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.

Err, sorry, the issue I get is a bit different, but similar:

arch/arm/mach-imx/built-in.o: In function `imx6q_restart':
platform-spi_imx.c:(.text+0x2220): undefined reference to imx_src_prepare_restart' arch/arm/mach-imx/built-in.o: In function imx6q_pm_enter':
platform-spi_imx.c:(.text+0x22e4): undefined reference to imx_set_cpu_jump' arch/arm/mach-imx/built-in.o: In function imx6q_init_irq':
platform-spi_imx.c:(.init.text+0x7280): undefined reference to `imx_src_init' make[1]: *** [vmlinux] Error 1

Signature · 9 lines
Best Regards,
Artem Bityutskiy
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20130117/faaeebf8/attachment-0001.sig>
author
#3 lore raw

PATCH 1/1 ARM: imx: select HAVE_IMX_SRC when SMP is enabled

Quoted 10 lines · Artem Bityutskiy

Err, sorry, the issue I get is a bit different, but similar:

arch/arm/mach-imx/built-in.o: In function `imx6q_restart':
platform-spi_imx.c:(.text+0x2220): undefined reference to imx_src_prepare_restart' arch/arm/mach-imx/built-in.o: In function imx6q_pm_enter':
platform-spi_imx.c:(.text+0x22e4): undefined reference to imx_set_cpu_jump' arch/arm/mach-imx/built-in.o: In function imx6q_init_irq':
platform-spi_imx.c:(.init.text+0x7280): undefined reference to `imx_src_init' make[1]: *** [vmlinux] Error 1

The fix [1] is on the way to mainline.

Shawn

[1] http://article.gmane.org/gmane.linux.ports.arm.kernel/209206