Messages in this thread |  | | Date | Tue, 07 Apr 2026 19:57:41 -0400 | | From | "Mark Pearson" <> | | Subject | Re: [PATCH v8 00/16] platform-x86: lenovo-wmi: Add fixes and enhancement |
| |
On Mon, Apr 6, 2026, at 4:13 PM, Derek J. Clark wrote: > This series adds many much needed fixes and features to the lenovo-wmi > drivers. This version has been re-ordered to ensure the simplest > application to the stable tree, with all fixes being pushed up front. > This has caused some churn in the latter half of the series where I'm > immediately changing things that were just added, but this should ensure > a better result for all kernel versions so I'm happy with it. > > Patches 1-7 fix various bugs in the existing drivers and are Cc'd to > stable. > > Patch 8 moves all gamezone enums from the gamezone header into the > helpers header in preparation for the rest of the series. > > Patch 9 moves LWMI_FAN_DIV to be next to the rest of the fan attribute > defines in preparation for adding additional attrbiute macros. This is > so the attribute macros can all be in the same place in the file. > > Patch 10 adds a function to make assigning attribute ID's for capdata > cleaner and easier. > > Patch 11 adds the remaining CPU attributes that weren't previously > exposed. > > Patch 12 adds GPU attributes. > > Patch 13 renames a name constant in preparation for patch 6. > > Patch 14 adds battery charge-type 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 15 adds a debugfs directory. > > Patch 16 adds a debugfs file for dumping capdata. > > Signed-off-by: Derek J. Clark <derekjohn.clark@gmail.com> > --- > v8: > - 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 (10): > platform/x86: lenovo-wmi-other: Zero initialize WMI arguments > platform/x86: lenovo-wmi-other: Fix tunable_attr_01 struct members > platform/x86: lenovo-wmi-other: Limit adding attributes to supported > devices > platform/x86: lenovo-wmi-helpers: Move gamezone enums to wmi-helpers > platform/x86: lenovo-wmi-other: Move LWMI_FAN_DIV > platform/x86: lenovo-wmi-other: Add lwmi_attr_id() function > 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 > > Rong Zhang (6): > platform/x86: lenovo-wmi-helpers: Fix memory leak in > lwmi_dev_evaluate_int() > platform/x86: lenovo-wmi-other: Balance IDA id allocation and free > platform/x86: lenovo-wmi-other: Balance component bind and unbind > platform/x86: lenovo: Decouple lenovo-wmi-gamezone and > lenovo-wmi-other > 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 | 3 +- > drivers/platform/x86/lenovo/wmi-capdata.c | 128 ++- > drivers/platform/x86/lenovo/wmi-capdata.h | 31 +- > drivers/platform/x86/lenovo/wmi-events.c | 2 +- > drivers/platform/x86/lenovo/wmi-gamezone.c | 7 +- > drivers/platform/x86/lenovo/wmi-gamezone.h | 20 - > drivers/platform/x86/lenovo/wmi-helpers.c | 138 +++- > drivers/platform/x86/lenovo/wmi-helpers.h | 23 + > drivers/platform/x86/lenovo/wmi-other.c | 745 ++++++++++++++---- > drivers/platform/x86/lenovo/wmi-other.h | 16 - > 11 files changed, 934 insertions(+), 198 deletions(-) > delete mode 100644 drivers/platform/x86/lenovo/wmi-gamezone.h > delete mode 100644 drivers/platform/x86/lenovo/wmi-other.h > > -- > 2.53.0
Now I've been over it all, for the full series: Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca>
Mark
|  |