[PATCH v2 1/3] ACPI : introduce macros for using the ACPI specification version
Rafael J. Wysocki
rafael at kernel.org
Tue Jun 30 13:12:34 PDT 2015
Hi Al,
On Fri, Jun 19, 2015 at 12:36 AM, Al Stone <al.stone at linaro.org> wrote:
> 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 <al.stone at linaro.org>
> ---
> 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
More information about the linux-arm-kernel
mailing list