#
# Generic thermal sysfs drivers configuration
#

menuconfig THERMAL
	tristate "Generic Thermal sysfs driver"
	depends on NET
	help
	  Generic Thermal Sysfs driver offers a generic mechanism for
	  thermal management. Usually it's made up of one or more thermal
	  zone and cooling device.
	  Each thermal zone contains its own temperature, trip points,
	  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 THERMAL
	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.
