This is the last series for ACPICA header inclusion cleanups. The whole story can be found below: 1. Unsafe inclusions: origin: https://lkml.org/lkml/2013/11/22/510 merged: https://lkml.org/lkml/2013/12/6/79 2. Header orders: origin: https://lkml.org/lkml/2014/4/8/57 merged: https://lkml.org/lkml/2014/5/12/111 3. Header stubs: origin: https://lkml.org/lkml/2014/12/18/149 merged: https://lkml.org/lkml/2014/4/29/716
This patchset contains patches that are parts of the last series sent before, so it is marked as v2 belonging to the same thread as this series: https://lkml.org/lkml/2014/12/18/149
Now we have cleaned up all mis-ordered ACPICA headers and implemented stubs for ACPICA prototypes (functions, global variables, macros), we finally can enable ACPICA headers for CONFIG_ACPI=n builds so that all ACPICA defined types are visible to all kernel source files.
After exposing ACPICA types to all kernel sources, we can also sort the final wrong <acpi/acpi.h> inclusion out of <linux/sfi_acpi.h>.
This patchset also includes a rule enforcement patch to avoid future inclusion mistakes.
The patch set has passed a build/boot test on the following machines: Dell Inspiron Mini 1010 (i386) HP Compaq 8200 Elite SFF PC (x86-64) With the following kernel configuration items enabled: All drivers/acpi configurations All platform drivers All ACPI drivers 4 DRM drivers that implement ACPI opregion All buses with ACPI bindings All cpufreq configurations All xen configurations All ACPI table drivers They are tested twice with CONFIG_ACPI enabled/disabled.
Also allyes/allno/allmod tests are done for ARCH=i386 and ARCH=x86_64.
A boot test has been done to ARCH=x86_64 default configuration and it is confirmed that the ACPI devices are successfully created under /sys/bus/acpi/devices when CONFIG_ACPI is enabled.
Lv Zheng (7): ACPICA: Linux: Add stub support for Linux specific variables and functions. ACPICA: Linux: Add stub implementation of ACPICA 64-bit mathematics. ACPICA: Linux: Add configuration item to indicate the architecture specific support. ACPICA: Linux: Allow ACPICA inclusion for CONFIG_ACPI=n builds. ACPI/SFI: Fix wrong <acpi/acpi.h> inclusion in SFI/ACPI wrapper - table definitions. ACPI: Cleanup useless ACPI inclusion. ACPI: Add support to force header inclusion rules for <acpi/acpi.h>.
arch/ia64/Kconfig | 1 + arch/x86/Kconfig | 1 + drivers/acpi/Kconfig | 4 ++++ drivers/acpi/acpica/Makefile | 2 +- drivers/acpi/bus.c | 3 --- include/acpi/acpixf.h | 28 +++++++++++++++++----------- include/acpi/platform/aclinux.h | 12 ++++++++++++ include/acpi/platform/aclinuxex.h | 22 ++++++++++++++++++++++ include/linux/acpi.h | 6 +++--- include/linux/sfi_acpi.h | 3 --- sound/soc/intel/sst-haswell-dsp.c | 3 --- 11 files changed, 61 insertions(+), 24 deletions(-)