Thread (27 messages) 27 messages, 7 authors, 2015-07-02

[PATCH v2 1/3] ACPI : introduce macros for using the ACPI specification version

From: rafael@kernel.org (Rafael J. Wysocki)
Date: 2015-06-30 20:12:46
Also in: linux-acpi, lkml

Hi Al,

On Fri, Jun 19, 2015 at 12:36 AM, Al Stone [off-list ref] wrote:
quoted hunk ↗ jump to hunk
Add the ACPI_SPEC_VERSION() macro to build a proper version number from
a major and minor revision number.  Add also the ACPI_FADT_SPEC_VERSION
that constructs a proper version number from the entries in the current
FADT.

These macros are added in order to simplify retrieving and comparing ACPI
specification version numbers, since this is becoming a more frequent need.
In particular, there are some architectures that require at least a certain
version of the spec, and there are differences in some structure sizes that
have changed with recent versions but can only be tracked by spec version
number.

Signed-off-by: Al Stone <redacted>
---
 include/linux/acpi.h | 5 +++++
 1 file changed, 5 insertions(+)
diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index a4acb55..33ed313 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -48,6 +48,11 @@
 #include <acpi/acpi_io.h>
 #include <asm/acpi.h>

+#define ACPI_SPEC_VERSION(major, minor)        ((major<<8)|minor)
One nit here.

acpi_gbl_FADT.header.revision is of type u8 originally, so shifting it
by 8 bit positions only works due to some implicit type casting I
suppose.

Moreover, it is not entirely clear why the macro is specific to the
computation of the ACPI spec version.

So I'd drop ACPI_SPEC_VERSION and only define ACPI_FADT_SPEC_VERSION
as something like

#define ACPI_FADT_SPEC_VERSION (((unsigned
int)acpi_gbl_FADT.header.revision << 8) | (unsigned
int)acpi_gbl_FADT.minor_revision)

Thanks,
Rafael
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help