firmware: Rename google firmware directory to coreboot

Most drivers in drivers/firmware/google are coreboot table drivers rather
than Google-specific firmware drivers. Rename the directory to coreboot
and update the Kconfig prompt, build path and maintainer entry.

Rename the generic firmware Kconfig symbols to CONFIG_COREBOOT_* at the
same time so new configurations describe the firmware interface rather
than one vendor. Keep the old CONFIG_GOOGLE_* names as transitional
symbols so existing configurations keep selecting the same drivers
during the rename.

Leave defconfig updates to a separate patch so the configuration churn
is easy to review independently.

Suggested-by: Julius Werner <jwerner@chromium.org>
Signed-off-by: Sean Rhodes <sean@starlabs.systems>
Link: https://lore.kernel.org/r/0a81e0d8e15c13f6a65c45ce476e37b33564ad61.1788284852.git.sean@starlabs.systems
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
This commit is contained in:
Sean Rhodes 2026-09-01 18:48:03 +01:00 committed by Tzung-Bi Shih
parent cee9395acd
commit 44e33a5aaa
17 changed files with 76 additions and 38 deletions

View File

@ -6716,6 +6716,16 @@ F: tools/testing/selftests/cgroup/test_hugetlb_memcg.c
F: tools/testing/selftests/cgroup/test_kmem.c
F: tools/testing/selftests/cgroup/test_memcontrol.c
COREBOOT FIRMWARE DRIVERS
M: Tzung-Bi Shih <tzungbi@kernel.org>
R: Brian Norris <briannorris@chromium.org>
R: Julius Werner <jwerner@chromium.org>
L: chrome-platform@lists.linux.dev
S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git
F: drivers/firmware/coreboot/
F: include/linux/coreboot.h
CORETEMP HARDWARE MONITORING DRIVER
L: linux-hwmon@vger.kernel.org
S: Orphan
@ -11139,16 +11149,6 @@ S: Maintained
F: Documentation/networking/device_drivers/ethernet/google/gve.rst
F: drivers/net/ethernet/google
GOOGLE FIRMWARE DRIVERS
M: Tzung-Bi Shih <tzungbi@kernel.org>
R: Brian Norris <briannorris@chromium.org>
R: Julius Werner <jwerner@chromium.org>
L: chrome-platform@lists.linux.dev
S: Maintained
T: git git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux.git
F: drivers/firmware/google/
F: include/linux/coreboot.h
GOOGLE TENSOR SoC SUPPORT
M: Peter Griffin <peter.griffin@linaro.org>
R: André Draszik <andre.draszik@linaro.org>

View File

@ -299,7 +299,7 @@ endif # TURRIS_MOX_RWTM
source "drivers/firmware/arm_ffa/Kconfig"
source "drivers/firmware/broadcom/Kconfig"
source "drivers/firmware/cirrus/Kconfig"
source "drivers/firmware/google/Kconfig"
source "drivers/firmware/coreboot/Kconfig"
source "drivers/firmware/efi/Kconfig"
source "drivers/firmware/imx/Kconfig"
source "drivers/firmware/meson/Kconfig"

View File

@ -30,7 +30,7 @@ obj-y += broadcom/
obj-y += cirrus/
obj-y += meson/
obj-y += microchip/
obj-$(CONFIG_GOOGLE_FIRMWARE) += google/
obj-$(CONFIG_COREBOOT_FIRMWARE) += coreboot/
obj-y += efi/
obj-y += imx/
obj-y += psci/

View File

