From: "Derek J. Clark" <derekjohn.clark@gmail.com>
To: "Ilpo Järvinen" <ilpo.jarvinen@linux.intel.com>,
"Hans de Goede" <hansg@kernel.org>
Cc: "Mark Pearson" <mpearson-lenovo@squebb.ca>,
"Armin Wolf" <W_Armin@gmx.de>, "Jonathan Corbet" <corbet@lwn.net>,
"Rong Zhang" <i@rong.moe>, "Kurt Borja" <kuurtb@gmail.com>,
"Derek J . Clark" <derekjohn.clark@gmail.com>,
"Pierre-Loup A . Griffais" <pgriffais@valvesoftware.com>,
"Nícolas F . R . A . Prado" <nfraprado@collabora.com>,
marshall@shzj.cc, hyacinth@shzj.cc,
platform-driver-x86@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH v13 0/7] lenovo-wmi: Add fixes and enhancement
Date: Tue, 12 May 2026 23:58:01 +0000 [thread overview]
Message-ID: <20260512235808.691046-1-derekjohn.clark@gmail.com> (raw)
This series adds many much needed features to the lenovo-wmi* drivers.
This version is based off platform-driver-x86/review-ilpo-fixes branch,
so patches 1-9 from v12 have been dropped.
Patch 1 adds the remaining CPU attributes that weren't previously
exposed.
Patch 2 adds GPU attributes.
Patch 3 renames a name constant in preparation for patch 6.
Patch 4 adds battery charge-types limiting when supported only by WMI, or
when a module parameter to skip compatibility checks is set. The
MODULE_PARM_DESC macro creates one check and two warnings in checkpatch.
I reviewed other examples from the kernel and I am following the same
convention, so I left it as is.
Patch 5 adds a module parameter, force_load_psy_ext, to bypass ACPI and
BIOS compatibility checks for the power supply extension.
Patch 6 adds a debugfs directory.
Patch 7 adds a debugfs file for dumping capdata.
Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com>
---
v13:
- Rebase off review-ilpo-fixes and drop merged patches 1-9.
- Switch back to charge_types based on feedback from Hans.
- Ensure force_load_psy_ext also makes is_writable and is_supported
checks for lwmi_psy_ext_prop* functions always return true.
- Add helper function for is_writable and is_supported to reduce
duplicated code.
- Move bugged attribute description to the correct paragraph in patch
4.
v12: https://lore.kernel.org/platform-driver-x86/20260411162334.25682-1-derekjohn.clark@gmail.com/
- Break out force_load_psy_ext into its own patch.
- Drop fixes tags for formatting only prerequisite patches Cc'd to
stable.
- Fix formatting in various places.
- Use correct type when passing args in new functions. I will revisit
& fix older functions in a new series.
v11: https://lore.kernel.org/platform-driver-x86/20260507180507.912966-1-derekjohn.clark@gmail.com/
- Reorganize patches in a way that cleans up the churn with
assignment of attribute IDs. This also allowed dropping the
patch that moved the LWMI_FAN_DIV patch as it is now effectively
moved when declaring the updated LWMI_ATTR_ID_FAN_DIV macro. As a
result, some formatting only patches were added to the Cc list for
stable since as they are now prerequisites to some of the fixes.
- Refactor charge control patch to use charge_behavior and
charge_control_end_threshold instead of charge_types to be in
accordance with the power supply class documentation.
- Minor additional formatting fixes.
v10: https://lore.kernel.org/platform-driver-x86/20260411162334.25682-1-derekjohn.clark@gmail.com/
- Fix misnamed attribute in wmi-other.
v9: https://lore.kernel.org/platform-driver-x86/20260411162334.25682-1-derekjohn.clark@gmail.com/
- Invert ida_alloc fail logic.
- Fix dropped mode arg in current_value_show.
- Fix misnamed attribute in documentation.
v8: https://lore.kernel.org/platform-driver-x86/20260406201400.438221-1-derekjohn.clark@gmail.com/
- Clean up rebase mixup with re-assinment of wmi_method_args_32 in
patches 6 and 14 from {} to { 0x00, 0x00 } and back.
- Combine ret_obj declaration and assignment in patch 1.
v7: https://lore.kernel.org/platform-driver-x86/20260402032424.678528-1-derekjohn.clark@gmail.com/
- Add 3 additional bug fix patches from Rong Zhang reported by
shashiko.dev
- Reorder patches so the fixes are upfront in patches 1-7.
- Fix various typos and rebase mixups from v6.
v6: https://lore.kernel.org/platform-driver-x86/20260331181208.421552-1-derekjohn.clark@gmail.com/
- Incorporate Rong Zhang's debugfs and decoupling patches into the
series.
- Add a patch to clean up too many cross-references to wmi-gamezone.h
- Make lwmi_attr_id a static inline in wmi-capdata.h
- Added a patch to fix a bug where ares.arg1 is uninitialized when it
is sent to the firmware.
- Add supported checks before adding battery extenstion, and ensure
both the new checks and the is_writable checks are not casting u32
to i32.
- Misc formating changes.
v5: https://lore.kernel.org/platform-driver-x86/20260324221032.1333636-1-derekjohn.clark@gmail.com/
- Remove cv/cd_mode_id references that occured before patch 4.
- Move lwmi_attr_id to capdata.c with a namespace export.
- Fix mixing include.
- Make lwmi_attr_is_supported return bool.
- Use switch instead of if for setting/getting charge type state.
- Various formatting fixes.
v4: https://lore.kernel.org/platform-driver-x86/20260312031032.3467565-1-derekjohn.clark@gmail.com/
- Use loop instead of back gotos for identifying the working attribute
ID.
- Use function instead of macro to assign attribute_id, preserving
types.
- Removed unused defines and enum values.
- Rename charging defines to clarify thier purpose.
- Fixed various formatting issues from v3.
- Added module param to skip ACPI check when loading the driver for
the power supply extension.
- Don't abort adding power supply extension if the ACPI handle from
ideapad is not present.
- Don't worry about symmetric cleanup when cleaning up attributes in
an error state.
- Reword Patch 8 commit message to be more concise.
- Fix wording in Patch 7 to match the changes.
v3: https://lore.kernel.org/platform-driver-x86/20260224043200.2680384-1-derekjohn.clark@gmail.com/
- Re-add HWMON name const and just rename LWMI_OM_FW_ATTR_BASE_PATH
- Fix linker warnings by moving acpi/battery include to the end of the
list.
- Remove CPU/GPU OC features. These attributes are BOOL type and will
need a new constructor that I'll add later.
v2: https://lore.kernel.org/platform-driver-x86/20260215061339.2842486-1-derekjohn.clark@gmail.com/
- Fix gpu_mode misisng from attributes list.
- Fix prototypes for power suppy patch.
- Reorganize CPU and GPU attributes alphabetically.
- Break out the patch consolidating the driver name cost.
- Move some of the refactoring of attribute_id back to into patch 1
where it belongs.
- Fix some additional typos in function prototypes.
v1: https://lore.kernel.org/platform-driver-x86/20260213081243.794288-1-derekjohn.clark@gmail.com/
Derek J. Clark (5):
platform/x86: lenovo-wmi-other: Add missing CPU tunable attributes
platform/x86: lenovo-wmi-other: Add GPU tunable attributes
platform/x86: lenovo-wmi-other: Rename LWMI_OM_FW_ATTR_BASE_PATH
platform/x86: lenovo-wmi-other: Add WMI battery charge limiting
platform/x86: lenovo-wmi-other: Add force_load_psy_ext module
parameter
Rong Zhang (2):
platform/x86: lenovo-wmi-helpers: Add helper for creating per-device
debugfs dir
platform/x86: lenovo-wmi-capdata: Add debugfs file for dumping capdata
.../wmi/devices/lenovo-wmi-other.rst | 19 +
drivers/platform/x86/lenovo/Kconfig | 2 +
drivers/platform/x86/lenovo/wmi-capdata.c | 120 ++++
drivers/platform/x86/lenovo/wmi-capdata.h | 14 +-
drivers/platform/x86/lenovo/wmi-helpers.c | 34 +
drivers/platform/x86/lenovo/wmi-helpers.h | 2 +
drivers/platform/x86/lenovo/wmi-other.c | 617 +++++++++++++++++-
7 files changed, 797 insertions(+), 11 deletions(-)
base-commit: 2997606dd17729404cef9821ce66dd037b6019eb
--
2.53.0
next reply other threads:[~2026-05-12 23:58 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-12 23:58 Derek J. Clark [this message]
2026-05-12 23:58 ` [PATCH v13 1/7] platform/x86: lenovo-wmi-other: Add missing CPU tunable attributes Derek J. Clark
2026-05-12 23:58 ` [PATCH v13 2/7] platform/x86: lenovo-wmi-other: Add GPU " Derek J. Clark
2026-05-12 23:58 ` [PATCH v13 3/7] platform/x86: lenovo-wmi-other: Rename LWMI_OM_FW_ATTR_BASE_PATH Derek J. Clark
2026-05-12 23:58 ` [PATCH v13 4/7] platform/x86: lenovo-wmi-other: Add WMI battery charge limiting Derek J. Clark
2026-05-13 14:43 ` Rong Zhang
2026-05-12 23:58 ` [PATCH v13 5/7] platform/x86: lenovo-wmi-other: Add force_load_psy_ext module parameter Derek J. Clark
2026-05-13 14:44 ` Rong Zhang
2026-05-12 23:58 ` [PATCH v13 6/7] platform/x86: lenovo-wmi-helpers: Add helper for creating per-device debugfs dir Derek J. Clark
2026-05-12 23:58 ` [PATCH v13 7/7] platform/x86: lenovo-wmi-capdata: Add debugfs file for dumping capdata Derek J. 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=20260512235808.691046-1-derekjohn.clark@gmail.com \
--to=derekjohn.clark@gmail.com \
--cc=W_Armin@gmx.de \
--cc=corbet@lwn.net \
--cc=hansg@kernel.org \
--cc=hyacinth@shzj.cc \
--cc=i@rong.moe \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=kuurtb@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=marshall@shzj.cc \
--cc=mpearson-lenovo@squebb.ca \
--cc=nfraprado@collabora.com \
--cc=pgriffais@valvesoftware.com \
--cc=platform-driver-x86@vger.kernel.org \
/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