This Implements fan controls for userspace for the TUXEDO Sirius 16 Gen 1 & 2. It also adds safeguards that userspace cannot go below certain fanspeeds at certain temperatures. My suspicion that this is necessary was proven correct during testing of this patch: The former version had the highest safeguard level as 40% fanspeed at temperatures above 90°C. But after letting the device run like that with a CPU + GPU load for a short period of time, it turned off. It was hot to the touch above the keyboard and it doesn't turn on anymore since then. Even after letting it cool down overnight. So I probably fried the mainboard. This cut my testing short for the time being and is the reason why this is send as an RFC. It should however work and now has two additional min fanspeeds: 60% at 95°C and 100% at 100°C. Enforcing these minimum fanspeeds at the EC-firmware level is not possible as we only have access to the EC-firmware as a binary blob. Werner Sembach (1): platform/x86/tuxedo: Implement TUXEDO TUXI ACPI TFAN via hwmon MAINTAINERS | 6 + drivers/platform/x86/Kconfig | 2 + drivers/platform/x86/Makefile | 3 + drivers/platform/x86/tuxedo/Kbuild | 6 + drivers/platform/x86/tuxedo/Kconfig | 6 + drivers/platform/x86/tuxedo/nbxx/Kbuild | 9 + drivers/platform/x86/tuxedo/nbxx/Kconfig | 13 + .../x86/tuxedo/nbxx/acpi_tuxi_hwmon.c | 421 ++++++++++++++++++ .../x86/tuxedo/nbxx/acpi_tuxi_hwmon.h | 14 + .../platform/x86/tuxedo/nbxx/acpi_tuxi_init.c | 60 +++ .../platform/x86/tuxedo/nbxx/acpi_tuxi_init.h | 16 + .../platform/x86/tuxedo/nbxx/acpi_tuxi_util.c | 58 +++ .../platform/x86/tuxedo/nbxx/acpi_tuxi_util.h | 84 ++++ 13 files changed, 698 insertions(+) create mode 100644 drivers/platform/x86/tuxedo/Kbuild create mode 100644 drivers/platform/x86/tuxedo/Kconfig create mode 100644 drivers/platform/x86/tuxedo/nbxx/Kbuild create mode 100644 drivers/platform/x86/tuxedo/nbxx/Kconfig create mode 100644 drivers/platform/x86/tuxedo/nbxx/acpi_tuxi_hwmon.c create mode 100644 drivers/platform/x86/tuxedo/nbxx/acpi_tuxi_hwmon.h create mode 100644 drivers/platform/x86/tuxedo/nbxx/acpi_tuxi_init.c create mode 100644 drivers/platform/x86/tuxedo/nbxx/acpi_tuxi_init.h create mode 100644 drivers/platform/x86/tuxedo/nbxx/acpi_tuxi_util.c create mode 100644 drivers/platform/x86/tuxedo/nbxx/acpi_tuxi_util.h -- 2.43.0