[PATCH v4 0/6] firmware: coreboot: Fix probe and simplify code

From: Stephen Boyd
Date: Wed Aug 15 2018 - 16:37:13 EST


This series reworks the coreboot firmware driver a bit to fix some bugs
and then simplify the code by changing the design to get rid of the
different platform drivers, remap memory with memremap() to fix sparse
__iomem issue, and finally simplify code. There's some risk in changing to
memremap() but I think that should work out alright. It will either return
memory directly, or fallback to ioremap_cache() as has been done before.

Changes from v3:
* Dropped last patch for resource reservation
* Pick up review tags on patch#1
* Always unmap memory for table instead of keep it around

Changes from v2:
* A bunch more patches
* Fix iounmap missing on error path
* Fix bus getting unregistered on driver unbind and never registered
again
* Request exclusive access to table region
* Pull out table signature check to driver probe

Changes from v1:
* Split out fixlet for DT based driver from platform driver change

Cc: Wei-Ning Huang <wnhuang@xxxxxxxxxxxx>
Cc: Julius Werner <jwerner@xxxxxxxxxxxx>
Cc: Brian Norris <briannorris@xxxxxxxxxxxx>
Cc: Samuel Holland <samuel@xxxxxxxxxxxx>

Stephen Boyd (6):
firmware: coreboot: Let OF core populate platform device
firmware: coreboot: Unmap ioregion after device population
firmware: coreboot: Make bus registration symmetric
firmware: coreboot: Collapse platform drivers into bus core
firmware: coreboot: Remap RAM with memremap() instead of ioremap()
firmware: coreboot: Only populate devices in coreboot_table_init()

drivers/firmware/google/Kconfig | 26 ++--
drivers/firmware/google/Makefile | 2 -
drivers/firmware/google/coreboot_table-acpi.c | 88 ------------
drivers/firmware/google/coreboot_table-of.c | 82 ------------
drivers/firmware/google/coreboot_table.c | 126 ++++++++++++------
drivers/firmware/google/coreboot_table.h | 6 -
6 files changed, 98 insertions(+), 232 deletions(-)
delete mode 100644 drivers/firmware/google/coreboot_table-acpi.c
delete mode 100644 drivers/firmware/google/coreboot_table-of.c

--
Sent by a computer through tubes