On Wed, 25 Sep 2019 16:45:15 +1000 David Gibson <da...@gibson.dropbear.id.au> wrote:
> Interface instances should never be directly dereferenced. So, the common > practice is to make them incomplete types to make sure no-one does that. > XICSFrabric, however, had a dummy type which is less safe. > > Signed-off-by: David Gibson <da...@gibson.dropbear.id.au> > --- > include/hw/ppc/xics.h | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/include/hw/ppc/xics.h b/include/hw/ppc/xics.h > index 64a2c8862a..1ae34ce9cd 100644 > --- a/include/hw/ppc/xics.h > +++ b/include/hw/ppc/xics.h > @@ -147,9 +147,7 @@ struct ICSIRQState { > uint8_t flags; > }; > > -struct XICSFabric { > - Object parent; > -}; Ok. > +typedef struct XICSFabric XICSFabric; > Nak. We already have this statement earlier in this file and we must keep it there since it is used in the definition of some other types. I guess this doesn't cause any compiler warning because the type is incomplete. With this duplicate typedef removed, Reviewed-by: Greg Kurz <gr...@kaod.org> > #define TYPE_XICS_FABRIC "xics-fabric" > #define XICS_FABRIC(obj) \