linux/acpi.h includes irqdomain.h which includes of.h. Break the include chain by replacing the irqdomain include with forward declarations for struct irq_domain and irq_domain_ops which is sufficient for acpi.h. of.h also includes mod_devicetable.h which many drivers implicitly depend on. As acpi.h already includes it, just move it out of the '#ifdef CONFIG_ACPI'. Cc: Marc Zyngier <maz@xxxxxxxxxx> Reviewed-by: Jacob Keller <jacob.e.keller@xxxxxxxxx> Reviewed-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> Signed-off-by: Rob Herring <robh@xxxxxxxxxx> --- v2: - Move mod_devicetable.h out of #ifdef --- include/linux/acpi.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/linux/acpi.h b/include/linux/acpi.h index efff750f326d..96bd672dc336 100644 --- a/include/linux/acpi.h +++ b/include/linux/acpi.h @@ -10,12 +10,15 @@ #include <linux/errno.h> #include <linux/ioport.h> /* for struct resource */ -#include <linux/irqdomain.h> #include <linux/resource_ext.h> #include <linux/device.h> +#include <linux/mod_devicetable.h> #include <linux/property.h> #include <linux/uuid.h> +struct irq_domain; +struct irq_domain_ops; + #ifndef _LINUX #define _LINUX #endif @@ -24,7 +27,6 @@ #ifdef CONFIG_ACPI #include <linux/list.h> -#include <linux/mod_devicetable.h> #include <linux/dynamic_debug.h> #include <linux/module.h> #include <linux/mutex.h> -- 2.39.2