Browse Source

ACPI / i915: Fix incorrect <acpi/acpi.h> inclusions via <linux/acpi_io.h>

To avoid build problems and breaking dependencies between ACPI header
files, <acpi/acpi.h> should not be included directly by code outside
of the ACPI core subsystem.  However, that is possible if
<linux/acpi_io.h> is included, because that file contains
a direct inclusion of <acpi/acpi.h>.

For this reason, remove the direct <acpi/acpi.h> inclusion from
<linux/acpi_io.h>, move that file from include/linux/ to include/acpi/
and make <linux/acpi.h> include it for CONFIG_ACPI set along with the
other ACPI header files.  Accordingly, Remove the inclusions of
<linux/acpi_io.h> from everywhere.

Of course, that causes the contents of the new <acpi/acpi_io.h> file
to be available for CONFIG_ACPI set only, so intel_opregion.o that
depends on it should also depend on CONFIG_ACPI (and it really should
not be compiled for CONFIG_ACPI unset anyway).

References: https://01.org/linuxgraphics/sites/default/files/documentation/acpi_igd_opregion_spec.pdf
Cc: Matthew Garrett <mjg59@srcf.ucam.org>
Signed-off-by: Lv Zheng <lv.zheng@intel.com>
Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch>
[rjw: Subject and changelog]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Lv Zheng 11 years ago
parent
commit
27d50c8271

+ 0 - 1
drivers/acpi/apei/apei-base.c

@@ -34,7 +34,6 @@
 #include <linux/module.h>
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/acpi.h>
 #include <linux/acpi.h>
-#include <linux/acpi_io.h>
 #include <linux/slab.h>
 #include <linux/slab.h>
 #include <linux/io.h>
 #include <linux/io.h>
 #include <linux/kref.h>
 #include <linux/kref.h>

+ 0 - 1
drivers/acpi/apei/apei-internal.h

@@ -8,7 +8,6 @@
 
 
 #include <linux/cper.h>
 #include <linux/cper.h>
 #include <linux/acpi.h>
 #include <linux/acpi.h>
-#include <linux/acpi_io.h>
 
 
 struct apei_exec_context;
 struct apei_exec_context;
 
 

+ 0 - 1
drivers/acpi/apei/ghes.c

@@ -33,7 +33,6 @@
 #include <linux/module.h>
 #include <linux/module.h>
 #include <linux/init.h>
 #include <linux/init.h>
 #include <linux/acpi.h>
 #include <linux/acpi.h>
-#include <linux/acpi_io.h>
 #include <linux/io.h>
 #include <linux/io.h>
 #include <linux/interrupt.h>
 #include <linux/interrupt.h>
 #include <linux/timer.h>
 #include <linux/timer.h>

+ 0 - 1
drivers/acpi/nvs.c

@@ -12,7 +12,6 @@
 #include <linux/mm.h>
 #include <linux/mm.h>
 #include <linux/slab.h>
 #include <linux/slab.h>
 #include <linux/acpi.h>
 #include <linux/acpi.h>
-#include <linux/acpi_io.h>
 
 
 /* ACPI NVS regions, APEI may use it */
 /* ACPI NVS regions, APEI may use it */
 
 

+ 0 - 1
drivers/acpi/osl.c

@@ -39,7 +39,6 @@
 #include <linux/workqueue.h>
 #include <linux/workqueue.h>
 #include <linux/nmi.h>
 #include <linux/nmi.h>
 #include <linux/acpi.h>
 #include <linux/acpi.h>
-#include <linux/acpi_io.h>
 #include <linux/efi.h>
 #include <linux/efi.h>
 #include <linux/ioport.h>
 #include <linux/ioport.h>
 #include <linux/list.h>
 #include <linux/list.h>

+ 0 - 1
drivers/gpu/drm/gma500/opregion.c

@@ -22,7 +22,6 @@
  *
  *
  */
  */
 #include <linux/acpi.h>
 #include <linux/acpi.h>
-#include <linux/acpi_io.h>
 #include "psb_drv.h"
 #include "psb_drv.h"
 #include "psb_intel_reg.h"
 #include "psb_intel_reg.h"
 
 

+ 1 - 2
drivers/gpu/drm/i915/Makefile

@@ -38,7 +38,6 @@ i915-y := i915_drv.o i915_dma.o i915_irq.o \
 	  intel_ringbuffer.o \
 	  intel_ringbuffer.o \
 	  intel_overlay.o \
 	  intel_overlay.o \
 	  intel_sprite.o \
 	  intel_sprite.o \
