aboutsummaryrefslogtreecommitdiff
path: root/arch/x86
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2021-12-01 09:02:54 -0700
committerSimon Glass <sjg@chromium.org>2022-01-25 11:44:36 -0700
commit138d7ece70e7835ffd120da254af1abdb953e6da (patch)
tree1e2f8f9acb123e92eef11347aa09c80b409dcbbf /arch/x86
parent32af3261f73a93d9561ac37bf5529899421e24d6 (diff)
downloadu-boot-138d7ece70e7835ffd120da254af1abdb953e6da.zip
u-boot-138d7ece70e7835ffd120da254af1abdb953e6da.tar.gz
u-boot-138d7ece70e7835ffd120da254af1abdb953e6da.tar.bz2
x86: Move FADT table to a writer function
Move this table over to use a writer function, for x86 only. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/x86')
-rw-r--r--arch/x86/lib/acpi_table.c22
1 files changed, 15 insertions, 7 deletions
diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c
index cff47b5..1f4b7fa 100644
--- a/arch/x86/lib/acpi_table.c
+++ b/arch/x86/lib/acpi_table.c
@@ -523,13 +523,27 @@ int acpi_write_gnvs(struct acpi_ctx *ctx, const struct acpi_writer *entry)
}
ACPI_WRITER(4gnvs, "GNVS", acpi_write_gnvs, 0);
+static int acpi_write_fadt(struct acpi_ctx *ctx,
+ const struct acpi_writer *entry)
+{
+ struct acpi_fadt *fadt;
+
+ fadt = ctx->current;
+ acpi_create_fadt(fadt, ctx->facs, ctx->dsdt);
+ acpi_add_table(ctx, fadt);
+
+ acpi_inc(ctx, sizeof(struct acpi_fadt));
+
+ return 0;
+}
+ACPI_WRITER(5fact, "FADT", acpi_write_fadt, 0);
+
/*
* QEMU's version of write_acpi_tables is defined in drivers/misc/qfw.c
*/
int write_acpi_tables_x86(struct acpi_ctx *ctx,
const struct acpi_writer *entry)
{
- struct acpi_fadt *fadt;
struct acpi_table_header *ssdt;
struct acpi_mcfg *mcfg;
struct acpi_tcpa *tcpa;
@@ -538,12 +552,6 @@ int write_acpi_tables_x86(struct acpi_ctx *ctx,
struct acpi_spcr *spcr;
int ret;
- debug("ACPI: * FADT\n");
- fadt = ctx->current;
- acpi_inc_align(ctx, sizeof(struct acpi_fadt));
- acpi_create_fadt(fadt, ctx->facs, ctx->dsdt);
- acpi_add_table(ctx, fadt);
-
debug("ACPI: * SSDT\n");
ssdt = (struct acpi_table_header *)ctx->current;
if (!acpi_create_ssdt(ctx, ssdt, OEM_TABLE_ID))