Hi, Newer laptops and tablets that use ACPI may have thermal sensors and other devices with thermal control capabilities outside the core CPU/SOC, for thermal safety reasons. They are exposed for the OS to use via the ACPI INT340x device objects. This patch set introduces kernel drivers for those INT340X devices and expose their telemetry and cooling capability to user space via the normal thermal framework. So that a wide range of applications and GUI widgets can show this information to the user or use this information for making decisions. For example, the Intel Thermal Daemon can use this information to allow the user to select his laptop to run w/ or w/o turning on the fans. thanks, rui ---------------------------------------------------------------- Aaron Lu (9): ACPI / fan: remove unused macro ACPI / fan: remove no need check for device pointer ACPI / fan: use acpi_device_xxx_power instead of acpi_bus equivelant ACPI / fan: convert to platform driver ACPI / Fan: add ACPI 4.0 style fan support ACPI / Fan: support INT3404 thermal device Thermal: move the KELVIN_TO_MILLICELSIUS macro to thermal.h Thermal: introduce INT3402 thermal driver Thermal: introduce INT3406 thermal driver Jacob Pan (2): Thermal: int340x_thermal: expose acpi thermal relationship tables Thermal: int3400_thermal: use acpi_thermal_rel parsing APIs Lan Tianyu (1): Thermal: introduce int3403 thermal driver Zhang Rui (7): ACPI: introduce ACPI int340x thermal scan handler ACPI: make acpi_create_platform_device() an external API ACPI: add ACPI_TYPE_LOCAL_REFERENCE support to acpi_extract_package() Thermal: introduce int3400 thermal driver Thermal: int3400 thermal: add capability to detect supporting UUIDs Thermal: int3400 thermal: register to thermal framework Thermal: int340x thermal: select ACPI fan driver drivers/acpi/Kconfig | 2 +- drivers/acpi/Makefile | 1 + drivers/acpi/acpi_platform.c | 1 + drivers/acpi/device_pm.c | 1 + drivers/acpi/fan.c | 341 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------------------- drivers/acpi/int340x_thermal.c | 51 ++++++++++++++++ drivers/acpi/internal.h | 3 +- drivers/acpi/scan.c | 1 + drivers/acpi/thermal.c | 18 +++--- drivers/acpi/utils.c | 28 ++++++++- drivers/acpi/video.c | 78 +++++++++++++----------- drivers/thermal/Kconfig | 39 +++++++----- drivers/thermal/Makefile | 2 +- drivers/thermal/int3403_thermal.c | 296 ---------------------------------------------------------------------------------------- drivers/thermal/int340x_thermal/Makefile | 5 ++ drivers/thermal/int340x_thermal/acpi_thermal_rel.c | 400 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ drivers/thermal/int340x_thermal/acpi_thermal_rel.h | 84 +++++++++++++++++++++++++ drivers/thermal/int340x_thermal/int3400_thermal.c | 271 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ drivers/thermal/int340x_thermal/int3402_thermal.c | 242 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ drivers/thermal/int340x_thermal/int3403_thermal.c | 489 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ drivers/thermal/int340x_thermal/int3406_thermal.c | 230 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ drivers/video/backlight/backlight.c | 44 +++++++++----- include/acpi/acpi_bus.h | 1 + include/acpi/video.h | 20 ++++++ include/linux/acpi.h | 7 +++ include/linux/backlight.h | 2 + include/linux/thermal.h | 4 ++ 27 files changed, 2208 insertions(+), 453 deletions(-) create mode 100644 drivers/acpi/int340x_thermal.c delete mode 100644 drivers/thermal/int3403_thermal.c create mode 100644 drivers/thermal/int340x_thermal/Makefile create mode 100644 drivers/thermal/int340x_thermal/acpi_thermal_rel.c create mode 100644 drivers/thermal/int340x_thermal/acpi_thermal_rel.h create mode 100644 drivers/thermal/int340x_thermal/int3400_thermal.c create mode 100644 drivers/thermal/int340x_thermal/int3402_thermal.c create mode 100644 drivers/thermal/int340x_thermal/int3403_thermal.c create mode 100644 drivers/thermal/int340x_thermal/int3406_thermal.c -- To unsubscribe from this list: send the line "unsubscribe linux-acpi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html