[PATCH -next] thermal: fix x86_pkg_temp_thermal.c build and Kconfig
From: Randy Dunlap <hidden>
Date: 2013-06-17 17:56:08
Also in:
linux-next, lkml
On 06/17/13 10:26, Srinivas Pandruvada wrote:
On 06/17/2013 10:03 AM, Randy Dunlap wrote:quoted
On 06/17/13 01:51, Stephen Rothwell wrote:quoted
Hi all, Changes since 20130607:on i386 and x86_64: when built as loadable module: ERROR: "platform_thermal_package_rate_control" [drivers/thermal/x86_pkg_temp_thermal.ko] undefined! ERROR: "platform_thermal_package_notify" [drivers/thermal/x86_pkg_temp_thermal.ko] undefined! or when built-in: drivers/built-in.o: In function `pkg_temp_thermal_init': x86_pkg_temp_thermal.c:(.init.text+0x1492b): undefined reference to `platform_thermal_package_notify' x86_pkg_temp_thermal.c:(.init.text+0x14936): undefined reference to `platform_thermal_package_rate_control' x86_pkg_temp_thermal.c:(.init.text+0x150fe): undefined reference to `platform_thermal_package_notify' x86_pkg_temp_thermal.c:(.init.text+0x15109): undefined reference to `platform_thermal_package_rate_control' drivers/built-in.o: In function `pkg_temp_thermal_exit': x86_pkg_temp_thermal.c:(.exit.text+0x3a9b): undefined reference to `platform_thermal_package_notify' x86_pkg_temp_thermal.c:(.exit.text+0x3aa6): undefined reference to `platform_thermal_package_rate_control' Full randconfig file is attached (for loadable module build).This requires CONFIG_X86_MCE, which is by default is set to "y".
But you can't rely on that symbol being enabled -- there needs to be some enforcement of it, like the patch below. --- From: Randy Dunlap <redacted> Fix build error in x86_pkg_temp_thermal.c. It requires that X86_MCE be enabled, so depend on that symbol. Also, X86_PKG_TEMP_THERMAL is already inside an "if THERMAL" block, so remove that duplicated dependency. ERROR: "platform_thermal_package_rate_control" [drivers/thermal/x86_pkg_temp_thermal.ko] undefined! ERROR: "platform_thermal_package_notify" [drivers/thermal/x86_pkg_temp_thermal.ko] undefined! Signed-off-by: Randy Dunlap <redacted> --- drivers/thermal/Kconfig | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
--- linux-next-20130617.orig/drivers/thermal/Kconfig
+++ linux-next-20130617/drivers/thermal/Kconfig@@ -171,8 +171,7 @@ config INTEL_POWERCLAMP config X86_PKG_TEMP_THERMAL tristate "X86 package temperature thermal driver" - depends on THERMAL - depends on X86 + depends on X86 && X86_MCE select THERMAL_GOV_USER_SPACE default m help