Re: [PATCH 02/10] Driver core: Add iommu_ops to bus_type

From: Roedel, Joerg
Date: Wed Sep 14 2011 - 08:46:38 EST


On Tue, Sep 13, 2011 at 12:21:26PM -0400, Greg KH wrote:
> On Tue, Sep 13, 2011 at 05:38:11PM +0200, Roedel, Joerg wrote:
> > On Tue, Sep 13, 2011 at 10:58:55AM -0400, Greg KH wrote:
> > > On Tue, Sep 13, 2011 at 04:54:02PM +0200, Roedel, Joerg wrote:
> > > > --- a/include/linux/device.h
> > > > +++ b/include/linux/device.h
> > > > @@ -22,6 +22,7 @@
> > > > #include <linux/types.h>
> > > > #include <linux/module.h>
> > > > #include <linux/pm.h>
> > > > +#include <linux/iommu.h>
> > >
> > > Ick, please don't add new #includes to device.h, it makes the whole
> > > build slower. Just pre-declare the structure and all should be fine.
> >
> > Hmm, since linux/iommu.h provides 'struct iommu_ops', and this patch
> > adds a 'struct iommu_ops' to 'struct bus_type', wouldn't a simple
> > forward declaration make the bus_type incomplete in most other places?
>
> No, just like it doesn't make iommu.h incomplete as you used a struct
> bus_type there.

Ah right, because bus->iommu_ops is just a pointer the full type
definition for iommu_ops is only needed when this pointer is actually
dereferenced. I updated the patch. Please find it below.