Eduardo Habkost <ehabk...@redhat.com> writes: > Those functions will eventually be moved somewhere else, and won't get > included on *-user. > > Signed-off-by: Eduardo Habkost <ehabk...@redhat.com> > --- > hw/qdev-core.c | 26 ++++++++++++++++++-------- > 1 file changed, 18 insertions(+), 8 deletions(-) > > diff --git a/hw/qdev-core.c b/hw/qdev-core.c > index ee19dd5..92c3021 100644 > --- a/hw/qdev-core.c > +++ b/hw/qdev-core.c > @@ -40,6 +40,22 @@ const VMStateDescription *qdev_get_vmsd(DeviceState *dev) > return dc->vmsd; > } > > +static void qdev_init_vmstate(DeviceState *dev) > +{ > + if (qdev_get_vmsd(dev)) { > + vmstate_register_with_alias_id(dev, -1, qdev_get_vmsd(dev), dev, > + dev->instance_id_alias, > + dev->alias_required_for_version); > + } > +} > + > +static void qdev_finalize_vmstate(DeviceState *dev) > +{ > + if (qdev_get_vmsd(dev)) { > + vmstate_unregister(dev, qdev_get_vmsd(dev), dev); > + } > +} > +
You're stubbing at the wrong level. The place to implement stubs ought to be vmstate_register/vmstate_unregister. Regards, Anthony Liguori > const char *qdev_fw_name(DeviceState *dev) > { > DeviceClass *dc = DEVICE_GET_CLASS(dev); > @@ -126,11 +142,7 @@ int qdev_init(DeviceState *dev) > g_free(name); > } > > - if (qdev_get_vmsd(dev)) { > - vmstate_register_with_alias_id(dev, -1, qdev_get_vmsd(dev), dev, > - dev->instance_id_alias, > - dev->alias_required_for_version); > - } > + qdev_init_vmstate(dev); > dev->state = DEV_STATE_INITIALIZED; > if (dev->hotplugged) { > device_reset(dev); > @@ -615,9 +627,7 @@ static void device_finalize(Object *obj) > bus = QLIST_FIRST(&dev->child_bus); > qbus_free(bus); > } > - if (qdev_get_vmsd(dev)) { > - vmstate_unregister(dev, qdev_get_vmsd(dev), dev); > - } > + qdev_finalize_vmstate(dev); > if (dc->exit) { > dc->exit(dev); > } > -- > 1.7.11.7