Linux LED subsystem development
 help / color / mirror / Atom feed
From: Armin Wolf <W_Armin@gmx.de>
To: ilpo.jarvinen@linux.intel.com, hdegoede@redhat.com,
	chumuzero@gmail.com, corbet@lwn.net, cs@tuxedo.de,
	wse@tuxedocomputers.com, ggo@tuxedocomputers.com
Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org,
	platform-driver-x86@vger.kernel.org, rdunlap@infradead.org,
	alok.a.tiwari@oracle.com, linux-leds@vger.kernel.org,
	lee@kernel.org, pobrn@protonmail.com
Subject: Re: [PATCH v4 0/2] Add support for Uniwill laptop features
Date: Sun, 28 Sep 2025 03:36:48 +0200	[thread overview]
Message-ID: <7ac5615c-c2dc-4aa3-b527-aadfb701bfda@gmx.de> (raw)
In-Reply-To: <20250928013253.10869-1-W_Armin@gmx.de>

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
>

      parent reply	other threads:[~2025-09-28  1:37 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-28  1:32 [PATCH v4 0/2] Add support for Uniwill laptop features Armin Wolf
2025-09-28  1:32 ` [PATCH v4 1/2] platform/x86: Add Uniwill laptop driver Armin Wolf
2025-09-28 20:42   ` kernel test robot
2025-10-02 18:41     ` Armin Wolf
2025-10-02 23:36       ` Nathan Chancellor
2025-10-05 18:06         ` Armin Wolf
2025-10-06 19:08           ` Nathan Chancellor
2025-10-17 17:19             ` Armin Wolf
2025-09-30  9:15   ` kernel test robot
2025-09-30 13:43   ` Werner Sembach
2025-10-02 18:44     ` Armin Wolf
2025-09-28  1:32 ` [PATCH v4 2/2] Documentation: laptops: Add documentation for uniwill laptops Armin Wolf
2025-09-28  1:36 ` Armin Wolf [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=7ac5615c-c2dc-4aa3-b527-aadfb701bfda@gmx.de \
    --to=w_armin@gmx.de \
    --cc=alok.a.tiwari@oracle.com \
    --cc=chumuzero@gmail.com \
    --cc=corbet@lwn.net \
    --cc=cs@tuxedo.de \
    --cc=ggo@tuxedocomputers.com \
    --cc=hdegoede@redhat.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=lee@kernel.org \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-leds@vger.kernel.org \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=pobrn@protonmail.com \
    --cc=rdunlap@infradead.org \
    --cc=wse@tuxedocomputers.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox