On Tue, Nov 27, 2018 at 01:27:49PM +0400, Marc-André Lureau wrote: > Similarly to accel properties, move compat properties out of globals > registration, and apply the machine compat properties during > device_post_init(). > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> [...] > diff --git a/hw/core/qdev.c b/hw/core/qdev.c > index 7066d28271..3b31b2c025 100644 > --- a/hw/core/qdev.c > +++ b/hw/core/qdev.c > @@ -971,17 +971,26 @@ static void device_initfn(Object *obj) > } > > static const GPtrArray *ac_compat_props; > +static const GPtrArray *mc_compat_props; > > void accel_register_compat_props(const GPtrArray *props) > { > ac_compat_props = props; > } > > +void machine_register_compat_props(const GPtrArray *props) > +{ > + mc_compat_props = props; > +} > + > static void device_post_init(Object *obj) > { > if (ac_compat_props) { > object_apply_global_props(obj, ac_compat_props, &error_abort); > }
Why not just use MACHINE(qdev_get_machine())->accel->compat_props directly? > + if (mc_compat_props) { > + object_apply_global_props(obj, mc_compat_props, &error_abort); > + } Why not just use MACHINE(qdev_get_machine())->compat_props directly? > > qdev_prop_set_globals(DEVICE(obj)); > } [...] -- Eduardo