summaryrefslogtreecommitdiff
path: root/arch/x86/lib/acpi_table.c
diff options
context:
space:
mode:
authorHeinrich Schuchardt <heinrich.schuchardt@canonical.com>2025-03-22 00:21:18 +0100
committerTom Rini <trini@konsulko.com>2025-04-08 15:22:56 -0600
commite0055ac9bbd3059c961b1d7f98dcff276502c847 (patch)
tree271c6a2dc12f96739a9495db3ac85e09ab95599d /arch/x86/lib/acpi_table.c
parentbbc78592b16d164fbb252455d6a60afb3ee52709 (diff)
x86/acpi: simplify updating header checksum
Use acpi_update_checksum() for updating ACPI table header checksum. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Matthias Brugger <mbrugger@suse.com>
Diffstat (limited to 'arch/x86/lib/acpi_table.c')
-rw-r--r--arch/x86/lib/acpi_table.c11
1 files changed, 4 insertions, 7 deletions
diff --git a/arch/x86/lib/acpi_table.c b/arch/x86/lib/acpi_table.c
index 3186e48d63b..b13292c4150 100644
--- a/arch/x86/lib/acpi_table.c
+++ b/arch/x86/lib/acpi_table.c
@@ -173,7 +173,7 @@ int acpi_write_tcpa(struct acpi_ctx *ctx, const struct acpi_writer *entry)
/* (Re)calculate length and checksum */
current = (u32)tcpa + sizeof(struct acpi_tcpa);
header->length = current - (u32)tcpa;
- header->checksum = table_compute_checksum(tcpa, header->length);
+ acpi_update_checksum(header);
acpi_inc(ctx, tcpa->header.length);
acpi_add_table(ctx, tcpa);
@@ -242,7 +242,7 @@ static int acpi_write_tpm2(struct acpi_ctx *ctx,
tpm2->lasa = nomap_to_sysmem(lasa);
/* Calculate checksum. */
- header->checksum = table_compute_checksum(tpm2, header->length);
+ acpi_update_checksum(header);
acpi_inc(ctx, tpm2->header.length);
acpi_add_table(ctx, tpm2);
@@ -279,9 +279,7 @@ int acpi_write_gnvs(struct acpi_ctx *ctx, const struct acpi_writer *entry)
* patched the GNVS address. Set the checksum to zero since it
* is part of the region being checksummed.
*/
- ctx->dsdt->checksum = 0;
- ctx->dsdt->checksum = table_compute_checksum((void *)ctx->dsdt,
- ctx->dsdt->length);
+ acpi_update_checksum(ctx->dsdt);
}
/* Fill in platform-specific global NVS variables */
@@ -330,8 +328,7 @@ static int acpi_create_hpet(struct acpi_hpet *hpet)
hpet->number = 0;
hpet->min_tick = 0; /* HPET_MIN_TICKS */
- header->checksum = table_compute_checksum(hpet,
- sizeof(struct acpi_hpet));
+ acpi_update_checksum(header);
return 0;
}