aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 b7557f7f3fd..8275c36ad31 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 d2505e6eaa4..59f951cba45 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)