Re: [PATCH -next] thermal: fix x86_pkg_temp_thermal.c build andKconfig

From: Srinivas Pandruvada
Date: Mon Jun 17 2013 - 14:03:45 EST


Sorry for this issue. I was about to submit a patch for this,

You should change to

depends on X86 && X86_MCE && X86_THERMAL_VECTOR


Thanks,
Srinivas




On 06/17/2013 10:55 AM, Randy Dunlap wrote:
On 06/17/13 10:26, Srinivas Pandruvada wrote:
On 06/17/2013 10:03 AM, Randy Dunlap wrote:
On 06/17/13 01:51, Stephen Rothwell wrote:
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 <rdunlap@xxxxxxxxxxxxx>

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 <rdunlap@xxxxxxxxxxxxx>
---
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

depends on X86 && X86_MCE && X86_THERMAL_VECTOR


select THERMAL_GOV_USER_SPACE
default m
help


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/