summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-12-01 09:03:02 -0700
committerSimon Glass <sjg@chromium.org>2022-01-25 11:44:36 -0700
commita7e53b93b1ca4de745ab5fbdd3db2bd7888adb0f (patch)
tree5f5fed00eeacbeb05105df73a3b0b7163a3d6c3a
parent78031ad43168d13de5c9ecf72877e8d5d35f749a (diff)
x86: Move device-specific ACPI tables to a writer function
Move this over to use a writer function, moving the code from the x86 implementation. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--arch/x86/lib/acpi_table.c2
-rw-r--r--lib/acpi/acpi_writer.c12
2 files changed, 12 insertions, 2 deletions
diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c
index b7557f7f3f..8275c36ad3 100644
--- a/arch/x86/lib/acpi_table.c
+++ b/arch/x86/lib/acpi_table.c
@@ -519,8 +519,6 @@ ACPI_WRITER(5mcfg, "MCFG", acpi_write_mcfg, 0);
int write_acpi_tables_x86(struct acpi_ctx *ctx,
const struct acpi_writer *entry)
{
- acpi_write_dev_tables(ctx);
-
acpi_rsdp_addr = (unsigned long)ctx->rsdp;
debug("ACPI: done\n");
diff --git a/lib/acpi/acpi_writer.c b/lib/acpi/acpi_writer.c
index d2505e6eaa..59f951cba4 100644
--- a/lib/acpi/acpi_writer.c
+++ b/lib/acpi/acpi_writer.c
@@ -90,6 +90,18 @@ ulong write_acpi_tables(ulong start_addr)
return addr;
}
+
+int write_dev_tables(struct acpi_ctx *ctx, const struct acpi_writer *entry)
+{
+ int ret;
+
+ ret = acpi_write_dev_tables(ctx);
+ if (ret)
+ return log_msg_ret("write", ret);
+
+ return 0;
+}
+ACPI_WRITER(8dev, NULL, write_dev_tables, 0);
#endif /* QEMU */
void acpi_setup_ctx(struct acpi_ctx *ctx, ulong start)