[lm-sensors] [REGRESSION, ABI] Re: LMSENSORS: 2.6.26-rc, enabling ACPI Termal Zone support costs sensors

Zhang Rui rui.zhang at intel.com
Mon Jun 23 03:44:42 CEST 2008


On Mon, 2008-06-23 at 05:58 +0800, Rene Herman wrote:
> On 22-06-08 20:25, Rene Herman wrote:
> 
> > Another way to solve it _could_ be to just make up a device link if
> > something generic is available so that sensors doesn't trip over it
> > in the first place but I don't know if that's a good option. You
> > might.
> 
> This also works for me and, if correct, is ofcourse better than the
> CONFIG option. Wants a comment from the thermal_zone side (for which
> Zhang Rui seems the correct CC?) though.
Hi, Rene and Hans,

Thank you for your efforts on this issue and sorry for the late
response, I did not check my email during the whole weekend.

About the hwmon ABI, after the device symbol link is created, are there
any other ABIs required in the device node? 
If no, this patch seems to work, although it might break if the first
registered ACPI thermal zone device is unregistered, which ONLY happens
theoretically.

thanks,
rui

> 
> plain text document attachment
> (0001-thermal-link-the-virtual-thermal-thermal_zoneN-devi.patch),
> "0001-thermal-link-the-virtual-thermal-thermal_zoneN-devi.patch"
> From b51a5f4105f6b5ff52a2819a96dabe2ca3116128 Mon Sep 17 00:00:00 2001
> From: Rene Herman <rene.herman at gmail.com>
> Date: Sun, 22 Jun 2008 23:45:04 +0200
> Subject: [PATCH] thermal: link the virtual/thermal/thermal_zoneN device for hwmon
> 
> 2.6.26-rc gained a hwmon interface to the ACPI Thermal Zone
> driver which unfortunately breaks lm-sensors 2 userspace and
> renders all other (subsequent) hwmon sensors inoperable also.
> 
> Many systems, current slackware systems among them, are still
> using lm-sensors 2 and would be affected.
> 
> The problem is userspace tripping over an absent "device"
> link in the ACPI Thermal Zone sysfs /sys/class/hwmon/hwmonN
> directory. This just adds the virtual "thermal/thermal_zoneN"
> device as a device backlink which satisfies lm-sensors again.
> 
> Tested and looks fairly obvious, but this wants comment from
> a thermal_zone person, to confirm/deny that this is a proper
> device pointer to use here for one.
> 
> Signed-off-by: Rene Herman <rene.herman at gmail.com>
> CC: Hans de Goede <j.w.r.degoede at hhs.nl>
> CC: Zhang Rui <rui.zhang at intel.com>
> CC: Mark M. Hoffman <mhoffman at lightlink.com>
> CC: Jean Delvare <khali at linux-fr.org>
> CC: linux-acpi at vger.kernel.org
> CC: lm-sensors at lm-sensors.org
> CC; linux-kernel at vger.kernal.org
> ---
>  drivers/thermal/thermal_sys.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c
> index 6098787..c21e03c 100644
> --- a/drivers/thermal/thermal_sys.c
> +++ b/drivers/thermal/thermal_sys.c
> @@ -357,7 +357,7 @@ thermal_add_hwmon_sysfs(struct thermal_zone_device *tz)
>  
>  	INIT_LIST_HEAD(&hwmon->tz_list);
>  	strlcpy(hwmon->type, tz->type, THERMAL_NAME_LENGTH);
> -	hwmon->device = hwmon_device_register(NULL);
> +	hwmon->device = hwmon_device_register(&tz->device);
>  	if (IS_ERR(hwmon->device)) {
>  		result = PTR_ERR(hwmon->device);
>  		goto free_mem;





More information about the lm-sensors mailing list