qemu-ppc
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-ppc] [Qemu-devel] [PATCH for-3.2 v5 08/19] hw: apply machine c


From: Igor Mammedov
Subject: Re: [Qemu-ppc] [Qemu-devel] [PATCH for-3.2 v5 08/19] hw: apply machine compat properties without touching globals
Date: Tue, 11 Dec 2018 16:52:29 +0100

On Tue, 11 Dec 2018 18:30:32 +0400
Marc-André Lureau <address@hidden> wrote:

> Hi
> 
> On Tue, Dec 11, 2018 at 6:24 PM Eduardo Habkost <address@hidden> wrote:
> >
> > I have specific questions about the approach we are using to
> > eliminate the macros.
> >
> > My main goal when asking this to be moved to a separate patch is
> > to not make this discussion block the register_global_properties() &
> > device_post_init() changes (which look good to me).
> >
> >
> > On Tue, Dec 04, 2018 at 06:20:12PM +0400, Marc-André Lureau wrote:
> > [...]  
> > > -#define VIRT_COMPAT_3_0 \
> > > +static GlobalProperty virt_compat_3_0[] = {
> > >      HW_COMPAT_3_0
> > > +};  
> >
> > What about moving the array inside virt_machine_3_0_options()?  
> 
> Sure
> 
> >  
> > >
> > >  static void virt_3_0_instance_init(Object *obj)
> > >  {
> > > @@ -1883,12 +1884,14 @@ static void virt_3_0_instance_init(Object *obj)
> > >  static void virt_machine_3_0_options(MachineClass *mc)
> > >  {
> > >      virt_machine_3_1_options(mc);
> > > -    SET_MACHINE_COMPAT(mc, VIRT_COMPAT_3_0);
> > > +    compat_props_add(mc->compat_props,
> > > +                     virt_compat_3_0, G_N_ELEMENTS(virt_compat_3_0));
> > >  }
> > >  DEFINE_VIRT_MACHINE(3, 0)  
> >
> > This is nice, because it's basically the same amount of
> > boilerplate code, but I would find a NULL-terminated array much
> > easier to use than having to use G_N_ELEMENTS().  
> 
> But easier to get wrong too. I prefer the explicit N arguments. (it
> also gives some flexibility, since you can point to inner pointer +
> size, although we don't care at this point)
+1 to explicit array size,
it also allows to drop terminating NULL entry in compat declarations

[...]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]