[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <7ac5615c-c2dc-4aa3-b527-aadfb701bfda@gmx.de>
Date: Sun, 28 Sep 2025 03:36:48 +0200
From: Armin Wolf <W_Armin@....de>
To: ilpo.jarvinen@...ux.intel.com, hdegoede@...hat.com, chumuzero@...il.com,
corbet@....net, cs@...edo.de, wse@...edocomputers.com,
ggo@...edocomputers.com
Cc: linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
platform-driver-x86@...r.kernel.org, rdunlap@...radead.org,
alok.a.tiwari@...cle.com, linux-leds@...r.kernel.org, lee@...nel.org,
pobrn@...tonmail.com
Subject: Re: [PATCH v4 0/2] Add support for Uniwill laptop features
Am 28.09.25 um 03:32 schrieb Armin Wolf:
> This patch series adds support for the various features found on
> laptops manufactured by Uniwill. Those features are:
>
> - battery charge limiting
> - RGB lightbar control
> - hwmon support
> - improved hotkey support
> - keyboard-related settings
>
> This patch series is based on the following out-of-tree drivers:
>
> - https://github.com/pobrn/qc71_laptop
> - https://gitlab.com/tuxedocomputers/development/packages/tuxedo-drivers
>
> Additionally the OEM software of the Intel Nuc x15 was
> reverse-engineered to have a better understanding about the underlying
> hardware interface.
>
> The first patch introduces the uniwill-laptop driver that consists of
> two parts: a WMI part responsible for receiving platform events and
> a ACPI part that does the majority of the work by talking to the
> underlying embedded controller using the INOU0000 ACPI device.
> The whole driver uses a DMI whitelist for identifying supported
> notebook models as both the ACPI device ID and the WMI device GUID
> are shared with a wide range of notebook models that might use a
> different embedded controller register layout.
>
> The second patch additionally adds some documentation for configuring
> and using said driver.
>
> Special thanks go to:
>
> - github user cyear for bring up this topic on the lm-sensors issue
> tracker and being the tester for various prototype versions
> - github user dumingqiao for testing the battery, lightbar and
> keyboard-related features
> - Tuxedo computers for giving advice on how to design the userspace
> interface
>
> NOTE: During testing it turned out that the touchpad_toggle sysfs
> attribute does not work. The reason for this is unknown, as the driver
> emulates the behaviour of the OEM application just fine. I suspect
> that this feature only controls some obscure key combination we dont
> know about, so i decided to send out this series regardless.
When testing those patches on your device, could you (Werner) also check
if the keyboard-related sysfs attributes accept "0" and "1" and also contain
"0" and "1" depending on the state of the associated functions?
Thanks,
Armin Wolf
> Changes since v3:
> - Add support for UNIWILL_OSD_SUPER_KEY_LOCK_CHANGED event
> - rename sysfs files to prepare for future changes
> - use kstrtobool() for handling sysfs input
> - add proper led locking
>
> Changed since v2:
> - Use the INOU0000 ACPI device for talking to the EC as it is much
> faster than the WMI interface used before. Additionally the OEM
> application also uses this ACPI inteface through a special driver.
> - Merge the uniwill-wmi driver into the uniwill-laptop driver as
> the WMI driver should only load when matching the DMI whitelist.
> - Various small fixes
>
> Changes since v1:
> - spelling fixes
> - add missing error handling when reading PWM duty cycle
> - fix error when setting the super key lock sysfs attribute
>
> Changes since the RFC series:
> - spelling fixes
> - mention the INOU0000 ACPI device inside thew documentation
> - use MILLIDEGREE_PER_DEGREE instead of 1000
> - use power_supply_get_property_direct() to prevent deadlock
> - add support for KEY_KBDILLUMDOWN and KEY_KBDILLUMUP
>
> Armin Wolf (2):
> platform/x86: Add Uniwill laptop driver
> Documentation: laptops: Add documentation for uniwill laptops
>
> .../ABI/testing/sysfs-driver-uniwill-laptop | 53 +
> Documentation/admin-guide/laptops/index.rst | 1 +
> .../admin-guide/laptops/uniwill-laptop.rst | 60 +
> Documentation/wmi/devices/uniwill-laptop.rst | 198 +++
> MAINTAINERS | 11 +
> drivers/platform/x86/Kconfig | 2 +
> drivers/platform/x86/Makefile | 3 +
> drivers/platform/x86/uniwill/Kconfig | 38 +
> drivers/platform/x86/uniwill/Makefile | 8 +
> drivers/platform/x86/uniwill/uniwill-acpi.c | 1547 +++++++++++++++++
> drivers/platform/x86/uniwill/uniwill-wmi.c | 92 +
> drivers/platform/x86/uniwill/uniwill-wmi.h | 127 ++
> 12 files changed, 2140 insertions(+)
> create mode 100644 Documentation/ABI/testing/sysfs-driver-uniwill-laptop
> create mode 100644 Documentation/admin-guide/laptops/uniwill-laptop.rst
> create mode 100644 Documentation/wmi/devices/uniwill-laptop.rst
> create mode 100644 drivers/platform/x86/uniwill/Kconfig
> create mode 100644 drivers/platform/x86/uniwill/Makefile
> create mode 100644 drivers/platform/x86/uniwill/uniwill-acpi.c
> create mode 100644 drivers/platform/x86/uniwill/uniwill-wmi.c
> create mode 100644 drivers/platform/x86/uniwill/uniwill-wmi.h
>
Powered by blists - more mailing lists