Hi, Rafael > From: Wysocki, Rafael J > Sent: Tuesday, April 29, 2014 4:30 AM > > On 4/28/2014 5:02 AM, Zheng, Lv wrote: > > Hi, Rafael > > > >> From: linux-acpi-owner@xxxxxxxxxxxxxxx [mailto:linux-acpi-owner@xxxxxxxxxxxxxxx] 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@xxxxxxxxx> > >>> Cc: Tony Luck <tony.luck@xxxxxxxxx> > >>> Cc: Fenghua Yu <fenghua.yu@xxxxxxxxx> > >>> Cc: linux-ia64@xxxxxxxxxxxxxxx > >>> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx> > >>> Cc: Ingo Molnar <mingo@xxxxxxxxxx> > >>> Cc: "H. Peter Anvin" <hpa@xxxxxxxxx> > >>> Cc: x86@xxxxxxxxxx > >>> --- > >>> 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. Hmm, I'll refine the changelog in the next revision. :-) Thanks for the helping. Best regards -Lv ��.n��������+%������w��{.n�����{�����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f