public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Derek J. Clark" <derekjohn.clark@gmail.com>
To: Hans de Goede <hdegoede@redhat.com>
Cc: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
	"Jonathan Corbet" <corbet@lwn.net>,
	"Mario Limonciello" <superm1@kernel.org>,
	"Luke Jones" <luke@ljones.dev>, "Xino Ni" <nijs1@lenovo.com>,
	"Zhixin Zhang" <zhangzx36@lenovo.com>,
	"Mia Shao" <shaohz1@lenovo.com>,
	"Mark Pearson" <mpearson-lenovo@squebb.ca>,
	"Pierre-Loup A . Griffais" <pgriffais@valvesoftware.com>,
	"Derek J . Clark" <derekjohn.clark@gmail.com>,
	platform-driver-x86@vger.kernel.org, linux-doc@vger.kernel.org,
	linux-kernel@vger.kernel.org
Subject: [PATCH 0/1] platform/x86: Add Lenovo Legion WMI Drivers
Date: Tue, 17 Dec 2024 15:06:44 -0800	[thread overview]
Message-ID: <20241217230645.15027-1-derekjohn.clark@gmail.com> (raw)

Adds support for the Lenovo Legion series of laptop hardware to use WMI
interfaces that control various power settings. There are multiple WMI
interfaces that work in concert to provide getting and setting values as
well as validation of input. Currently only the "GameZone", "Other
Method", and "LENOVO_CAPABILITY_DATA_01" interfaces are implemented, but
I attempted to structure the driver so that adding the "Custom Mode",
"Lighting", and the other CAPABILITY_DATA interfaces would be trivial if
desired in a later patch.

This driver is distinct from, but should be considered a replacement for
this patch:
https://lore.kernel.org/all/20241118100503.14228-1-jonmail@163.com/

This driver attempts to standardize the exposed sysfs by mirroring the
asus-armoury driver currently under review. As such, a lot of
inspiration has been drawn from that driver.
https://lore.kernel.org/all/20240930000046.51388-1-luke@ljones.dev/

The driver has been tested by me on the Lenovo Legion Go.

Suggested-by: Mario Limonciello <superm1@kernel.org>
Reviewed-by: Luke Jones <luke@ljones.dev>
Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com>

Derek J. Clark (1):
  Add lenovo-legion-wmi drivers

 .../wmi/devices/lenovo-legion-wmi.rst         |  79 ++++
 MAINTAINERS                                   |   9 +
 drivers/platform/x86/Kconfig                  |  35 ++
 drivers/platform/x86/Makefile                 |  21 +-
 .../x86/lenovo-legion-wmi-capdata01.c         | 103 +++++
 .../platform/x86/lenovo-legion-wmi-gamezone.c | 233 +++++++++++
 .../platform/x86/lenovo-legion-wmi-other.c    | 377 ++++++++++++++++++
 drivers/platform/x86/lenovo-legion-wmi.h      | 271 +++++++++++++
 8 files changed, 1119 insertions(+), 9 deletions(-)
 create mode 100644 Documentation/wmi/devices/lenovo-legion-wmi.rst
 create mode 100644 drivers/platform/x86/lenovo-legion-wmi-capdata01.c
 create mode 100644 drivers/platform/x86/lenovo-legion-wmi-gamezone.c
 create mode 100644 drivers/platform/x86/lenovo-legion-wmi-other.c
 create mode 100644 drivers/platform/x86/lenovo-legion-wmi.h

-- 
2.47.0


             reply	other threads:[~2024-12-17 23:06 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-17 23:06 Derek J. Clark [this message]
2024-12-17 23:06 ` [PATCH 1/1] platform/x86: Add lenovo-legion-wmi drivers Derek J. Clark
2024-12-18  2:39   ` Mario Limonciello
2024-12-18  3:36     ` Derek J. Clark
2024-12-22 22:55       ` Armin Wolf
2024-12-23 15:47         ` Derek John Clark
2024-12-23 16:50           ` Armin Wolf
2024-12-25  5:25   ` Cody T.-H. Chiu
2024-12-25  8:34     ` Derek J. Clark
2024-12-25 21:11       ` Armin Wolf
2024-12-26  7:17         ` Derek J. Clark
2024-12-27 17:21           ` Mark Pearson
2024-12-30  7:51       ` Cody T.-H. Chiu
2024-12-27 18:48   ` [PATCH 0/1] platform/x86: Add Lenovo Legion WMI Drivers Antheas Kapenekakis
2024-12-27 23:22     ` Derek John Clark
2024-12-28  1:09       ` Antheas Kapenekakis
2024-12-28  3:30         ` Derek John Clark
2024-12-28 11:50           ` Antheas Kapenekakis
2024-12-29 20:45             ` Armin Wolf
2024-12-29 22:41               ` Antheas Kapenekakis
2024-12-30 13:41                 ` Antheas Kapenekakis
2024-12-29 20:28     ` Armin Wolf
2024-12-22  8:42 ` John Martens
     [not found]   ` <CAFqHKT==PiLb_VuFPHJzgfrprukGGig+iUzcih+3TJ1VYt94Dw@mail.gmail.com>
2024-12-22 20:34     ` Derek John Clark
2024-12-22 23:05   ` Armin Wolf
2024-12-26  0:18     ` John Martens
2024-12-26 23:19       ` Armin Wolf
2024-12-27 17:06         ` Mark Pearson
2024-12-27 23:18       ` Derek John Clark

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=20241217230645.15027-1-derekjohn.clark@gmail.com \
    --to=derekjohn.clark@gmail.com \
    --cc=corbet@lwn.net \
    --cc=hdegoede@redhat.com \
    --cc=ilpo.jarvinen@linux.intel.com \
    --cc=linux-doc@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=luke@ljones.dev \
    --cc=mpearson-lenovo@squebb.ca \
    --cc=nijs1@lenovo.com \
    --cc=pgriffais@valvesoftware.com \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=shaohz1@lenovo.com \
    --cc=superm1@kernel.org \
    --cc=zhangzx36@lenovo.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