[PATCH v2 0/5] platform/x86: firmware_attributes_class: Add a high level API

From: Kurt Borja
Date: Sat May 17 2025 - 04:52:21 EST


Hi all,

These series adds the _long awaited_ API for the Firmware Attributes
class.

You'll find all the details in the commit messages and kernel-doc.

I think it's easier to understand by example, so I used the
samsung-galaxybook driver for this purpose (last patch). IMO code
readibility, simplicity, maintainability, etc. is greatly improved, but
there is still room for improvement of the API itself. For this reason I
submitted this as an RFC.

As always, your feedback is very appreciated :)

Overview
========

Patch 1-2: New API with docs included.
Patch 3: New firwmare attributes type
Patch 4: Misc Maintainers patch
Patch 5: samsung-galaxybook example

Signed-off-by: Kurt Borja <kuurtb@xxxxxxxxx>
---
Changes in v2:

[Patch 1]
- Include kdev_t.h header

[Patch 2]
- Use one line comments in fwat_create_attrs()
- Check propagate errors in fwat_create_attrs()
- Add `mode` to fwat_attr_config and related macros to let users
configure the `current_value` attribute mode
- Use defined structs in fwat_attr_ops instead of anonymous ones
- Move fwat_attr_type from config to ops

[Patch 5]
- Just transition to new API without chaing ABI

- Link to v1: https://lore.kernel.org/r/20250509-fw-attrs-api-v1-0-258afed65bfa@xxxxxxxxx

---
Kurt Borja (4):
platform/x86: firmware_attributes_class: Add a high level API
platform/x86: firmware_attributes_class: Add a boolean type
MAINTAINERS: Add FIRMWARE ATTRIBUTES CLASS entry
platform/x86: samsung-galaxybook: Transition to new firmware_attributes API

Thomas Weißschuh (1):
platform/x86: firmware_attributes_class: Add device initialization methods

.../ABI/testing/sysfs-class-firmware-attributes | 1 +
MAINTAINERS | 7 +
drivers/platform/x86/firmware_attributes_class.c | 454 +++++++++++++++++++++
drivers/platform/x86/firmware_attributes_class.h | 276 +++++++++++++
drivers/platform/x86/samsung-galaxybook.c | 308 ++++++--------
5 files changed, 861 insertions(+), 185 deletions(-)
---
base-commit: 9f080c9f2099b5a81c85b3b7f95fd11fad428cc8
change-id: 20250326-fw-attrs-api-0eea7c0225b6
--
~ Kurt