Commit 6df24c3e authored by Zhang Rui's avatar Zhang Rui

Merge branches 'thermal-core', 'thermal-built-it' and 'thermal-intel' into next

...@@ -152,7 +152,7 @@ CONFIG_SPI_S3C24XX=y ...@@ -152,7 +152,7 @@ CONFIG_SPI_S3C24XX=y
CONFIG_SPI_SPIDEV=y CONFIG_SPI_SPIDEV=y
CONFIG_GPIO_SYSFS=y CONFIG_GPIO_SYSFS=y
CONFIG_SENSORS_LM75=y CONFIG_SENSORS_LM75=y
CONFIG_THERMAL=m CONFIG_THERMAL=y
CONFIG_WATCHDOG=y CONFIG_WATCHDOG=y
CONFIG_S3C2410_WATCHDOG=y CONFIG_S3C2410_WATCHDOG=y
CONFIG_FB=y CONFIG_FB=y
......
...@@ -387,7 +387,7 @@ CONFIG_SENSORS_LM75=m ...@@ -387,7 +387,7 @@ CONFIG_SENSORS_LM75=m
CONFIG_SENSORS_LM90=m CONFIG_SENSORS_LM90=m
CONFIG_SENSORS_LM95245=m CONFIG_SENSORS_LM95245=m
CONFIG_SENSORS_NTC_THERMISTOR=m CONFIG_SENSORS_NTC_THERMISTOR=m
CONFIG_THERMAL=m CONFIG_THERMAL=y
CONFIG_WATCHDOG=y CONFIG_WATCHDOG=y
CONFIG_XILINX_WATCHDOG=m CONFIG_XILINX_WATCHDOG=m
CONFIG_SA1100_WATCHDOG=m CONFIG_SA1100_WATCHDOG=m
......
...@@ -228,7 +228,7 @@ CONFIG_SERIAL_IP22_ZILOG=m ...@@ -228,7 +228,7 @@ CONFIG_SERIAL_IP22_ZILOG=m
# CONFIG_HW_RANDOM is not set # CONFIG_HW_RANDOM is not set
CONFIG_RAW_DRIVER=m CONFIG_RAW_DRIVER=m
# CONFIG_HWMON is not set # CONFIG_HWMON is not set
CONFIG_THERMAL=m CONFIG_THERMAL=y
CONFIG_WATCHDOG=y CONFIG_WATCHDOG=y
CONFIG_INDYDOG=m CONFIG_INDYDOG=m
# CONFIG_VGA_CONSOLE is not set # CONFIG_VGA_CONSOLE is not set
......
...@@ -271,7 +271,7 @@ CONFIG_I2C_PARPORT_LIGHT=m ...@@ -271,7 +271,7 @@ CONFIG_I2C_PARPORT_LIGHT=m
CONFIG_I2C_TAOS_EVM=m CONFIG_I2C_TAOS_EVM=m
CONFIG_I2C_STUB=m CONFIG_I2C_STUB=m
# CONFIG_HWMON is not set # CONFIG_HWMON is not set
CONFIG_THERMAL=m CONFIG_THERMAL=y
CONFIG_MFD_PCF50633=m CONFIG_MFD_PCF50633=m
CONFIG_PCF50633_ADC=m CONFIG_PCF50633_ADC=m
CONFIG_PCF50633_GPIO=m CONFIG_PCF50633_GPIO=m
......
...@@ -119,7 +119,7 @@ CONFIG_I2C_PUV3=y ...@@ -119,7 +119,7 @@ CONFIG_I2C_PUV3=y
# Hardware Monitoring support # Hardware Monitoring support
#CONFIG_SENSORS_LM75=m #CONFIG_SENSORS_LM75=m
# Generic Thermal sysfs driver # Generic Thermal sysfs driver
#CONFIG_THERMAL=m #CONFIG_THERMAL=y
#CONFIG_THERMAL_HWMON=y #CONFIG_THERMAL_HWMON=y
# Multimedia support # Multimedia support
......
...@@ -118,9 +118,7 @@ static DEFINE_IDA(hwmon_ida); ...@@ -118,9 +118,7 @@ static DEFINE_IDA(hwmon_ida);
* The complex conditional is necessary to avoid a cyclic dependency * The complex conditional is necessary to avoid a cyclic dependency
* between hwmon and thermal_sys modules. * between hwmon and thermal_sys modules.
*/ */
#if IS_REACHABLE(CONFIG_THERMAL) && defined(CONFIG_THERMAL_OF) && \ #ifdef CONFIG_THERMAL_OF
(!defined(CONFIG_THERMAL_HWMON) || \
!(defined(MODULE) && IS_MODULE(CONFIG_THERMAL)))
static int hwmon_thermal_get_temp(void *data, int *temp) static int hwmon_thermal_get_temp(void *data, int *temp)
{ {
struct hwmon_thermal_data *tdata = data; struct hwmon_thermal_data *tdata = data;
......
...@@ -21,7 +21,6 @@ config MLXSW_CORE_HWMON ...@@ -21,7 +21,6 @@ config MLXSW_CORE_HWMON
config MLXSW_CORE_THERMAL config MLXSW_CORE_THERMAL
bool "Thermal zone support for Mellanox Technologies Switch ASICs" bool "Thermal zone support for Mellanox Technologies Switch ASICs"
depends on MLXSW_CORE && THERMAL depends on MLXSW_CORE && THERMAL
depends on !(MLXSW_CORE=y && THERMAL=m)
default y default y
---help--- ---help---
Say Y here if you want to automatically control fans speed according Say Y here if you want to automatically control fans speed according
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
# #
menuconfig THERMAL menuconfig THERMAL
tristate "Generic Thermal sysfs driver" bool "Generic Thermal sysfs driver"
help help
Generic Thermal Sysfs driver offers a generic mechanism for Generic Thermal Sysfs driver offers a generic mechanism for
thermal management. Usually it's made up of one or more thermal thermal management. Usually it's made up of one or more thermal
...@@ -11,7 +11,7 @@ menuconfig THERMAL ...@@ -11,7 +11,7 @@ menuconfig THERMAL
Each thermal zone contains its own temperature, trip points, Each thermal zone contains its own temperature, trip points,
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 here.
if THERMAL if THERMAL
...@@ -24,7 +24,6 @@ config THERMAL_STATISTICS ...@@ -24,7 +24,6 @@ config THERMAL_STATISTICS
config THERMAL_EMERGENCY_POWEROFF_DELAY_MS config THERMAL_EMERGENCY_POWEROFF_DELAY_MS
int "Emergency poweroff delay in milli-seconds" int "Emergency poweroff delay in milli-seconds"
depends on THERMAL
default 0 default 0
help help
Thermal subsystem will issue a graceful shutdown when Thermal subsystem will issue a graceful shutdown when
...@@ -149,10 +148,9 @@ config THERMAL_GOV_POWER_ALLOCATOR ...@@ -149,10 +148,9 @@ config THERMAL_GOV_POWER_ALLOCATOR
allocating and limiting power to devices. allocating and limiting power to devices.
config CPU_THERMAL config CPU_THERMAL
bool "generic cpu cooling support" bool "Generic cpu cooling support"
depends on CPU_FREQ depends on CPU_FREQ
depends on THERMAL_OF depends on THERMAL_OF
depends on THERMAL=y
help help
This implements the generic cpu cooling mechanism through frequency This implements the generic cpu cooling mechanism through frequency
reduction. An ACPI version of this already exists reduction. An ACPI version of this already exists
......
config INTEL_POWERCLAMP config INTEL_POWERCLAMP
tristate "Intel PowerClamp idle injection driver" tristate "Intel PowerClamp idle injection driver"
depends on THERMAL
depends on X86 depends on X86
depends on CPU_SUP_INTEL depends on CPU_SUP_INTEL
help help
......
...@@ -220,6 +220,7 @@ static int int3403_add(struct platform_device *pdev) ...@@ -220,6 +220,7 @@ static int int3403_add(struct platform_device *pdev)
{ {
struct int3403_priv *priv; struct int3403_priv *priv;
int result = 0; int result = 0;
unsigned long long tmp;
acpi_status status; acpi_status status;
priv = devm_kzalloc(&pdev->dev, sizeof(struct int3403_priv), priv = devm_kzalloc(&pdev->dev, sizeof(struct int3403_priv),
...@@ -234,19 +235,18 @@ static int int3403_add(struct platform_device *pdev) ...@@ -234,19 +235,18 @@ static int int3403_add(struct platform_device *pdev)
goto err; goto err;
} }
status = acpi_evaluate_integer(priv->adev->handle, "PTYP",
NULL, &priv->type);
if (ACPI_FAILURE(status)) {
unsigned long long tmp;
status = acpi_evaluate_integer(priv->adev->handle, "_TMP", status = acpi_evaluate_integer(priv->adev->handle, "_TMP",
NULL, &tmp); NULL, &tmp);
if (ACPI_FAILURE(status)) {
status = acpi_evaluate_integer(priv->adev->handle, "PTYP",
NULL, &priv->type);
if (ACPI_FAILURE(status)) { if (ACPI_FAILURE(status)) {
result = -EINVAL; result = -EINVAL;
goto err; goto err;
} else {
priv->type = INT3403_TYPE_SENSOR;
} }
} else {
priv->type = INT3403_TYPE_SENSOR;
} }
platform_set_drvdata(pdev, priv); platform_set_drvdata(pdev, priv);
......
...@@ -81,22 +81,13 @@ static ssize_t power_limit_##index##_##suffix##_show(struct device *dev, \ ...@@ -81,22 +81,13 @@ static ssize_t power_limit_##index##_##suffix##_show(struct device *dev, \
struct device_attribute *attr, \ struct device_attribute *attr, \
char *buf) \ char *buf) \
{ \ { \
struct pci_dev *pci_dev; \ struct proc_thermal_device *proc_dev = dev_get_drvdata(dev); \
struct platform_device *pdev; \
struct proc_thermal_device *proc_dev; \
\ \
if (proc_thermal_emum_mode == PROC_THERMAL_NONE) { \ if (proc_thermal_emum_mode == PROC_THERMAL_NONE) { \
dev_warn(dev, "Attempted to get power limit before device was initialized!\n"); \ dev_warn(dev, "Attempted to get power limit before device was initialized!\n"); \
return 0; \ return 0; \
} \ } \
\ \
if (proc_thermal_emum_mode == PROC_THERMAL_PLATFORM_DEV) { \
pdev = to_platform_device(dev); \
proc_dev = platform_get_drvdata(pdev); \
} else { \
pci_dev = to_pci_dev(dev); \
proc_dev = pci_get_drvdata(pci_dev); \
} \
return sprintf(buf, "%lu\n",\ return sprintf(buf, "%lu\n",\
(unsigned long)proc_dev->power_limits[index].suffix * 1000); \ (unsigned long)proc_dev->power_limits[index].suffix * 1000); \
} }
...@@ -274,7 +265,7 @@ static void proc_thermal_notify(acpi_handle handle, u32 event, void *data) ...@@ -274,7 +265,7 @@ static void proc_thermal_notify(acpi_handle handle, u32 event, void *data)
THERMAL_DEVICE_POWER_CAPABILITY_CHANGED); THERMAL_DEVICE_POWER_CAPABILITY_CHANGED);
break; break;
default: default:
dev_err(proc_priv->dev, "Unsupported event [0x%x]\n", event); dev_dbg(proc_priv->dev, "Unsupported event [0x%x]\n", event);
break; break;
} }
} }
......
config QCOM_TSENS config QCOM_TSENS
tristate "Qualcomm TSENS Temperature Alarm" tristate "Qualcomm TSENS Temperature Alarm"
depends on THERMAL
depends on QCOM_QFPROM depends on QCOM_QFPROM
depends on ARCH_QCOM || COMPILE_TEST depends on ARCH_QCOM || COMPILE_TEST
help help
......
...@@ -266,7 +266,7 @@ static int __init thermal_register_governors(void) ...@@ -266,7 +266,7 @@ static int __init thermal_register_governors(void)
return thermal_gov_power_allocator_register(); return thermal_gov_power_allocator_register();
} }
static void thermal_unregister_governors(void) static void __init thermal_unregister_governors(void)
{ {
thermal_gov_step_wise_unregister(); thermal_gov_step_wise_unregister();
thermal_gov_fair_share_unregister(); thermal_gov_fair_share_unregister();
...@@ -1571,19 +1571,4 @@ static int __init thermal_init(void) ...@@ -1571,19 +1571,4 @@ static int __init thermal_init(void)
mutex_destroy(&poweroff_lock); mutex_destroy(&poweroff_lock);
return result; return result;
} }
static void __exit thermal_exit(void)
{
unregister_pm_notifier(&thermal_pm_nb);
of_thermal_destroy_zones();
genetlink_exit();
class_unregister(&thermal_class);
thermal_unregister_governors();
ida_destroy(&thermal_tz_ida);
ida_destroy(&thermal_cdev_ida);
mutex_destroy(&thermal_list_lock);
mutex_destroy(&thermal_governor_lock);
}
fs_initcall(thermal_init); fs_initcall(thermal_init);
module_exit(thermal_exit);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment