All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v9 0/4] firmware: Add coreboot CFR firmware attributes driver
@ 2026-07-27 19:51 Sean Rhodes
  2026-07-27 19:51 ` [PATCH v9 1/4] platform/x86: Sort firmware attributes class includes Sean Rhodes
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: Sean Rhodes @ 2026-07-27 19:51 UTC (permalink / raw)
  To: tzungbi
  Cc: Corentin Chary, Luke D. Jones, Denis Benato, Hans de Goede,
	Ilpo Järvinen, Prasanth Ksr, Jorge Lopez, Mark Pearson,
	Derek J. Clark, Joshua Grisham, platform-driver-x86, linux-kernel,
	Dell.Client.Kernel, Sean Rhodes, Michael S. Tsirkin,
	Florian Fainelli, Huacai Chen, Chen-Yu Tsai, Brian Norris,
	Julius Werner, Thomas Zimmermann, Javier Martinez Canillas,
	Takashi Sakamoto, Bjorn Helgaas, Danilo Krummrich,
	Uwe Kleine-König (The Capable Hub),
	Titouan Ameline de Cadeville, Kees Cook, chrome-platform

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 v9:
- Add the missing kstrtox.h include used by kstrtou32().
- Use a single kobject rollback path when setting registration fails.
- Split a few helper locals for readability, including the pending reboot
  device lookup and enum-value population.
- Avoid an intermediate void pointer cast while parsing numeric CFR options.
- Check the possible-values buffer length before computing each label length.

Changes in v8:
- Add a preparatory include-order cleanup before moving the firmware
  attributes class helper.
- Add direct includes for __packed and container_of(), use scoped cleanup for
  EFI names and the driver mutex, and document the efivar lock requirement on
  private helpers.
- Replace the duplicated CFR record walkers with one checked iterator that
  distinguishes malformed input from the end of a record list.
- Validate enum entries before accessing them and propagate malformed child
  records instead of treating them as absent.
- Restore the EFI variable after a failed runtime apply without retrying the
  failed firmware operation, and only emit a change event when the new EFI
  value remains stored.
- Document the possible-values size limit and why CFR entries without a usable
  runtime EFI variable are skipped.

Testing:
- x86_64 out-of-tree W=1 build of drivers/firmware/coreboot/coreboot-cfr.o.
- checkpatch --strict --git HEAD.
- v8 x86_64 and UML allmodconfig W=1 builds of the driver and helper.
- v8 runtime APM_CNT apply and reboot-needed behavior on a Star Labs Byte with
  firmware 26.07 and Linux 6.17.

Sean Rhodes (4):
  platform/x86: Sort firmware attributes class includes
  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 |   20 +-
 .../firmware/{google => coreboot}/Makefile    |    1 +
 drivers/firmware/{google => coreboot}/cbmem.c |    0
 drivers/firmware/coreboot/coreboot-cfr.c      | 1193 +++++++++++++++++
 .../{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, 1257 insertions(+), 32 deletions(-)
 rename drivers/firmware/{google => coreboot}/Kconfig (82%)
 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%)


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-07-27 19:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-27 19:51 [PATCH v9 0/4] firmware: Add coreboot CFR firmware attributes driver Sean Rhodes
2026-07-27 19:51 ` [PATCH v9 1/4] platform/x86: Sort firmware attributes class includes Sean Rhodes
2026-07-27 19:51 ` [PATCH v9 2/4] firmware: Move firmware attributes class helper Sean Rhodes
2026-07-27 19:51 ` [PATCH v9 3/4] firmware: Rename google firmware directory to coreboot Sean Rhodes
2026-07-27 19:51 ` [PATCH v9 4/4] firmware: coreboot: Add CFR firmware attributes driver Sean Rhodes

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.