[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a1c25bd8-907f-4b2a-a505-15785eb4b17b@gmx.de>
Date: Mon, 23 Dec 2024 00:05:24 +0100
From: Armin Wolf <W_Armin@....de>
To: John Martens <johnfanv2@...il.com>, derekjohn.clark@...il.com
Cc: corbet@....net, hdegoede@...hat.com, ilpo.jarvinen@...ux.intel.com,
linux-doc@...r.kernel.org, linux-kernel@...r.kernel.org, luke@...nes.dev,
mpearson-lenovo@...ebb.ca, nijs1@...ovo.com, pgriffais@...vesoftware.com,
platform-driver-x86@...r.kernel.org, shaohz1@...ovo.com, superm1@...nel.org,
zhangzx36@...ovo.com
Subject: Re: [PATCH 0/1] platform/x86: Add Lenovo Legion WMI Drivers
Am 22.12.24 um 09:42 schrieb John Martens:
>> Adds support for the Lenovo Legion series of laptop hardware to use WMI
>> interfaces that control various power settings.
> Note that there already is a driver for Lenovo Legion laptops that I
> wanted to merge upstream.
>
> https://github.com/johnfanv2/LenovoLegionLinux
>
> Compared to the proposed patch, it has the following
> advantages:
> 1. already popular and tested by thousands of users
> - many stars and discussions on github
> - patched into multiple kernels of gaming-related distros
> - packaged as dkms module for almost all relevant Linux
> distributions including Debian by other developers
> 2. supports many different Lenovo Legion models starting from 2020/2021
> 3. supports a lot of more functions, including fan control, which is the
> most requested feature
> 4. supports the many changes between different in the WMI/ACPI method
> 5. actually shares some credtis with persons who revere engineered it :)
> 6. support by GUI tool to configure it all
>
> On the other hand, my driver has the following disadvantages:
> 1. The version of master on github is the most recent one and contains
> a lot of debug output that has to be removed (often indicated by TODO)
> 2. It is all in one large c file instead of organizing it neatly into
> multiple files.
> 3. It was modeled after the ideapad driver instead of the newer ASUS
> driver.
>
> A few notes regarding the many changes of the WMI methods that I tried
> to deal with in my driver: note that in almost every new model a new
> WMI method is used to control the same functionality (e.g. fan control
> or powermode). Additionally, often the constants or the unit changes
> : e.g. percent or rpm for fan speed.
>
>> The driver has been tested by me on the Lenovo Legion Go.
> The driver on github has been tested by thousands of users.
>
> I suggest that we maybe combine the two drivers before merging them,
> since Derek seems to have more kernel patching knowledge and I seem
> to have more worked on all the Legion laptops.
>
I agree in combining both drivers.
I suggest that we first upstream the bare-minimum for supporting the gamezone GUID
(no fancy features, just the basics) so that:
1. More features can be added later.
2. People can work on the other-guid drivers.
Sadly your WMI driver needs some work too since it uses the deprecated GUID-based WMI interface.
Because of this i suggest that we first upstream Dereks driver for the gamezone GUID, which can
then be extended by you step-by-step.
Thanks,
Armin Wolf
Powered by blists - more mailing lists