diff options
| author | Heinrich Schuchardt <heinrich.schuchardt@canonical.com> | 2025-03-22 00:21:18 +0100 | 
|---|---|---|
| committer | Tom Rini <trini@konsulko.com> | 2025-04-08 15:22:56 -0600 | 
| commit | e0055ac9bbd3059c961b1d7f98dcff276502c847 (patch) | |
| tree | 271c6a2dc12f96739a9495db3ac85e09ab95599d | |
| parent | bbc78592b16d164fbb252455d6a60afb3ee52709 (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>
| -rw-r--r-- | arch/x86/cpu/apollolake/hostbridge.c | 2 | ||||
| -rw-r--r-- | arch/x86/lib/acpi_nhlt.c | 2 | ||||
| -rw-r--r-- | arch/x86/lib/acpi_table.c | 11 | 
3 files changed, 6 insertions, 9 deletions
| diff --git a/arch/x86/cpu/apollolake/hostbridge.c b/arch/x86/cpu/apollolake/hostbridge.c index 039236df02d..284f16cfd91 100644 --- a/arch/x86/cpu/apollolake/hostbridge.c +++ b/arch/x86/cpu/apollolake/hostbridge.c @@ -298,7 +298,7 @@ static int apl_acpi_hb_write_tables(const struct udevice *dev,  	/* (Re)calculate length and checksum */  	header->length = ctx->current - (void *)dmar; -	header->checksum = table_compute_checksum((void *)dmar, header->length); +	acpi_update_checksum(header);  	acpi_align(ctx);  	acpi_add_table(ctx, dmar); diff --git a/arch/x86/lib/acpi_nhlt.c b/arch/x86/lib/acpi_nhlt.c index 880ef31df7d..8aae5fa5af7 100644 --- a/arch/x86/lib/acpi_nhlt.c +++ b/arch/x86/lib/acpi_nhlt.c @@ -414,7 +414,7 @@ int nhlt_serialise_oem_overrides(struct acpi_ctx *ctx, struct nhlt *nhlt,  	cur.start = (void *)header;  	nhlt_serialise_endpoints(nhlt, &cur); -	header->checksum = table_compute_checksum(header, sz); +	acpi_update_checksum(header);  	nhlt_free_resources(nhlt);  	assert(cur.buf - cur.start == sz); 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;  } | 
