Skip to contentSkip to conversation

Build error with !CONFIG_SMP in v4.2-rc1 on arm multi_v7_defconfig

PATCH Applied Dave Gerlach 4 participants 9 messages Jul 10, 2015 – Jul 23, 2015

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

Hello,
I am seeing the following error when building v4.2-rc1 for arm with multi_v7_defconfig with CONFIG_SMP=n:

LINK vmlinux
LD vmlinux.o
MODPOST vmlinux.o

  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o

drivers/built-in.o: In function `qcom_pm_collapse':
:(.text+0xaf44c): undefined reference to qcom_scm_cpu_power_down' drivers/built-in.o: In function qcom_cpuidle_init':
:(.init.text+0x9508): undefined reference to `qcom_scm_set_warm_boot_addr'
make: *** [vmlinux] Error 1

It appears the calling functions in drivers/soc/qcom/spm.c get included by CONFIG_QCOM_PM which is part of multi_v7_defconfig but the missing functions from drivers/firmware/qcom_scm.c only get included by CONFIG_QCOM_SCM if SMP is selected. I am not sure if the correct approach is to remove CONFIG_QCOM_PM from multi_v7_defconfig or to remove 'if SMP' from CONFIG_QCOM_SCM, or something else entirely. Thoughts?

Regards,
Dave

#1 lore raw
Quoted 19 lines · Dave Gerlach

Hello,
I am seeing the following error when building v4.2-rc1 for arm with multi_v7_defconfig with CONFIG_SMP=n:

LINK vmlinux
LD vmlinux.o
MODPOST vmlinux.o

  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o

drivers/built-in.o: In function `qcom_pm_collapse':
:(.text+0xaf44c): undefined reference to qcom_scm_cpu_power_down' drivers/built-in.o: In function qcom_cpuidle_init':
:(.init.text+0x9508): undefined reference to `qcom_scm_set_warm_boot_addr'
make: *** [vmlinux] Error 1

Quoted 8 lines

It appears the calling functions in drivers/soc/qcom/spm.c get included by CONFIG_QCOM_PM which is part of multi_v7_defconfig but the missing functions from drivers/firmware/qcom_scm.c only get included by CONFIG_QCOM_SCM if SMP is selected. I am not sure if the correct approach is to remove CONFIG_QCOM_PM from multi_v7_defconfig or to remove 'if SMP' from CONFIG_QCOM_SCM, or something else entirely. Thoughts?

CONFIG_QCOM_PM should select CONFIG_QCOM_SCM unconditionally.

Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
#2 lore raw
Quoted 29 lines · Stephen Boyd
Quoted 19 lines · Dave Gerlach

Hello,
I am seeing the following error when building v4.2-rc1 for arm with multi_v7_defconfig with CONFIG_SMP=n:

LINK vmlinux
LD vmlinux.o
MODPOST vmlinux.o

  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o

drivers/built-in.o: In function `qcom_pm_collapse':
:(.text+0xaf44c): undefined reference to qcom_scm_cpu_power_down' drivers/built-in.o: In function qcom_cpuidle_init':
:(.init.text+0x9508): undefined reference to `qcom_scm_set_warm_boot_addr'
make: *** [vmlinux] Error 1

Quoted 8 lines

It appears the calling functions in drivers/soc/qcom/spm.c get included by CONFIG_QCOM_PM which is part of multi_v7_defconfig but the missing functions from drivers/firmware/qcom_scm.c only get included by CONFIG_QCOM_SCM if SMP is selected. I am not sure if the correct approach is to remove CONFIG_QCOM_PM from multi_v7_defconfig or to remove 'if SMP' from CONFIG_QCOM_SCM, or something else entirely. Thoughts?

Quoted 2 lines

CONFIG_QCOM_PM should select CONFIG_QCOM_SCM unconditionally.

Ok thanks, I can send a quick patch.

Regards,
Dave

#3 lore raw
Quoted 30 lines · Dave Gerlach
Quoted 29 lines · Stephen Boyd
Quoted 27 lines · Dave Gerlach

Hello,
I am seeing the following error when building v4.2-rc1 for arm with multi_v7_defconfig with CONFIG_SMP=n:

LINK vmlinux
LD vmlinux.o
MODPOST vmlinux.o

  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o

