[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 01/20] xics: Use incomplete type for XICSFabric
From: |
Greg Kurz |
Subject: |
Re: [PATCH 01/20] xics: Use incomplete type for XICSFabric |
Date: |
Wed, 25 Sep 2019 09:48:04 +0200 |
On Wed, 25 Sep 2019 08:55:50 +0200
Cédric Le Goater <address@hidden> wrote:
> 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 <address@hidden>
> > ---
> > 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()
>
Yes but I think this deserves a separate patch.
> C.
- [PATCH 00/20] spapr: IRQ subsystem cleanups, David Gibson, 2019/09/25
- [PATCH 01/20] xics: Use incomplete type for XICSFabric, David Gibson, 2019/09/25
- [PATCH 04/20] xics: Eliminate reset hook, David Gibson, 2019/09/25
- [PATCH 02/20] xics: Eliminate 'reject', 'resend' and 'eoi' class hooks, David Gibson, 2019/09/25
- [PATCH 07/20] spapr: Fold spapr_phb_lsi_qirq() into its single caller, David Gibson, 2019/09/25