From: "Luke D. Jones" <luke@ljones.dev>
To: linux-kernel@vger.kernel.org
Cc: linux-input@vger.kernel.org, jikos@kernel.org,
platform-driver-x86@vger.kernel.org,
ilpo.jarvinen@linux.intel.com, hdegoede@redhat.com,
corentin.chary@gmail.com, superm1@kernel.org,
"Luke D. Jones" <luke@ljones.dev>
Subject: [PATCH v3 0/5] platform/x86: introduce asus-armoury driver
Date: Sun, 29 Sep 2024 22:08:04 +1300 [thread overview]
Message-ID: <20240929090813.7888-1-luke@ljones.dev> (raw)
This is the first major patch I've ever done with the intention of
introducing a new module, so it's highly likely I've made some mistakes
or misunderstood something.
TL;DR:
1. introduce new module to contain bios attributes, using fw_attributes_class
2. deprecate all possible attributes from asus-wmi that were added ad-hoc
3. remove those in the next LTS cycle
The idea for this originates from a conversation with Mario Limonciello
https://lore.kernel.org/platform-driver-x86/371d4109-a3bb-4c3b-802f-4ec27a945c99@amd.com/
It is without a doubt much cleaner to use, easier to discover, and the
API is well defined as opposed to the random clutter of attributes I had
been placing in the platform sysfs.
There is some discussion on-going regarding the way tuning knobs such as
the PPT_* should work with platform_profile. This may result in the creation
of an extra profile type "Custom" to signify that the user has adjusted
things away from the defaults used by profiles such as "balanced" or "quiet".
Regards,
Luke
Changelog:
- v1
- Initial submission
- v2
- Too many changes to list, but all concerns raised in previous submission addressed.
- History: https://lore.kernel.org/platform-driver-x86/20240716051612.64842-1-luke@ljones.dev/
- v3
- All concerns addressed.
- History: https://lore.kernel.org/platform-driver-x86/20240806020747.365042-1-luke@ljones.dev/
- v4
- Use EXPORT_SYMBOL_NS_GPL() for the symbols required in this patch series
- Add patch for hid-asus due to the use of EXPORT_SYMBOL_NS_GPL()
- Split the PPT knobs out to a separate patch
- Split the hd_panel setting out to a new patch
- Clarify some of APU MEM configuration and convert int to hex
- Rename deprecated Kconfig option to ASUS_WMI_DEPRECATED_ATTRS
- Fixup cyclic dependency in Kconfig
- v5
- deprecate patch: cleanup ``#if`, ``#endif` statements, edit kconfig detail, edit commit msg
- cleanup ppt* tuning patch
- proper error handling in module init, plus pr_err()
- ppt tunables have a notice if there is no match to get defaults
- better error handling in cpu core handling
- don't continue if failure
- use the mutex to gate WMI writes
Luke D. Jones (9):
platform/x86: asus-wmi: export symbols used for read/write WMI
hid-asus: Add MODULE_IMPORT_NS(ASUS_WMI)
platform/x86: asus-armoury: move existing tunings to asus-armoury
module
platform/x86: asus-armoury: add panel_hd_mode attribute
platform/x86: asus-armoury: add the ppt_* and nv_* tuning knobs
platform/x86: asus-armoury: add dgpu tgp control
platform/x86: asus-armoury: add apu-mem control support
platform/x86: asus-armoury: add core count control
platform/x86: asus-wmi: deprecate bios features
.../ABI/testing/sysfs-platform-asus-wmi | 17 +
drivers/hid/hid-asus.c | 1 +
drivers/platform/x86/Kconfig | 21 +
drivers/platform/x86/Makefile | 1 +
drivers/platform/x86/asus-armoury.c | 1088 +++++++++++++++++
drivers/platform/x86/asus-armoury.h | 257 ++++
drivers/platform/x86/asus-wmi.c | 189 ++-
include/linux/platform_data/x86/asus-wmi.h | 22 +
8 files changed, 1559 insertions(+), 37 deletions(-)
create mode 100644 drivers/platform/x86/asus-armoury.c
create mode 100644 drivers/platform/x86/asus-armoury.h
--
2.46.1
next reply other threads:[~2024-09-29 9:08 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-29 9:08 Luke D. Jones [this message]
2024-09-29 9:08 ` [PATCH v5 1/9] platform/x86: asus-wmi: export symbols used for read/write WMI Luke D. Jones
2024-09-29 9:08 ` [PATCH v5 2/9] hid-asus: Add MODULE_IMPORT_NS(ASUS_WMI) Luke D. Jones
2024-09-29 9:08 ` [PATCH v5 3/9] platform/x86: asus-armoury: move existing tunings to asus-armoury module Luke D. Jones
2024-09-29 18:53 ` Mario Limonciello
2024-09-29 22:02 ` Luke Jones
2024-09-29 9:08 ` [PATCH v5 4/9] platform/x86: asus-armoury: add panel_hd_mode attribute Luke D. Jones
2024-09-29 9:08 ` [PATCH v5 5/9] platform/x86: asus-armoury: add the ppt_* and nv_* tuning knobs Luke D. Jones
2024-09-29 18:59 ` Mario Limonciello
2024-09-29 9:08 ` [PATCH v5 6/9] platform/x86: asus-armoury: add dgpu tgp control Luke D. Jones
2024-09-29 9:08 ` [PATCH v5 7/9] platform/x86: asus-armoury: add apu-mem control support Luke D. Jones
2024-09-29 9:08 ` [PATCH v5 8/9] platform/x86: asus-armoury: add core count control Luke D. Jones
2024-09-29 18:57 ` Mario Limonciello
2024-09-29 22:12 ` Luke Jones
2024-09-29 22:25 ` Mario Limonciello
2024-09-29 9:08 ` [PATCH v5 9/9] platform/x86: asus-wmi: deprecate bios features Luke D. Jones
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=20240929090813.7888-1-luke@ljones.dev \
--to=luke@ljones.dev \
--cc=corentin.chary@gmail.com \
--cc=hdegoede@redhat.com \
--cc=ilpo.jarvinen@linux.intel.com \
--cc=jikos@kernel.org \
--cc=linux-input@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=platform-driver-x86@vger.kernel.org \
--cc=superm1@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;
as well as URLs for NNTP newsgroup(s).