On 25/09/2019 08:45, David Gibson 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; > -}; > +typedef struct XICSFabric XICSFabric; > > #define TYPE_XICS_FABRIC "xics-fabric" > #define XICS_FABRIC(obj) \ >
you should also change : #define XICS_FABRIC(obj) \ OBJECT_CHECK(XICSFabric, (obj), TYPE_XICS_FABRIC) and use INTERFACE_CHECK() C.