diff options
author | Lv Zheng <lv.zheng@intel.com> | 2014-07-16 04:58:53 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-07-22 19:10:45 -0400 |
commit | 417b4a73b62760db67512892c32f8acc008ab54e (patch) | |
tree | 9729e9eb4c52db8d3df5d3c68ab1cbe84643790e | |
parent | f997ea54479e85076873a70fe53e66c9153e6f00 (diff) |
ACPI: Add support to force header inclusion rules for <acpi/acpi.h>.
As there is only CONFIG_ACPI=n processing in the <linux/acpi.h>, it is not
safe to include <acpi/acpi.h> directly for source out of Linux ACPI
subsystems.
This patch adds error messaging to warn developers of such wrong
inclusions.
In order not to be bisected and reverted as a wrong commit, warning
messages are carefully split into a seperate patch other than the wrong
inclusion cleanups.
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
-rw-r--r-- | drivers/acpi/acpica/Makefile | 2 | ||||
-rw-r--r-- | include/acpi/platform/aclinux.h | 10 |
2 files changed, 11 insertions, 1 deletions
diff --git a/drivers/acpi/acpica/Makefile b/drivers/acpi/acpica/Makefile index 8bb43f06e11f..87a24ac21363 100644 --- a/drivers/acpi/acpica/Makefile +++ b/drivers/acpi/acpica/Makefile | |||
@@ -2,7 +2,7 @@ | |||
2 | # Makefile for ACPICA Core interpreter | 2 | # Makefile for ACPICA Core interpreter |
3 | # | 3 | # |
4 | 4 | ||
5 | ccflags-y := -Os | 5 | ccflags-y := -Os -DBUILDING_ACPICA |
6 | ccflags-$(CONFIG_ACPI_DEBUG) += -DACPI_DEBUG_OUTPUT | 6 | ccflags-$(CONFIG_ACPI_DEBUG) += -DACPI_DEBUG_OUTPUT |
7 | 7 | ||
8 | # use acpi.o to put all files here into acpi.o modparam namespace | 8 | # use acpi.o to put all files here into acpi.o modparam namespace |
diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h index dfba35476b8a..1ba7c190c2cc 100644 --- a/include/acpi/platform/aclinux.h +++ b/include/acpi/platform/aclinux.h | |||
@@ -44,6 +44,16 @@ | |||
44 | #ifndef __ACLINUX_H__ | 44 | #ifndef __ACLINUX_H__ |
45 | #define __ACLINUX_H__ | 45 | #define __ACLINUX_H__ |
46 | 46 | ||
47 | #ifdef __KERNEL__ | ||
48 | |||
49 | /* ACPICA external files should not include ACPICA headers directly. */ | ||
50 | |||
51 | #if !defined(BUILDING_ACPICA) && !defined(_LINUX_ACPI_H) | ||
52 | #error "Please don't include <acpi/acpi.h> directly, include <linux/acpi.h> instead." | ||
53 | #endif | ||
54 | |||
55 | #endif | ||
56 | |||
47 | /* Common (in-kernel/user-space) ACPICA configuration */ | 57 | /* Common (in-kernel/user-space) ACPICA configuration */ |
48 | 58 | ||
49 | #define ACPI_USE_SYSTEM_CLIBRARY | 59 | #define ACPI_USE_SYSTEM_CLIBRARY |