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 Original line Diff line number Diff line
@@ -312,3 +312,12 @@ When: 2.6.26
Why:	Implementation became generic; users should now include
Why:	Implementation became generic; users should now include
	linux/semaphore.h instead.
	linux/semaphore.h instead.
Who:	Matthew Wilcox <willy@linux.intel.com>
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 Original line Diff line number Diff line
@@ -12,3 +12,12 @@ menuconfig THERMAL
	  cooling devices.
	  cooling devices.
	  All platforms with ACPI thermal support can use this driver.
	  All platforms with ACPI thermal support can use this driver.
	  If you want this support, you should say Y or M here.
	  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 Original line Diff line number Diff line
@@ -295,8 +295,8 @@ thermal_cooling_device_trip_point_show(struct device *dev,


/* Device management */
/* Device management */


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

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


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