[PATCH V14 02/10] ras: acpi/apei: cper: generic error data entry v3 per ACPI 6.1
From: joe@perches.com (Joe Perches)
Date: 2017-04-12 16:41:02
Also in:
kvm, kvmarm, linux-acpi, linux-efi, lkml
On Wed, 2017-04-12 at 15:34 +0200, Borislav Petkov wrote:
On Tue, Mar 28, 2017 at 01:30:32PM -0600, Tyler Baicar wrote:quoted
Currently when a RAS error is reported it is not timestamped.
[]
quoted
diff --git a/include/acpi/ghes.h b/include/acpi/ghes.h
[]
quoted
+#define acpi_hest_generic_data_error_length(gdata) \ + (((struct acpi_hest_generic_data *)(gdata))->error_data_length) +#define acpi_hest_generic_data_size(gdata) \ + ((acpi_hest_generic_data_version(gdata) >= 3) ? \ + sizeof(struct acpi_hest_generic_data_v300) : \ + sizeof(struct acpi_hest_generic_data)) +#define acpi_hest_generic_data_record_size(gdata) \ + (acpi_hest_generic_data_size(gdata) + \ + acpi_hest_generic_data_error_length(gdata)) +#define acpi_hest_generic_data_next(gdata) \ + ((void *)(gdata) + acpi_hest_generic_data_record_size(gdata))This is one unreadable pile of too long names with a clearly redundant and too long prefix. Please shorten it all.
Naming is generally author's choice and internal consistency has value too. acpi_hest_generic<foo> is already used throughout this codebase in multiple files and paths.
quoted
@@ -73,3 +85,13 @@ static inline void ghes_edac_unregister(struct ghes *ghes) { } #endif + +#define acpi_hest_generic_data_version(gdata) \ + (gdata->revision >> 8) + +static inline void *acpi_hest_generic_data_payload(struct acpi_hest_generic_data *gdata)Lemme try to shorten it: static inline void *acpi_hest_get_payload(struct acpi_hest_gdata *d) { if (hest_gdata_ver(d) >= 3) return (void *)(((struct acpi_hest_gdata_v3 *)d) + 1); else return d + 1; } Now this is much more readable IMO. You can actually see what's going on. And you still know what the struct names are.
trivial: unnecessary cast to void *