[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <a01af201-328b-4017-ab17-16cbc4ecfff4@gmx.de>
Date: Wed, 18 Jun 2025 00:02:45 +0200
From: Armin Wolf <W_Armin@....de>
To: Werner Sembach <wse@...edocomputers.com>, ilpo.jarvinen@...ux.intel.com,
hdegoede@...hat.com, chumuzero@...il.com, corbet@....net, cs@...edo.de,
ggo@...edocomputers.com
Cc: linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org,
platform-driver-x86@...r.kernel.org
Subject: Re: [RFC PATCH 0/3] platform/x86: Add support for Uniwill laptop
features
Am 16.06.25 um 14:59 schrieb Werner Sembach:
> Hi Armin,
>
> Am 15.06.25 um 19:59 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://github.com/tuxedocomputers/tuxedo-drivers
> Better use
> 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-wmi driver used for handling
>> WMI events on Uniwill devices. Due to a grave design error inside the
>> underlying WMI firmware interface (the WMI GUID was copied from the
>> Windows driver samples and is thus not unique) the driver cannot be
>> autoloaded. Instead drivers using this module will load it as an
>> module dependency.
>>
>> The second patch introduces the uniwill-laptop driver that does the
>> majority of the work. This driver talks to the embedded controller
>> yet another WMI interface to control the various features. Sadly this
>> WMI firmware interfaces suffers from the exact same issue (the WMI
>> GUID is not unique) and thus a DMI whitelist has to be used for
>> loading the driver.
>>
>> The last patch finally adds some documentation for configuring and
>> using both drivers.
>>
>> 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
>>
>> I send this series as an RFC to gather feedback and to request any
>> involved developers if they want to have their Co-developed-by tags
>> on the final patch series.
>
> Afaik most of the initial uniwill module in tuxedo-drivers was written
> by Christoffer, he is currently on holiday, but I will ask him when he
> is back. I also did later added to it later.
>
> Since this driver is a complete rewrite I'm not sure if a Co-developed
> by for Christoffer and me is appropriate, but we would ofc be happy
> about it. Maybe for finding out the EC register meanings that you
> probably at least partially copied over from tuxedo-drivers?
>
I did, but i mostly relied on the reverse-engineered OEM application for that.
> Or do you see another label more fitting?
>
I could also include your names inside the individual driver source code in a special thank-you section.
Thanks,
Armin Wolf
> Best regards,
>
> Werner
>
>>
>> Armin Wolf (3):
>> platform/x86: Add Uniwill WMI driver
>> 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 | 68 +
>> Documentation/wmi/devices/uniwill-laptop.rst | 109 ++
>> Documentation/wmi/devices/uniwill-wmi.rst | 52 +
>> MAINTAINERS | 17 +
>> drivers/platform/x86/Kconfig | 2 +
>> drivers/platform/x86/Makefile | 3 +
>> drivers/platform/x86/uniwill/Kconfig | 49 +
>> drivers/platform/x86/uniwill/Makefile | 8 +
>> drivers/platform/x86/uniwill/uniwill-laptop.c | 1477 +++++++++++++++++
>> drivers/platform/x86/uniwill/uniwill-wmi.c | 178 ++
>> drivers/platform/x86/uniwill/uniwill-wmi.h | 122 ++
>> 13 files changed, 2139 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 Documentation/wmi/devices/uniwill-wmi.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-laptop.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