drivers/built-in.o: In function `qcom_pm_collapse':
:(.text+0xaf44c): undefined reference to qcom_scm_cpu_power_down' drivers/built-in.o: In function qcom_cpuidle_init':
:(.init.text+0x9508): undefined reference to `qcom_scm_set_warm_boot_addr'
make: *** [vmlinux] Error 1

It appears the calling functions in drivers/soc/qcom/spm.c get included by CONFIG_QCOM_PM which is part of multi_v7_defconfig but the missing functions from drivers/firmware/qcom_scm.c only get included by CONFIG_QCOM_SCM if SMP is selected. I am not sure if the correct approach is to remove CONFIG_QCOM_PM from multi_v7_defconfig or to remove 'if SMP' from CONFIG_QCOM_SCM, or something else entirely. Thoughts?

Quoted 5 lines
Quoted 2 lines

CONFIG_QCOM_PM should select CONFIG_QCOM_SCM unconditionally.

Ok thanks, I can send a quick patch.

I sent one a few minutes ago, in reply to your mail :)

#4 lore raw
Quoted 33 lines · Lina Iyer
Quoted 32 lines · Dave Gerlach
Quoted 31 lines · Stephen Boyd
Quoted 29 lines · Dave Gerlach

Hello,
I am seeing the following error when building v4.2-rc1 for arm with multi_v7_defconfig with CONFIG_SMP=n:

LINK vmlinux
LD vmlinux.o
MODPOST vmlinux.o

  GEN     .version
  CHK     include/generated/compile.h
  UPD     include/generated/compile.h
  CC      init/version.o
  LD      init/built-in.o

drivers/built-in.o: In function `qcom_pm_collapse':
:(.text+0xaf44c): undefined reference to qcom_scm_cpu_power_down' drivers/built-in.o: In function qcom_cpuidle_init':
:(.init.text+0x9508): undefined reference to `qcom_scm_set_warm_boot_addr'
make: *** [vmlinux] Error 1

It appears the calling functions in drivers/soc/qcom/spm.c get included by CONFIG_QCOM_PM which is part of multi_v7_defconfig but the missing functions from drivers/firmware/qcom_scm.c only get included by CONFIG_QCOM_SCM if SMP is selected. I am not sure if the correct approach is to remove CONFIG_QCOM_PM from
multi_v7_defconfig or to remove 'if SMP' from CONFIG_QCOM_SCM, or something else
entirely. Thoughts?

Quoted 6 lines
Quoted 5 lines
Quoted 2 lines

CONFIG_QCOM_PM should select CONFIG_QCOM_SCM unconditionally.

Ok thanks, I can send a quick patch.

I sent one a few minutes ago, in reply to your mail :)

Thank you! Does indeed solve the problem.

Regards,
Dave

#5 lore raw

PATCH 1/1 drivers: qcom: Select QCOM_SCM unconditionally for QCOM_PM

In reply to Dave Gerlach

Enable QCOM_SCM for QCOM power management driver

---
 drivers/soc/qcom/Kconfig | 1 +
 1 file changed, 1 insertion(+)
drivers/soc/qcom/Kconfig +1 -0
index 5eea374..e9a2c19 100644
@@ -13,6 +13,7 @@ config QCOM_GSBI
 config QCOM_PM
 	bool "Qualcomm Power Management"
 	depends on ARCH_QCOM && !ARM64
+	select QCOM_SCM
 	help
 	  QCOM Platform specific power driver to manage cores and L2 low power
 	  modes. It interface with various system drivers to put the cores in
Signature · 1 line
2.1.4
Acked-by on v1 1/1
#6 lore raw

Re: [PATCH] drivers: qcom: Select QCOM_SCM unconditionally for QCOM_PM

Quoted 3 lines · Lina Iyer

Enable QCOM_SCM for QCOM power management driver

Signature · 2 lines
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project
Applied
#8 lore raw

Re: [PATCH] drivers: qcom: Select QCOM_SCM unconditionally for QCOM_PM

Quoted 6 lines · Andy Gross
Quoted 3 lines · Lina Iyer

Enable QCOM_SCM for QCOM power management driver

Applied.

Signature · 3 lines
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project