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.
I am unsure of how best to handle the deprecation of attributes.
There's also some attributes that are obviously boolean but are using 0/1.
I'm unsure if I should change that.
And would it be best to move the asus stuff to a subdir now? Akin to the
Dell platform stuff.
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/
Luke D. Jones (5):
platform/x86: asus-armoury: move existing tunings to asus-armoury
module
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/platform/x86/Kconfig | 22 +
drivers/platform/x86/Makefile | 1 +
drivers/platform/x86/asus-armoury.c | 1056 +++++++++++++++++
drivers/platform/x86/asus-armoury.h | 255 ++++
drivers/platform/x86/asus-wmi.c | 203 +++-
drivers/platform/x86/asus-wmi.h | 14 +
include/linux/platform_data/x86/asus-wmi.h | 19 +
8 files changed, 1538 insertions(+), 49 deletions(-)
create mode 100644 drivers/platform/x86/asus-armoury.c
create mode 100644 drivers/platform/x86/asus-armoury.h
--
2.46.1