Move types for coreboot table entries to <linux/coreboot.h>. Allows
drivers in other subsystems to use these structures.

Signed-off-by: Thomas Zimmermann <[email protected]>
---
 MAINTAINERS                                   |  1 +
 drivers/firmware/google/coreboot_table.c      | 10 +++
 drivers/firmware/google/coreboot_table.h      | 60 +----------------
 .../firmware/google/framebuffer-coreboot.c    |  2 -
 include/linux/coreboot.h                      | 66 +++++++++++++++++++
 5 files changed, 78 insertions(+), 61 deletions(-)
 create mode 100644 include/linux/coreboot.h

diff --git a/MAINTAINERS b/MAINTAINERS
index 0f244cf0b5c5..820d31fb8986 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -10737,6 +10737,7 @@ L:      [email protected]
 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 <[email protected]>
diff --git a/drivers/firmware/google/coreboot_table.c 
b/drivers/firmware/google/coreboot_table.c
index a031d6fe6bc5..c769631ea15d 100644
--- a/drivers/firmware/google/coreboot_table.c
+++ b/drivers/firmware/google/coreboot_table.c
@@ -22,6 +22,16 @@
 
 #include "coreboot_table.h"
 
+/* Coreboot table header structure */
+struct coreboot_table_header {
+       char signature[4];
+       u32 header_bytes;
+       u32 header_checksum;
+       u32 table_bytes;
+       u32 table_checksum;
+       u32 table_entries;
+};
+
 #define CB_DEV(d) container_of(d, struct coreboot_device, dev)
 #define CB_DRV(d) container_of_const(d, struct coreboot_driver, drv)
 
diff --git a/drivers/firmware/google/coreboot_table.h 
b/drivers/firmware/google/coreboot_table.h
index 17e9e5c3f6e1..616ca3903e5c 100644
--- a/drivers/firmware/google/coreboot_table.h
+++ b/drivers/firmware/google/coreboot_table.h
@@ -12,67 +12,9 @@
 #ifndef __COREBOOT_TABLE_H
 #define __COREBOOT_TABLE_H
 
+#include <linux/coreboot.h>
 #include <linux/device.h>
 
-struct coreboot_device_id;
-
-/* Coreboot table header structure */
-struct coreboot_table_header {
-       char signature[4];
-       u32 header_bytes;
-       u32 header_checksum;
-       u32 table_bytes;
-       u32 table_checksum;
-       u32 table_entries;
-};
-
-/* List of coreboot entry structures that is used */
-/* Generic */
-struct coreboot_table_entry {
-       u32 tag;
-       u32 size;
-};
-
-/* Points to a CBMEM entry */
-struct lb_cbmem_ref {
-       u32 tag;
-       u32 size;
-
-       u64 cbmem_addr;
-};
-
-#define LB_TAG_CBMEM_ENTRY 0x31
-
-/* Corresponds to LB_TAG_CBMEM_ENTRY */
-struct lb_cbmem_entry {
-       u32 tag;
-       u32 size;
-
-       u64 address;
-       u32 entry_size;
-       u32 id;
-};
-
-/* Describes framebuffer setup by coreboot */
-struct lb_framebuffer {
-       u32 tag;
-       u32 size;
-
-       u64 physical_address;
-       u32 x_resolution;
-       u32 y_resolution;
-       u32 bytes_per_line;
-       u8  bits_per_pixel;
-       u8  red_mask_pos;
-       u8  red_mask_size;
-       u8  green_mask_pos;
-       u8  green_mask_size;
-       u8  blue_mask_pos;
-       u8  blue_mask_size;
-       u8  reserved_mask_pos;
-       u8  reserved_mask_size;
-};
-
 /* A device, additionally with information from coreboot. */
 struct coreboot_device {
        struct device dev;
diff --git a/drivers/firmware/google/framebuffer-coreboot.c 
b/drivers/firmware/google/framebuffer-coreboot.c
index 703dd4f5d930..2d468d055872 100644
--- a/drivers/firmware/google/framebuffer-coreboot.c
+++ b/drivers/firmware/google/framebuffer-coreboot.c
@@ -21,8 +21,6 @@
 
 #include "coreboot_table.h"
 
-#define CB_TAG_FRAMEBUFFER 0x12
-
 #if defined(CONFIG_PCI)
 static bool framebuffer_pci_dev_is_enabled(struct pci_dev *pdev)
 {
diff --git a/include/linux/coreboot.h b/include/linux/coreboot.h
new file mode 100644
index 000000000000..48705b439c6e
--- /dev/null
+++ b/include/linux/coreboot.h
@@ -0,0 +1,66 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/*
+ * coreboot.h
+ *
+ * Coreboot device and driver interfaces.
+ *
+ * Copyright 2014 Gerd Hoffmann <[email protected]>
+ * Copyright 2017 Google Inc.
+ * Copyright 2017 Samuel Holland <[email protected]>
+ */
+
+#ifndef _LINUX_COREBOOT_H
+#define _LINUX_COREBOOT_H
+
+#include <linux/types.h>
+
+/* List of coreboot entry structures that is used */
+
+#define CB_TAG_FRAMEBUFFER 0x12
+#define LB_TAG_CBMEM_ENTRY 0x31
+
+/* Generic */
+struct coreboot_table_entry {
+       u32 tag;
+       u32 size;
+};
+
+/* Points to a CBMEM entry */
+struct lb_cbmem_ref {
+       u32 tag;
+       u32 size;
+
+       u64 cbmem_addr;
+};
+
+/* Corresponds to LB_TAG_CBMEM_ENTRY */
+struct lb_cbmem_entry {
+       u32 tag;
+       u32 size;
+
+       u64 address;
+       u32 entry_size;
+       u32 id;
+};
+
+/* Describes framebuffer setup by coreboot */
+struct lb_framebuffer {
+       u32 tag;
+       u32 size;
+
+       u64 physical_address;
+       u32 x_resolution;
+       u32 y_resolution;
+       u32 bytes_per_line;
+       u8  bits_per_pixel;
+       u8  red_mask_pos;
+       u8  red_mask_size;
+       u8  green_mask_pos;
+       u8  green_mask_size;
+       u8  blue_mask_pos;
+       u8  blue_mask_size;
+       u8  reserved_mask_pos;
+       u8  reserved_mask_size;
+};
+
+#endif /* _LINUX_COREBOOT_H */
-- 
2.52.0

Reply via email to