All of lore.kernel.org
 help / color / mirror / Atom feed
From: Al Stone <al.stone@linaro.org>
To: "Rafael J. Wysocki" <rafael@kernel.org>
Cc: ACPI Devel Maling List <linux-acpi@vger.kernel.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"Rafael J. Wysocki" <rjw@rjwysocki.net>,
	Len Brown <lenb@kernel.org>,
	Catalin Marinas <catalin.marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>,
	Thomas Gleixner <tglx@linutronix.de>,
	Jason Cooper <jason@lakedaemon.net>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	"linaro-acpi@lists.linaro.org" <linaro-acpi@lists.linaro.org>,
	Lists linaro-kernel <linaro-kernel@lists.linaro.org>,
	"patches@linaro.org" <patches@linaro.org>
Subject: Re: [PATCH v2 1/3] ACPI : introduce macros for using the ACPI specification version
Date: Tue, 30 Jun 2015 15:15:14 -0600	[thread overview]
Message-ID: <559306E2.7000901@linaro.org> (raw)
In-Reply-To: <CAJZ5v0hO_nmccyGR58CO3rEy55E3PNJXWSmGxtimVsZHfPzQnw@mail.gmail.com>

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@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@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@linaro.org
-----------------------------------

WARNING: multiple messages have this Message-ID (diff)
From: al.stone@linaro.org (Al Stone)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/3] ACPI : introduce macros for using the ACPI specification version
Date: Tue, 30 Jun 2015 15:15:14 -0600	[thread overview]
Message-ID: <559306E2.7000901@linaro.org> (raw)
In-Reply-To: <CAJZ5v0hO_nmccyGR58CO3rEy55E3PNJXWSmGxtimVsZHfPzQnw@mail.gmail.com>

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@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@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
-----------------------------------

  reply	other threads:[~2015-06-30 21:15 UTC|newest]

Thread overview: 62+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-06-18 22:36 [PATCH v2 0/3] Correct for ACPI 5.1->6.0 spec changes in MADT GICC entries Al Stone
2015-06-18 22:36 ` Al Stone
2015-06-18 22:36 ` [PATCH v2 1/3] ACPI : introduce macros for using the ACPI specification version Al Stone
2015-06-18 22:36   ` Al Stone
2015-06-19 10:49   ` Hanjun Guo
2015-06-19 10:49     ` Hanjun Guo
2015-06-19 10:49     ` Hanjun Guo
2015-06-19 20:01     ` Al Stone
2015-06-19 20:01       ` Al Stone
2015-06-19 20:01       ` Al Stone
2015-06-30 20:12   ` Rafael J. Wysocki
2015-06-30 20:12     ` Rafael J. Wysocki
2015-06-30 21:15     ` Al Stone [this message]
2015-06-30 21:15       ` Al Stone
2015-07-01  2:30       ` Hanjun Guo
2015-07-01  2:30         ` Hanjun Guo
2015-06-18 22:36 ` [PATCH v2 2/3] ACPI: add BAD_MADT_GICC_ENTRY() macro Al Stone
2015-06-18 22:36   ` Al Stone
2015-06-19 10:49   ` Hanjun Guo
2015-06-19 10:49     ` Hanjun Guo
2015-06-19 10:49     ` Hanjun Guo
2015-06-19 20:02     ` Al Stone
2015-06-19 20:02       ` Al Stone
2015-06-19 20:02       ` Al Stone
2015-06-18 22:36 ` [PATCH v2 3/3] ACPI / ARM64 : use the new BAD_MADT_GICC_ENTRY macro Al Stone
2015-06-18 22:36   ` Al Stone
2015-06-19  9:46   ` Will Deacon
2015-06-19  9:46     ` Will Deacon
2015-06-19 20:03     ` Al Stone
2015-06-19 20:03       ` Al Stone
2015-06-19 20:03       ` Al Stone
2015-06-19 10:52   ` Hanjun Guo
2015-06-19 10:52     ` Hanjun Guo
2015-06-19 10:52     ` Hanjun Guo
2015-06-19 10:54 ` [PATCH v2 0/3] Correct for ACPI 5.1->6.0 spec changes in MADT GICC entries Hanjun Guo
2015-06-19 10:54   ` Hanjun Guo
2015-06-19 10:54   ` Hanjun Guo
2015-06-19 20:05   ` Al Stone
2015-06-19 20:05     ` Al Stone
2015-06-19 20:05     ` Al Stone
2015-06-30 17:07 ` Sudeep Holla
2015-06-30 17:07   ` Sudeep Holla
2015-06-30 17:29   ` Al Stone
2015-06-30 17:29     ` Al Stone
2015-06-30 18:25     ` Rafael J. Wysocki
2015-06-30 18:25       ` Rafael J. Wysocki
2015-06-30 18:35       ` Rafael J. Wysocki
2015-06-30 18:35         ` Rafael J. Wysocki
2015-07-01  2:06         ` Hanjun Guo
2015-07-01  2:06           ` Hanjun Guo
2015-07-02 18:25           ` Al Stone
2015-07-02 18:25             ` Al Stone
2015-06-30 18:39       ` Al Stone
2015-06-30 18:39         ` Al Stone
2015-06-30 19:05         ` Rafael J. Wysocki
2015-06-30 19:05           ` Rafael J. Wysocki
2015-06-30 19:57           ` Al Stone
2015-06-30 19:57             ` Al Stone
2015-06-30 19:45       ` Al Stone
2015-06-30 19:45         ` Al Stone
2015-06-30 19:58         ` Rafael J. Wysocki
2015-06-30 19:58           ` Rafael J. Wysocki

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=559306E2.7000901@linaro.org \
    --to=al.stone@linaro.org \
    --cc=catalin.marinas@arm.com \
    --cc=jason@lakedaemon.net \
    --cc=lenb@kernel.org \
    --cc=linaro-acpi@lists.linaro.org \
    --cc=linaro-kernel@lists.linaro.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=patches@linaro.org \
    --cc=rafael@kernel.org \
    --cc=rjw@rjwysocki.net \
    --cc=tglx@linutronix.de \
    --cc=will.deacon@arm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.