From: Anthony Liguori <anthony@codemonkey.ws>
To: Eduardo Habkost <ehabkost@redhat.com>, qemu-devel@nongnu.org
Cc: blauwirbel@gmail.com, "Igor Mammedov" <imammedo@redhat.com>,
riku.voipio@iki.fi, "Andreas Färber" <afaerber@suse.de>,
peter.maydell@linaro.org
Subject: Re: [Qemu-devel] [PATCH 05/12] qdev-core: isolate vmstate handling into separate functions
Date: Wed, 17 Oct 2012 13:06:51 -0500 [thread overview]
Message-ID: <877gqpug5g.fsf@codemonkey.ws> (raw)
In-Reply-To: <1350414523-8117-6-git-send-email-ehabkost@redhat.com>
Eduardo Habkost <ehabkost@redhat.com> writes:
> Those functions will eventually be moved somewhere else, and won't get
> included on *-user.
>
> Signed-off-by: Eduardo Habkost <ehabkost@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
next prev parent reply other threads:[~2012-10-17 18:07 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-16 19:08 [Qemu-devel] [PATCH 00/12] make CPU child of DeviceState and include qdev core in *-user Eduardo Habkost
2012-10-16 19:08 ` [Qemu-devel] [PATCH 01/12] qdev: split up header so it can be used in cpu.h Eduardo Habkost
2012-10-16 19:08 ` [Qemu-devel] [PATCH 02/12] qapi-types.h doesn't really need to include qemu-common.h Eduardo Habkost
2012-10-16 19:08 ` [Qemu-devel] [PATCH 03/12] qdev: separate core from the code used only by qemu-system-* Eduardo Habkost
2012-10-16 19:08 ` [Qemu-devel] [PATCH 04/12] qdev: rename qdev.c to qdev-core.c Eduardo Habkost
2012-10-16 19:08 ` [Qemu-devel] [PATCH 05/12] qdev-core: isolate vmstate handling into separate functions Eduardo Habkost
2012-10-17 18:06 ` Anthony Liguori [this message]
2012-10-16 19:08 ` [Qemu-devel] [PATCH 06/12] qdev: move vmstate handling to qdev-system.c Eduardo Habkost
2012-10-16 19:08 ` [Qemu-devel] [PATCH 07/12] qdev-core: isolate reset register/unregister code Eduardo Habkost
2012-10-17 18:08 ` Anthony Liguori
2012-10-17 18:32 ` Eduardo Habkost
2012-10-18 14:51 ` Andreas Färber
2012-10-23 14:56 ` Eduardo Habkost
2012-10-24 2:43 ` Eduardo Habkost
2012-10-16 19:08 ` [Qemu-devel] [PATCH 08/12] qdev: move reset register/unregister code to qdev-system.c Eduardo Habkost
2012-10-16 19:08 ` [Qemu-devel] [PATCH 09/12] move qemu_irq typedef out of cpu-common.h Eduardo Habkost
2012-10-17 18:08 ` Anthony Liguori
2012-10-16 19:08 ` [Qemu-devel] [PATCH 10/12] qdev: use full qdev.h include path on qdev*.c Eduardo Habkost
2012-10-16 19:08 ` [Qemu-devel] [PATCH 11/12] include core qdev code into *-user, too Eduardo Habkost
2012-10-17 18:11 ` Anthony Liguori
2012-10-17 18:18 ` Eduardo Habkost
2012-10-17 19:21 ` Peter Maydell
2012-10-19 16:59 ` Eduardo Habkost
2012-10-22 12:36 ` Igor Mammedov
2012-10-22 12:43 ` Eduardo Habkost
2012-10-16 19:08 ` [Qemu-devel] [PATCH 12/12] qom: make CPU a child of DeviceState Eduardo Habkost
-- strict thread matches above, loose matches on Subject: below --
2012-10-16 1:57 [Qemu-devel] [PATCH v3 00/12] make CPU child of DeviceState and include qdev core in *-user Igor Mammedov
2012-10-16 1:57 ` [Qemu-devel] [PATCH 05/12] qdev-core: isolate vmstate handling into separate functions Igor Mammedov
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877gqpug5g.fsf@codemonkey.ws \
--to=anthony@codemonkey.ws \
--cc=afaerber@suse.de \
--cc=blauwirbel@gmail.com \
--cc=ehabkost@redhat.com \
--cc=imammedo@redhat.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=riku.voipio@iki.fi \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.