[PATCH v6 0/3] firmware: Add coreboot CFR firmware attributes driver

Sean Rhodes <[email protected]> Mon, 13 Jul 2026 09:13:14 +0100
Newsgroups dev.linux.lists.chrome-platform,org.kernel.vger.linux-kernel,org.kernel.vger.platform-driver-x86
Message-ID <[email protected]>
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 <[email protected]>
    +    Reviewed-by: Derek J. Clark <[email protected]>
         Signed-off-by: Sean Rhodes <[email protected]>
     
      ## 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 <[email protected]>");
    + 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