Subject: Re: [PATCH -next] thermal: fix x86_pkg_temp_thermal.c build and Kconfig

From: Srinivas Pandruvada <[email-masked]>
Date: Mon, 17 Jun 2013 11:09:39 -0700

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 <[email-masked]>
>
> 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 <[email-masked]>
> ---
>   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
>