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