@ -1,13 +1,16 @@
# SPDX-License-Identifier: GPL-2.0-only
menuconfig GOOGLE_FIRMWARE
bool "Google Firmware Drivers"
menuconfig COREBOOT_FIRMWARE
bool "coreboot firmware drivers"
default GOOGLE_FIRMWARE
default n
help
These firmware drivers are used by Google servers,
Chromebooks and other devices using coreboot firmware.
These firmware drivers are used by devices running coreboot
firmware, including Chromebooks and some Google servers.
They include shared support for coreboot table entries and
drivers for CBMEM, framebuffer, firmware console and VPD records.
If in doubt, say "N".
if GOOGLE_FIRMWARE
if COREBOOT_FIRMWARE
config GOOGLE_SMI
tristate "SMI interface for Google platforms"
@ -19,9 +22,10 @@ config GOOGLE_SMI
driver provides an interface for reading and writing NVRAM
variables.
config GOOGLE_CBMEM
config COREBOOT_CBMEM
tristate "CBMEM entries in sysfs"
depends on GOOGLE_COREBOOT_TABLE
depends on COREBOOT_TABLE
default GOOGLE_CBMEM
help
CBMEM is a downwards-growing memory region created by the
Coreboot BIOS containing tagged data structures from the
@ -34,9 +38,10 @@ config GOOGLE_CBMEM
memory for each entry in sysfs under
/sys/bus/coreboot/devices/cbmem-<id>.
config GOOGLE_COREBOOT_TABLE
config COREBOOT_TABLE
tristate "Coreboot Table Access"
depends on HAS_IOMEM && (ACPI || OF)
default GOOGLE_COREBOOT_TABLE
help
This option enables the coreboot_table module, which provides other
firmware modules access to the coreboot table. The coreboot table
@ -44,42 +49,75 @@ config GOOGLE_COREBOOT_TABLE
device tree node /firmware/coreboot.
If unsure say N.
config GOOGLE_MEMCONSOLE
config COREBOOT_MEMCONSOLE_COMMON
tristate
depends on GOOGLE_MEMCONSOLE_X86_LEGACY || GOOGLE_MEMCONSOLE_COREBOOT
depends on GOOGLE_MEMCONSOLE_X86_LEGACY || COREBOOT_MEMCONSOLE
default GOOGLE_MEMCONSOLE
config GOOGLE_MEMCONSOLE_X86_LEGACY
tristate "Firmware Memory Console - X86 Legacy support"
depends on X86 && ACPI && DMI
select GOOGLE_MEMCONSOLE
select COREBOOT_MEMCONSOLE_COMMON
help
This option enables the kernel to search for a firmware log in
the EBDA on Google servers. If found, this log is exported to
userland in the file /sys/firmware/log.
This driver is limited to x86 systems that expose the legacy
Google EBDA console format.
config GOOGLE_FRAMEBUFFER_COREBOOT
config COREBOOT_FRAMEBUFFER
tristate "Coreboot Framebuffer"
depends on GOOGLE_COREBOOT_TABLE
depends on COREBOOT_TABLE
default GOOGLE_FRAMEBUFFER_COREBOOT
help
This option enables the kernel to search for a framebuffer in
the coreboot table. If found, it is registered with a platform
device of type coreboot-framebuffer. Using the old device of
type simple-framebuffer is deprecated.
config GOOGLE_MEMCONSOLE_COREBOOT
config COREBOOT_MEMCONSOLE
tristate "Firmware Memory Console"
depends on GOOGLE_COREBOOT_TABLE
select GOOGLE_MEMCONSOLE
depends on COREBOOT_TABLE
select COREBOOT_MEMCONSOLE_COMMON
default GOOGLE_MEMCONSOLE_COREBOOT
help
This option enables the kernel to search for a firmware log in
the coreboot table. If found, this log is exported to userland
in the file /sys/firmware/log.
This is the coreboot-table backed variant of the firmware memory
console driver.
config GOOGLE_VPD
tristate "Vital Product Data"
depends on GOOGLE_COREBOOT_TABLE
depends on COREBOOT_TABLE
help
This option enables the kernel to expose the content of Google VPD
under /sys/firmware/vpd.
VPD records carry firmware-provided key/value data used by
Google devices.
endif # GOOGLE_FIRMWARE
endif # COREBOOT_FIRMWARE
config GOOGLE_FIRMWARE
bool
transitional
config GOOGLE_CBMEM
tristate
transitional
config GOOGLE_COREBOOT_TABLE
tristate
transitional
config GOOGLE_MEMCONSOLE
tristate
transitional
config GOOGLE_FRAMEBUFFER_COREBOOT
tristate
transitional
config GOOGLE_MEMCONSOLE_COREBOOT
tristate
transitional

View File

@ -1,14 +1,14 @@
# SPDX-License-Identifier: GPL-2.0
obj-$(CONFIG_GOOGLE_SMI) += gsmi.o
obj-$(CONFIG_GOOGLE_COREBOOT_TABLE) += coreboot_table.o
obj-$(CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT) += framebuffer-coreboot.o
obj-$(CONFIG_GOOGLE_MEMCONSOLE) += memconsole.o
obj-$(CONFIG_GOOGLE_MEMCONSOLE_COREBOOT) += memconsole-coreboot.o
obj-$(CONFIG_COREBOOT_TABLE) += coreboot_table.o
obj-$(CONFIG_COREBOOT_FRAMEBUFFER) += framebuffer-coreboot.o
obj-$(CONFIG_COREBOOT_MEMCONSOLE_COMMON) += memconsole.o
obj-$(CONFIG_COREBOOT_MEMCONSOLE) += memconsole-coreboot.o
obj-$(CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY) += memconsole-x86-legacy.o
# Must come after coreboot_table.o, as this driver depends on that bus type.
obj-$(CONFIG_GOOGLE_CBMEM) += cbmem.o
obj-$(CONFIG_COREBOOT_CBMEM) += cbmem.o
vpd-sysfs-y := vpd.o vpd_decode.o
obj-$(CONFIG_GOOGLE_VPD) += vpd-sysfs.o

View File

@ -7,8 +7,8 @@
* Copyright 2017 Google Inc.
*/
#ifndef __FIRMWARE_GOOGLE_MEMCONSOLE_H
#define __FIRMWARE_GOOGLE_MEMCONSOLE_H
#ifndef __FIRMWARE_COREBOOT_MEMCONSOLE_H
#define __FIRMWARE_COREBOOT_MEMCONSOLE_H
#include <linux/types.h>
@ -33,4 +33,4 @@ int memconsole_sysfs_init(void);
*/
void memconsole_exit(void);
#endif /* __FIRMWARE_GOOGLE_MEMCONSOLE_H */
#endif /* __FIRMWARE_COREBOOT_MEMCONSOLE_H */