#
# Generic thermal sysfs drivers configuration
#

menuconfig THERMAL
	tristate "Generic Thermal sysfs driver"
	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.

if THERMAL

config THERMAL_HWMON
	bool
	depends on HWMON=y || HWMON=THERMAL
	default y

choice
	prompt "Default Thermal governor"
	default THERMAL_DEFAULT_GOV_STEP_WISE
	help
	  This option sets which thermal governor shall be loaded at
	  startup. If in doubt, select 'step_wise'.

config THERMAL_DEFAULT_GOV_STEP_WISE
	bool "step_wise"
	select STEP_WISE
	help
	  Use the step_wise governor as default. This throttles the
	  devices one step at a time.

config THERMAL_DEFAULT_GOV_FAIR_SHARE
	bool "fair_share"
	select FAIR_SHARE
	help
	  Use the fair_share governor as default. This throttles the
	  devices based on their 'contribution' to a zone. The
	  contribution should be provided through platform data.

config THERMAL_DEFAULT_GOV_USER_SPACE
	bool "user_space"
	select USER_SPACE
	help
	  Select this if you want to let the user space manage the
	  lpatform thermals.

endchoice

config FAIR_SHARE
	bool "Fair-share thermal governor"
	help
	  Enable this to manage platform thermals using fair-share governor.

config STEP_WISE
	bool "Step_wise thermal governor"
	help
	  Enable this to manage platform thermals using a simple linear

config USER_SPACE
	bool "User_space thermal governor"
	help
	  Enable this to let the user space manage the platform thermals.

config SUNXI_THERMAL_DYNAMIC
	tristate "sunxi thermal dynamic binding"
	depends on ARCH_SUNXI
	depends on SUNXI_THERMAL
	help
	  Adds sunxi thermal dynamic binding support.
      
config CPU_THERMAL
	tristate "generic cpu cooling support"
	depends on CPU_FREQ
	select CPU_FREQ_TABLE
	help
	  This implements the generic cpu cooling mechanism through frequency
	  reduction, cpu hotplug and any other ways of reducing temperature. An
	  ACPI version of this already exists(drivers/acpi/processor_thermal.c).
	  This will be useful for platforms using the generic thermal interface
	  and not the ACPI interface.
	  If you want this support, you should say Y here.

config CPU_BUDGET_THERMAL
	tristate "generic cpu budget cooling support"
	depends on CPU_FREQ && !CPU_THERMAL
	select CPU_FREQ_TABLE
	help
	  This implements the generic cpu budget with cpufreq and hotplug cooling mechanism through frequency
	  reduction, cpu hotplug and any other ways of reducing temperature. An
	  ACPI version of this already exists(drivers/acpi/processor_thermal.c).
	  This will be useful for platforms using the generic thermal interface
	  and not the ACPI interface.
	  If you want this support, you should say Y here.

config SPEAR_THERMAL
	bool "SPEAr thermal sensor driver"
	depends on PLAT_SPEAR
	depends on OF
	help
	  Enable this to plug the SPEAr thermal sensor driver into the Linux
	  thermal framework

config RCAR_THERMAL
	tristate "Renesas R-Car thermal driver"
	depends on ARCH_SHMOBILE
	help
	  Enable this to plug the R-Car thermal sensor driver into the Linux
	  thermal framework

config SUNXI_THERMAL
	tristate "Temperature sensor on ALLWINNERTECH"
	depends on ARCH_SUNXI
	help
	  If you say yes here you get support for (Thermal Management
	  Unit) on ALLWINEER series of SoC.

config SUNXI_CPUFREQ_COOLING
	tristate "sunxi cpufreq cooling"
	depends on ARCH_SUNXI
	depends on CPU_THERMAL
	help
	  Adds sunxi cpufreq cooling devices, and these cooling devices can be
	  bound to thermal zone trip points. When a trip point reached, the
	  bound cpufreq cooling device turns active to set CPU frequency low to
	  cool down the CPU.

config SUNXI_BUDGET_COOLING
	tristate "sunxi cpu budget cooling"
	depends on ARCH_SUNXI
	depends on CPU_BUDGET_THERMAL
	help
	  Adds sunxi cpu budget cooling devices, and these cooling devices can be
	  bound to thermal zone trip points. When a trip point reached, the
	  bound cpufreq cooling device turns active to set CPU frequency low to
	  cool down the CPU.

config SUNXI_BUDGET_COOLING_VFTBL
	tristate "sunxi cpu budget cooling parse VF table support"
	depends on CPU_BUDGET_THERMAL
	depends on SUNXI_BUDGET_COOLING
	default y
	help
	  Adds support to parse VF table when set cooling state params as VF table index
endif
