diff options
Diffstat (limited to 'drivers/firmware/google/coreboot_table.c')
-rw-r--r-- | drivers/firmware/google/coreboot_table.c | 43 |
1 files changed, 0 insertions, 43 deletions
diff --git a/drivers/firmware/google/coreboot_table.c b/drivers/firmware/google/coreboot_table.c index 04fc08e81744..19db5709ae28 100644 --- a/drivers/firmware/google/coreboot_table.c +++ b/drivers/firmware/google/coreboot_table.c @@ -97,49 +97,6 @@ void coreboot_driver_unregister(struct coreboot_driver *driver) } EXPORT_SYMBOL(coreboot_driver_unregister); -/* - * This function parses the coreboot table for an entry that contains the base - * address of the given entry tag. The coreboot table consists of a header - * directly followed by a number of small, variable-sized entries, which each - * contain an identifying tag and their length as the first two fields. - */ -int coreboot_table_find(int tag, void *data, size_t data_size) -{ - struct coreboot_table_header header; - struct coreboot_table_entry entry; - void *ptr_entry; - int i; - - if (!ptr_header) - return -EPROBE_DEFER; - - memcpy_fromio(&header, ptr_header, sizeof(header)); - - if (strncmp(header.signature, "LBIO", sizeof(header.signature))) { - pr_warn("coreboot_table: coreboot table missing or corrupt!\n"); - return -ENODEV; - } - - ptr_entry = (void *)ptr_header + header.header_bytes; - - for (i = 0; i < header.table_entries; i++) { - memcpy_fromio(&entry, ptr_entry, sizeof(entry)); - if (entry.tag == tag) { - if (data_size < entry.size) - return -EINVAL; - - memcpy_fromio(data, ptr_entry, entry.size); - - return 0; - } - - ptr_entry += entry.size; - } - - return -ENOENT; -} -EXPORT_SYMBOL(coreboot_table_find); - int coreboot_table_init(struct device *dev, void __iomem *ptr) { int i, ret; |