lkml.org 
[lkml]   [2014]   [Apr]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [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@vger.kernel.org [mailto:linux-acpi-owner@vger.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@intel.com>
>>> Cc: Tony Luck <tony.luck@intel.com>
>>> Cc: Fenghua Yu <fenghua.yu@intel.com>
>>> Cc: linux-ia64@vger.kernel.org
>>> Cc: Thomas Gleixner <tglx@linutronix.de>
>>> Cc: Ingo Molnar <mingo@redhat.com>
>>> Cc: "H. Peter Anvin" <hpa@zytor.com>
>>> Cc: x86@kernel.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



\
 
 \ /
  Last update: 2014-04-28 23:01    [W:0.084 / U:0.112 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site