Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 16d75239 authored by Rene Herman's avatar Rene Herman Committed by Len Brown
Browse files

thermal: Create CONFIG_THERMAL_HWMON=n



A bug in libsensors <= 2.10.6 is exposed
when this new hwmon I/F is enabled.
Create CONFIG_THERMAL_HWMON=n
until some time after libsensors 2.10.7 ships
so those users can run the latest kernel.

libsensors 3.x is already fixed -- those users
can use CONFIG_THERMAL_HWMON=y now.

Signed-off-by: default avatarRene Herman <rene.herman@gmail.com>
Acked-by: default avatarMark M. Hoffman <mhoffman@lightlink.com>
Signed-off-by: default avatarLen Brown <len.brown@intel.com>
parent 543cf4cb
Loading
Loading
Loading
Loading
+9 −0
Original line number Diff line number Diff line
@@ -312,3 +312,12 @@ When: 2.6.26
Why:	Implementation became generic; users should now include
	linux/semaphore.h instead.
Who:	Matthew Wilcox <willy@linux.intel.com>

---------------------------

What:	CONFIG_THERMAL_HWMON
When:	January 2009
Why:	This option was introduced just to allow older lm-sensors userspace
	to keep working over the upgrade to 2.6.26. At the scheduled time of
	removal fixed lm-sensors (2.x or 3.x) should be readily available.
Who:	Rene Herman <rene.herman@gmail.com>
+9 −0
Original line number Diff line number Diff line
@@ -12,3 +12,12 @@ menuconfig THERMAL
	  cooling devices.
	  All platforms with ACPI thermal support can use this driver.
	  If you want this support, you should say Y or M here.

config THERMAL_HWMON
	bool "Hardware monitoring support"
	depends on HWMON=y || HWMON=THERMAL
	help
	  The generic thermal sysfs driver's hardware monitoring support
	  requires a 2.10.7/3.0.2 or later lm-sensors userspace.

	  Say Y if your user-space is new enough.
+2 −2
Original line number Diff line number Diff line
@@ -295,8 +295,8 @@ thermal_cooling_device_trip_point_show(struct device *dev,

/* Device management */

#if defined(CONFIG_HWMON) ||	\
	(defined(CONFIG_HWMON_MODULE) && defined(CONFIG_THERMAL_MODULE))
#if defined(CONFIG_THERMAL_HWMON)

/* hwmon sys I/F */
#include <linux/hwmon.h>
static LIST_HEAD(thermal_hwmon_list);
+2 −4
Original line number Diff line number Diff line
@@ -66,8 +66,7 @@ struct thermal_cooling_device {
				((long)t-2732+5)/10 : ((long)t-2732-5)/10)
#define CELSIUS_TO_KELVIN(t)	((t)*10+2732)

#if defined(CONFIG_HWMON) ||	\
	(defined(CONFIG_HWMON_MODULE) && defined(CONFIG_THERMAL_MODULE))
#if defined(CONFIG_THERMAL_HWMON)
/* thermal zone devices with the same type share one hwmon device */
struct thermal_hwmon_device {
	char type[THERMAL_NAME_LENGTH];
@@ -94,8 +93,7 @@ struct thermal_zone_device {
	struct idr idr;
	struct mutex lock;	/* protect cooling devices list */
	struct list_head node;
#if defined(CONFIG_HWMON) ||	\
	(defined(CONFIG_HWMON_MODULE) && defined(CONFIG_THERMAL_MODULE))
#if defined(CONFIG_THERMAL_HWMON)
	struct list_head hwmon_node;
	struct thermal_hwmon_device *hwmon;
	struct thermal_hwmon_attr temp_input;	/* hwmon sys attr */