[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <535EBA4B.5090305@intel.com>
Date: Mon, 28 Apr 2014 22:30:03 +0200
From: "Rafael J. Wysocki" <rafael.j.wysocki@...el.com>
To: "Zheng, Lv" <lv.zheng@...el.com>,
"Rafael J. Wysocki" <rjw@...ysocki.net>
CC: "Brown, Len" <len.brown@...el.com>, Lv Zheng <zetalog@...il.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>,
"Luck, Tony" <tony.luck@...el.com>,
"Yu, Fenghua" <fenghua.yu@...el.com>,
"linux-ia64@...r.kernel.org" <linux-ia64@...r.kernel.org>,
Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>, "x86@...nel.org" <x86@...nel.org>
Subject: Re: [PATCH v2 3/5] ACPICA: Add <asm/acenv.h> to remove mis-ordered
inclusion of <asm/acpi.h> from <acpi/platform/aclinux.h>.
On 4/28/2014 5:02 AM, Zheng, Lv wrote:
> Hi, Rafael
>
>> From: linux-acpi-owner@...r.kernel.org [mailto:linux-acpi-owner@...r.kernel.org] On Behalf Of Rafael J. Wysocki
>> Sent: Monday, April 28, 2014 5:37 AM
>> To: Zheng, Lv
>>
>> On Wednesday, April 23, 2014 02:54:06 PM Lv Zheng wrote:
>>> There is a mis-order inclusion for <asm/acpi.h>.
>>>
>>> As we will enforce including <linux/acpi.h> for all Linux ACPI users, we
>>> can find the inclusion order is as follows:
>>>
>>> <linux/acpi.h>
>>> <acpi/acpi.h>
>>> <acpi/platform/acenv.h>
>>> (acenv.h before including aclinux.h)
>>> <acpi/platform/aclinux.h>
>>> ...........................................................................
>>> (aclinux.h before including asm/acpi.h)
>>> <asm/acpi.h> @Redundant@
>>> (ACPICA specific stuff)
>>> ...........................................................................
>>> ...........................................................................
>>> (Linux ACPI specific stuff) ? - - - - - - - - - - - - +
>>> (aclinux.h after including asm/acpi.h) @Invisible@ |
>>> (acenv.h after including aclinux.h) @Invisible@ |
>>> other ACPICA headers @Invisible@ |
>>> ............................................................|..............
>>> <acpi/acpi_bus.h> |
>>> <acpi/acpi_drivers.h> |
>>> <asm/acpi.h> (Excluded) |
>>> (Linux ACPI specific stuff) ! <- - - - - - - - - - - - - +
>>>
>>> NOTE that, in ACPICA, <acpi/platform/acenv.h> is more like Kconfig
>>> generated <generated/autoconf.h> for Linux, it is meant to be included
>>> before including any ACPICA code.
>>>
>>> In the above figure, there is a question mark for "Linux ACPI specific
>>> stuff" in <asm/acpi.h> which should be included after including all other
>>> ACPICA header files. Thus they really need to be moved to the position
>>> marked with exclaimation mark or the definitions in the blocks marked with
>>> "@Invisible@" will be invisible to such architecture specific "Linux ACPI
>>> specific stuff" header blocks. This leaves 2 issues:
>>> 1. All environmental definitions in these blocks should have a copy in the
>>> area marked with "@Redundant@" if they are required by the "Linux ACPI
>>> specific stuff".
>>> 2. We cannot use any ACPICA defined types in <asm/acpi.h>.
>>>
>>> This patch splits architecture specific ACPICA stuff from <asm/acpi.h> to
>>> fix this issue.
>>>
>>> Signed-off-by: Lv Zheng <lv.zheng@...el.com>
>>> Cc: Tony Luck <tony.luck@...el.com>
>>> Cc: Fenghua Yu <fenghua.yu@...el.com>
>>> Cc: linux-ia64@...r.kernel.org
>>> Cc: Thomas Gleixner <tglx@...utronix.de>
>>> Cc: Ingo Molnar <mingo@...hat.com>
>>> Cc: "H. Peter Anvin" <hpa@...or.com>
>>> Cc: x86@...nel.org
>>> ---
>>> arch/ia64/include/asm/acenv.h | 71 +++++++++++++++++++++++++++++++++++++++
>>> arch/ia64/include/asm/acpi.h | 50 ---------------------------
>>> arch/x86/include/asm/acenv.h | 65 +++++++++++++++++++++++++++++++++++
>>> arch/x86/include/asm/acpi.h | 45 -------------------------
>>> include/acpi/platform/aclinux.h | 2 +-
>> Please rename the files first (in a separate patch) and then modify the
>> renamed ones. That will make changes much easier to follow.
> This patch doesn't provide a rename.
> Currently, <asm/acpi.h> includes:
> 1. arch specific ACPI stuff
> 2. arch specific ACPICA stuff
> This patch moves "2" to a separate file <asm/acenv.h>, thus no renaming happens here.
Ah, I overlooked that, sorry.
Which I might not do if the changelog said what the patch was really doing.
Thanks,
Rafael
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists