Hi, > From: Hanjun Guo [mailto:hanjun.guo@linaro.org] > Sent: Thursday, June 05, 2014 12:11 PM > To: Zheng, Lv; Lee Jones; Rafael J. Wysocki > > On 2014-6-5 9:14, Zheng, Lv wrote: > > Hi, Lee > > > >> From: Lee Jones [mailto:lee.jones@linaro.org] > >> Sent: Wednesday, June 04, 2014 8:52 PM > >> To: Rafael J. Wysocki > >> > >> On Wed, 04 Jun 2014, Rafael J. Wysocki wrote: > >> > >>> On Wednesday, June 04, 2014 01:09:50 PM Lee Jones wrote: > >>>> Any drivers which support ACPI and Device Tree probing need to include > >>>> both respective header files. Without this patch, if a driver is being > >>>> used on a platform which does not support ACPI and subsequently does not > >>>> have the config option enabled, but includes linux/acpi.h the build > >>>> breaks with: > >>>> > >>>> In file included from ../include/acpi/platform/acenv.h:150:0, > >>>> from ../include/acpi/acpi.h:56, > >>>> from ../include/linux/match.h:2, > >>>> from ../drivers/i2c/i2c-core.c:43: > >>>> ../include/acpi/platform/aclinux.h:73:23: > >>>> fatal error: asm/acenv.h: No such file or directory > >>>> #include > >>>> ^ > > > > Note that: > > In our tree: > > is only included by . > > And is only included by > > 1. when CONFIG_ACPI enabled > > 2. - this is x86 specific, we'll clean it up by implementing stubs for all ACPI external interfaces. > > So there is no case we need to exclude when CONFIG_ACPI is not enabled. > > > > I cannot find linux/match.h here. > > If want to include ACPI features, it shouldn't include , but should include . > > Please refer to: > > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=8b48463f > > And stop including directly in any cases. > > Ah, I agree, please ignore my previous email, > sorry for the noise. > > Since it is very important to include but not , > can we document it somewhere as the guidance? Then people will not > make such mistake :) After I test the ACPICA stubs and remove the only abnormal direct inclusion from . We could have a commit to add something like: #ifndef _LINUX_ACPI_H #error .... #endif To the (the Linux OSL for ACPICA headers, it is included by ). Hope this can be the hint to prevent future mistakes. Thanks and best regards -Lv > > Thanks > Hanjun