public inbox for linux-ia64@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/7] ACPICA: Enable ACPICA prototypes for CONFIG_ACPI=n builds.
       [not found] <cover.1387336613.git.lv.zheng@intel.com>
@ 2014-07-07  4:16 ` Lv Zheng
  2014-07-07  4:17   ` [PATCH v2 3/7] ACPICA: Linux: Add configuration item to indicate the architecture specific support Lv Zheng
  0 siblings, 1 reply; 2+ messages in thread
From: Lv Zheng @ 2014-07-07  4:16 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, x86, linux-ia64,
	sfi-devel, alsa-devel

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(-)

-- 
1.7.10


^ permalink raw reply	[flat|nested] 2+ messages in thread

* [PATCH v2 3/7] ACPICA: Linux: Add configuration item to indicate the architecture specific support.
  2014-07-07  4:16 ` [PATCH v2 0/7] ACPICA: Enable ACPICA prototypes for CONFIG_ACPI=n builds Lv Zheng
@ 2014-07-07  4:17   ` Lv Zheng
  0 siblings, 0 replies; 2+ messages in thread
From: Lv Zheng @ 2014-07-07  4:17 UTC (permalink / raw)
  To: Rafael J. Wysocki, Len Brown
  Cc: Lv Zheng, Lv Zheng, linux-kernel, linux-acpi, Thomas Gleixner,
	Ingo Molnar, H. Peter Anvin, x86, Tony Luck, Fenghua Yu,
	linux-ia64

This patch adds a kernel configuration item to indicate the presense of
the architecture specific support for ACPICA, so that <asm/acenv.h>
inclusion can be configured out.

Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Ingo Molnar <mingo@redhat.com>
Cc: "H. Peter Anvin" <hpa@zytor.com>
Cc: x86@kernel.org
Cc: Tony Luck <tony.luck@intel.com>
Cc: Fenghua Yu <fenghua.yu@intel.com>
Cc: linux-ia64@vger.kernel.org
---
 arch/ia64/Kconfig               |    1 +
 arch/x86/Kconfig                |    1 +
 drivers/acpi/Kconfig            |    4 ++++
 include/acpi/platform/aclinux.h |    2 ++
 4 files changed, 8 insertions(+)

diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig
index 2f3abcf..a822dd1 100644
--- a/arch/ia64/Kconfig
+++ b/arch/ia64/Kconfig
@@ -47,6 +47,7 @@ config IA64
 	select MODULES_USE_ELF_RELA
 	select ARCH_USE_CMPXCHG_LOCKREF
 	select HAVE_ARCH_AUDITSYSCALL
+	select HAVE_ARCH_ACPICA
 	default y
 	help
 	  The Itanium Processor Family is Intel's 64-bit successor to
diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig
index a8f749e..16f3197 100644
--- a/arch/x86/Kconfig
+++ b/arch/x86/Kconfig
@@ -131,6 +131,7 @@ config X86
 	select HAVE_CC_STACKPROTECTOR
 	select GENERIC_CPU_AUTOPROBE
 	select HAVE_ARCH_AUDITSYSCALL
+	select HAVE_ARCH_ACPICA
 
 config INSTRUCTION_DECODER
 	def_bool y
diff --git a/drivers/acpi/Kconfig b/drivers/acpi/Kconfig
index a34a228..0cd63af4 100644
--- a/drivers/acpi/Kconfig
+++ b/drivers/acpi/Kconfig
@@ -2,8 +2,12 @@
 # ACPI Configuration
 #
 
+config HAVE_ARCH_ACPICA
+	bool
+
 menuconfig ACPI
 	bool "ACPI (Advanced Configuration and Power Interface) Support"
+	depends on HAVE_ARCH_ACPICA
 	depends on !IA64_HP_SIM
 	depends on IA64 || X86
 	depends on PCI
diff --git a/include/acpi/platform/aclinux.h b/include/acpi/platform/aclinux.h
index cd1f052..d63a54b4 100644
--- a/include/acpi/platform/aclinux.h
+++ b/include/acpi/platform/aclinux.h
@@ -70,7 +70,9 @@
 #ifdef EXPORT_ACPI_INTERFACES
 #include <linux/export.h>
 #endif
+#ifdef CONFIG_HAVE_ARCH_ACPICA
 #include <asm/acenv.h>
+#endif
 
 #ifndef CONFIG_ACPI
 
-- 
1.7.10


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2014-07-07  4:17 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <cover.1387336613.git.lv.zheng@intel.com>
2014-07-07  4:16 ` [PATCH v2 0/7] ACPICA: Enable ACPICA prototypes for CONFIG_ACPI=n builds Lv Zheng
2014-07-07  4:17   ` [PATCH v2 3/7] ACPICA: Linux: Add configuration item to indicate the architecture specific support Lv Zheng

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox