The Linux Kernel Mailing List
 help / color / mirror / Atom feed
* [PATCH v13 0/7] lenovo-wmi: Add fixes and enhancement
@ 2026-05-12 23:58 Derek J. Clark
  2026-05-12 23:58 ` [PATCH v13 1/7] platform/x86: lenovo-wmi-other: Add missing CPU tunable attributes Derek J. Clark
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Derek J. Clark @ 2026-05-12 23:58 UTC (permalink / raw)
  To: Ilpo Järvinen, Hans de Goede
  Cc: Mark Pearson, Armin Wolf, Jonathan Corbet, Rong Zhang, Kurt Borja,
	Derek J . Clark, Pierre-Loup A . Griffais,
	Nícolas F . R . A . Prado, marshall, hyacinth,
	platform-driver-x86, linux-kernel

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


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-05-13 14:50 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-12 23:58 [PATCH v13 0/7] lenovo-wmi: Add fixes and enhancement Derek J. Clark
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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox