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

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

From: Al Stone <hidden>
Date: 2015-06-30 21:15:26
Also in: linux-acpi, lkml

On 06/30/2015 02:12 PM, Rafael J. Wysocki wrote:
Hi Al,

On Fri, Jun 19, 2015 at 12:36 AM, Al Stone [off-list ref] wrote:
quoted
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.
Bah.  That was being sloppy on my part.  Sorry about that.  Will fix.
Moreover, it is not entirely clear why the macro is specific to the
computation of the ACPI spec version.
As far as I know, that's the only way to extract the spec version from
tables; I don't recall there being any other table with that info.  Since
I will likely use this again, it seemed to make sense at the time.
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
Sure.  That makes sense.  It makes it clearer that this is the version
just from the FADT.  I'll do that.

-- 
ciao,
al
-----------------------------------
Al Stone
Software Engineer
Linaro Enterprise Group
al.stone at linaro.org
-----------------------------------
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help