[PATCH v6 0/3] firmware: Add coreboot CFR firmware attributes driver
From: Sean Rhodes
Date: Mon Jul 13 2026 - 04:21:03 EST
Move the firmware attributes class helper out of platform/x86, rename
the coreboot-table firmware driver directory from google to coreboot, and
add a coreboot CFR firmware attributes driver.
Changes in v6:
- Move firmware_attributes.h into the sorted Linux include block in each
converted platform/x86 driver.
- Add Derek's Reviewed-by to patch 1.
Sean Rhodes (3):
firmware: Move firmware attributes class helper
firmware: Rename google firmware directory to coreboot
firmware: coreboot: Add CFR firmware attributes driver
MAINTAINERS | 18 +-
drivers/firmware/Kconfig | 5 +-
drivers/firmware/Makefile | 3 +-
drivers/firmware/{google => coreboot}/Kconfig | 19 +-
.../firmware/{google => coreboot}/Makefile | 1 +
drivers/firmware/{google => coreboot}/cbmem.c | 0
drivers/firmware/coreboot/coreboot-cfr.c | 1065 +++++++++++++++++
.../{google => coreboot}/coreboot_table.c | 0
.../{google => coreboot}/coreboot_table.h | 0
.../framebuffer-coreboot.c | 0
drivers/firmware/{google => coreboot}/gsmi.c | 0
.../memconsole-coreboot.c | 0
.../memconsole-x86-legacy.c | 0
.../{google => coreboot}/memconsole.c | 0
.../{google => coreboot}/memconsole.h | 6 +-
drivers/firmware/{google => coreboot}/vpd.c | 0
.../{google => coreboot}/vpd_decode.c | 0
.../{google => coreboot}/vpd_decode.h | 0
.../firmware_attributes_class.c | 2 +-
drivers/platform/x86/Kconfig | 3 -
drivers/platform/x86/Makefile | 2 -
drivers/platform/x86/asus-armoury.c | 2 +-
.../x86/dell/dell-wmi-sysman/sysman.c | 9 +-
drivers/platform/x86/hp/hp-bioscfg/bioscfg.c | 9 +-
drivers/platform/x86/lenovo/think-lmi.c | 5 +-
drivers/platform/x86/lenovo/wmi-other.c | 2 +-
drivers/platform/x86/samsung-galaxybook.c | 3 +-
.../linux/firmware_attributes.h | 6 +-
28 files changed, 1128 insertions(+), 32 deletions(-)
rename drivers/firmware/{google => coreboot}/Kconfig (83%)
rename drivers/firmware/{google => coreboot}/Makefile (92%)
rename drivers/firmware/{google => coreboot}/cbmem.c (100%)
create mode 100644 drivers/firmware/coreboot/coreboot-cfr.c
rename drivers/firmware/{google => coreboot}/coreboot_table.c (100%)
rename drivers/firmware/{google => coreboot}/coreboot_table.h (100%)
rename drivers/firmware/{google => coreboot}/framebuffer-coreboot.c (100%)
rename drivers/firmware/{google => coreboot}/gsmi.c (100%)
rename drivers/firmware/{google => coreboot}/memconsole-coreboot.c (100%)
rename drivers/firmware/{google => coreboot}/memconsole-x86-legacy.c (100%)
rename drivers/firmware/{google => coreboot}/memconsole.c (100%)
rename drivers/firmware/{google => coreboot}/memconsole.h (82%)
rename drivers/firmware/{google => coreboot}/vpd.c (100%)
rename drivers/firmware/{google => coreboot}/vpd_decode.c (100%)
rename drivers/firmware/{google => coreboot}/vpd_decode.h (100%)
rename drivers/{platform/x86 => firmware}/firmware_attributes_class.c (94%)
rename drivers/platform/x86/firmware_attributes_class.h => include/linux/firmware_attributes.h (60%)
Range-diff against v5:
1: 4a82d0a07612 ! 1: 02edc6d05059 firmware: Move firmware attributes class helper
@@ Commit message
under platform/x86.
Reviewed-by: Mark Pearson <mpearson-lenovo@xxxxxxxxx>
+ Reviewed-by: Derek J. Clark <derekjohn.clark@xxxxxxxxx>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
## MAINTAINERS ##
@@ drivers/platform/x86/Makefile: obj-$(CONFIG_X86_PLATFORM_DRIVERS_HP) += hp/
obj-$(CONFIG_SENSORS_HDAPS) += hdaps.o
## drivers/platform/x86/asus-armoury.c ##
+@@
+ #include <linux/dmi.h>
+ #include <linux/err.h>
+ #include <linux/errno.h>
++#include <linux/firmware_attributes.h>
+ #include <linux/fs.h>
+ #include <linux/kernel.h>
+ #include <linux/kmod.h>
@@
#include <linux/sysfs.h>
#include "asus-armoury.h"
-#include "firmware_attributes_class.h"
-+#include <linux/firmware_attributes.h>
#define ASUS_NB_WMI_EVENT_GUID "0B3CBB35-E3C2-45ED-91C2-4C5A6D195D1C"
## drivers/platform/x86/dell/dell-wmi-sysman/sysman.c ##
@@
+ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
+ #include <linux/align.h>
+-#include <linux/fs.h>
+ #include <linux/dmi.h>
+-#include <linux/module.h>
++#include <linux/firmware_attributes.h>
++#include <linux/fs.h>
+ #include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/nls.h>
+ #include <linux/string.h>
#include <linux/sysfs.h>
#include <linux/wmi.h>
++
#include "dell-wmi-sysman.h"
-#include "../../firmware_attributes_class.h"
-+#include <linux/firmware_attributes.h>
#define MAX_TYPES 4
- #include <linux/nls.h>
+-#include <linux/nls.h>
+
+ struct wmi_sysman_priv wmi_priv = {
+ .mutex = __MUTEX_INITIALIZER(wmi_priv.mutex),
## drivers/platform/x86/hp/hp-bioscfg/bioscfg.c ##
@@
+
+ #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
+
++#include <linux/errno.h>
++#include <linux/firmware_attributes.h>
+ #include <linux/fs.h>
+-#include <linux/module.h>
+ #include <linux/kernel.h>
++#include <linux/module.h>
++#include <linux/nls.h>
+ #include <linux/printk.h>
#include <linux/string.h>
#include <linux/wmi.h>
++
#include "bioscfg.h"
-#include "../../firmware_attributes_class.h"
-+#include <linux/firmware_attributes.h>
- #include <linux/nls.h>
- #include <linux/errno.h>
+-#include <linux/nls.h>
+-#include <linux/errno.h>
+ MODULE_AUTHOR("Jorge Lopez <jorge.lopez2@xxxxxx>");
+ MODULE_DESCRIPTION("HP BIOS Configuration Driver");
## drivers/platform/x86/lenovo/think-lmi.c ##
@@
+
+ #include <linux/acpi.h>
+ #include <linux/array_size.h>
++#include <linux/dmi.h>
+ #include <linux/errno.h>
++#include <linux/firmware_attributes.h>
+ #include <linux/fs.h>
+ #include <linux/mutex.h>
+ #include <linux/string_helpers.h>
#include <linux/types.h>
- #include <linux/dmi.h>
+-#include <linux/dmi.h>
#include <linux/wmi.h>
-#include "../firmware_attributes_class.h"
-+#include <linux/firmware_attributes.h>
++
#include "think-lmi.h"
static bool debug_support;
## drivers/platform/x86/lenovo/wmi-other.c ##
+@@
+ #include <linux/container_of.h>
+ #include <linux/device.h>
+ #include <linux/export.h>
++#include <linux/firmware_attributes.h>
+ #include <linux/gfp_types.h>
+ #include <linux/hwmon.h>
+ #include <linux/idr.h>
@@
#include "wmi-capdata.h"
#include "wmi-events.h"
#include "wmi-helpers.h"
-#include "../firmware_attributes_class.h"
-+#include <linux/firmware_attributes.h>
#define LENOVO_OTHER_MODE_GUID "DC2A8805-3A8C-41BA-A6F7-092E0089CD3B"
## drivers/platform/x86/samsung-galaxybook.c ##
@@
+ #include <linux/acpi.h>
+ #include <linux/bits.h>
+ #include <linux/err.h>
++#include <linux/firmware_attributes.h>
+ #include <linux/i8042.h>
+ #include <linux/init.h>
+ #include <linux/input.h>
+@@
+ #include <linux/sysfs.h>
#include <linux/uuid.h>
#include <linux/workqueue.h>
++
#include <acpi/battery.h>
-#include "firmware_attributes_class.h"
-+#include <linux/firmware_attributes.h>
#define DRIVER_NAME "samsung-galaxybook"
2: 285b33f805dc = 2: d5d3d1334994 firmware: Rename google firmware directory to coreboot
3: ce91f4da5510 = 3: 7a65c6b0e631 firmware: coreboot: Add CFR firmware attributes driver
--
2.53.0