-	  intel_opregion.o \
 	  intel_sideband.o \
 	  intel_sideband.o \
 	  intel_uncore.o \
 	  intel_uncore.o \
 	  dvo_ch7xxx.o \
 	  dvo_ch7xxx.o \
@@ -51,7 +50,7 @@ i915-y := i915_drv.o i915_dma.o i915_irq.o \
 
 
 i915-$(CONFIG_COMPAT)   += i915_ioc32.o
 i915-$(CONFIG_COMPAT)   += i915_ioc32.o
 
 
-i915-$(CONFIG_ACPI)	+= intel_acpi.o
+i915-$(CONFIG_ACPI)	+= intel_acpi.o intel_opregion.o
 
 
 i915-$(CONFIG_DRM_I915_FBDEV) += intel_fbdev.o
 i915-$(CONFIG_DRM_I915_FBDEV) += intel_fbdev.o
 
 

+ 2 - 1
drivers/gpu/drm/i915/i915_drv.h

@@ -2336,8 +2336,8 @@ extern void intel_i2c_reset(struct drm_device *dev);
 
 
 /* intel_opregion.c */
 /* intel_opregion.c */
 struct intel_encoder;
 struct intel_encoder;
-extern int intel_opregion_setup(struct drm_device *dev);
 #ifdef CONFIG_ACPI
 #ifdef CONFIG_ACPI
+extern int intel_opregion_setup(struct drm_device *dev);
 extern void intel_opregion_init(struct drm_device *dev);
 extern void intel_opregion_init(struct drm_device *dev);
 extern void intel_opregion_fini(struct drm_device *dev);
 extern void intel_opregion_fini(struct drm_device *dev);
 extern void intel_opregion_asle_intr(struct drm_device *dev);
 extern void intel_opregion_asle_intr(struct drm_device *dev);
@@ -2346,6 +2346,7 @@ extern int intel_opregion_notify_encoder(struct intel_encoder *intel_encoder,
 extern int intel_opregion_notify_adapter(struct drm_device *dev,
 extern int intel_opregion_notify_adapter(struct drm_device *dev,
 					 pci_power_t state);
 					 pci_power_t state);
 #else
 #else
+static inline int intel_opregion_setup(struct drm_device *dev) { return 0; }
 static inline void intel_opregion_init(struct drm_device *dev) { return; }
 static inline void intel_opregion_init(struct drm_device *dev) { return; }
 static inline void intel_opregion_fini(struct drm_device *dev) { return; }
 static inline void intel_opregion_fini(struct drm_device *dev) { return; }
 static inline void intel_opregion_asle_intr(struct drm_device *dev) { return; }
 static inline void intel_opregion_asle_intr(struct drm_device *dev) { return; }

+ 0 - 1
drivers/gpu/drm/i915/intel_opregion.c

@@ -28,7 +28,6 @@
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
 
 
 #include <linux/acpi.h>
 #include <linux/acpi.h>
-#include <linux/acpi_io.h>
 #include <acpi/video.h>
 #include <acpi/video.h>
 
 
 #include <drm/drmP.h>
 #include <drm/drmP.h>

+ 0 - 1
include/linux/acpi_io.h → include/acpi/acpi_io.h

@@ -2,7 +2,6 @@
 #define _ACPI_IO_H_
 #define _ACPI_IO_H_
 
 
 #include <linux/io.h>
 #include <linux/io.h>
-#include <acpi/acpi.h>	/* FIXME: inclusion should be removed */
 
 
 static inline void __iomem *acpi_os_ioremap(acpi_physical_address phys,
 static inline void __iomem *acpi_os_ioremap(acpi_physical_address phys,
 					    acpi_size size)
 					    acpi_size size)

+ 1 - 0
include/linux/acpi.h

@@ -42,6 +42,7 @@
 #include <acpi/acpi_bus.h>
 #include <acpi/acpi_bus.h>
 #include <acpi/acpi_drivers.h>
 #include <acpi/acpi_drivers.h>
 #include <acpi/acpi_numa.h>
 #include <acpi/acpi_numa.h>
+#include <acpi/acpi_io.h>
 #include <asm/acpi.h>
 #include <asm/acpi.h>
 
 
 static inline acpi_handle acpi_device_handle(struct acpi_device *adev)
 static inline acpi_handle acpi_device_handle(struct acpi_device *adev)