[5/5] ACPI: Replace irqdomain.h include with struct declarations

Message ID 20230329-acpi-header-cleanup-v1-5-8dc5cd3c610e@kernel.org
State New
Headers
Series Remove acpi.h implicit include of of.h |

Commit Message

Rob Herring March 29, 2023, 9:20 p.m. UTC
  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.

Cc: Marc Zyngier <maz@kernel.org>
Signed-off-by: Rob Herring <robh@kernel.org>
---
 include/linux/acpi.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
  

Comments

Rafael J. Wysocki April 5, 2023, 2:59 p.m. UTC | #1
Hi Rob,

On Wed, Mar 29, 2023 at 11:21 PM Rob Herring <robh@kernel.org> wrote:
>
> 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.
>
> Cc: Marc Zyngier <maz@kernel.org>
> Signed-off-by: Rob Herring <robh@kernel.org>
> ---
>  include/linux/acpi.h | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> index efff750f326d..169c17c0b0dc 100644
> --- a/include/linux/acpi.h
> +++ b/include/linux/acpi.h
> @@ -10,12 +10,14 @@
>
>  #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/property.h>
>  #include <linux/uuid.h>
>
> +struct irq_domain;
> +struct irq_domain_ops;
> +
>  #ifndef _LINUX
>  #define _LINUX
>  #endif
>
> --

This causes build issues in linux-next, so I've dropped the series.  I
will be happy to pick it up again when the build issues are addressed,
though.

Thanks!
  
Rob Herring April 5, 2023, 4:47 p.m. UTC | #2
On Wed, Apr 5, 2023 at 9:59 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
>
> Hi Rob,
>
> On Wed, Mar 29, 2023 at 11:21 PM Rob Herring <robh@kernel.org> wrote:
> >
> > 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.
> >
> > Cc: Marc Zyngier <maz@kernel.org>
> > Signed-off-by: Rob Herring <robh@kernel.org>
> > ---
> >  include/linux/acpi.h | 4 +++-
> >  1 file changed, 3 insertions(+), 1 deletion(-)
> >
> > diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> > index efff750f326d..169c17c0b0dc 100644
> > --- a/include/linux/acpi.h
> > +++ b/include/linux/acpi.h
> > @@ -10,12 +10,14 @@
> >
> >  #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/property.h>
> >  #include <linux/uuid.h>
> >
> > +struct irq_domain;
> > +struct irq_domain_ops;
> > +
> >  #ifndef _LINUX
> >  #define _LINUX
> >  #endif
> >
> > --
>
> This causes build issues in linux-next, so I've dropped the series.  I
> will be happy to pick it up again when the build issues are addressed,
> though.

Is it just the one in pata_macio.c or are there others you are aware of?

Rob
  
Rafael J. Wysocki April 5, 2023, 6:11 p.m. UTC | #3
On Wed, Apr 5, 2023 at 6:48 PM Rob Herring <robh@kernel.org> wrote:
>
> On Wed, Apr 5, 2023 at 9:59 AM Rafael J. Wysocki <rafael@kernel.org> wrote:
> >
> > Hi Rob,
> >
> > On Wed, Mar 29, 2023 at 11:21 PM Rob Herring <robh@kernel.org> wrote:
> > >
> > > 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.
> > >
> > > Cc: Marc Zyngier <maz@kernel.org>
> > > Signed-off-by: Rob Herring <robh@kernel.org>
> > > ---
> > >  include/linux/acpi.h | 4 +++-
> > >  1 file changed, 3 insertions(+), 1 deletion(-)
> > >
> > > diff --git a/include/linux/acpi.h b/include/linux/acpi.h
> > > index efff750f326d..169c17c0b0dc 100644
> > > --- a/include/linux/acpi.h
> > > +++ b/include/linux/acpi.h
> > > @@ -10,12 +10,14 @@
> > >
> > >  #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/property.h>
> > >  #include <linux/uuid.h>
> > >
> > > +struct irq_domain;
> > > +struct irq_domain_ops;
> > > +
> > >  #ifndef _LINUX
> > >  #define _LINUX
> > >  #endif
> > >
> > > --
> >
> > This causes build issues in linux-next, so I've dropped the series.  I
> > will be happy to pick it up again when the build issues are addressed,
> > though.
>
> Is it just the one in pata_macio.c or are there others you are aware of?

I'm aware of a few:

https://lore.kernel.org/lkml/20230403201801.02839c9a@canb.auug.org.au/
https://lore.kernel.org/lkml/20230403112514.47ff91bb@canb.auug.org.au/
https://lore.kernel.org/lkml/20230403111605.7658ec62@canb.auug.org.au/
https://lore.kernel.org/lkml/20230403110650.6b13cb71@canb.auug.org.au/
  

Patch

diff --git a/include/linux/acpi.h b/include/linux/acpi.h
index efff750f326d..169c17c0b0dc 100644
--- a/include/linux/acpi.h
+++ b/include/linux/acpi.h
@@ -10,12 +10,14 @@ 
 
 #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/property.h>
 #include <linux/uuid.h>
 
+struct irq_domain;
+struct irq_domain_ops;
+
 #ifndef _LINUX
 #define _LINUX
 #endif