[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 07/18] qom: add child properties (composition
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [PATCH v2 07/18] qom: add child properties (composition) (v2) |
Date: |
Thu, 08 Dec 2011 16:38:48 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20111115 Thunderbird/8.0 |
Am 02.12.2011 21:20, schrieb Anthony Liguori:
> Child properties express a relationship of composition.
>
> Signed-off-by: Anthony Liguori <address@hidden>
> ---
> v1 -> v2
> - fix comments (Kevin)
> - add a reference when adding a child property (Kevin)
> ---
> hw/qdev.c | 26 ++++++++++++++++++++++++++
> hw/qdev.h | 20 ++++++++++++++++++++
> 2 files changed, 46 insertions(+), 0 deletions(-)
>
> diff --git a/hw/qdev.c b/hw/qdev.c
> index 2519f00..fa6b489 100644
> --- a/hw/qdev.c
> +++ b/hw/qdev.c
> @@ -1174,6 +1174,32 @@ DeviceState *qdev_get_root(void)
> return qdev_root;
> }
>
> +static void qdev_get_child_property(DeviceState *dev, Visitor *v, void
> *opaque,
> + const char *name, Error **errp)
> +{
> + DeviceState *child = opaque;
> + gchar *path;
> +
> + path = qdev_get_canonical_path(child);
> + visit_type_str(v, &path, name, errp);
> + g_free(path);
> +}
> +
> +void qdev_property_add_child(DeviceState *dev, const char *name,
> + DeviceState *child, Error **errp)
> +{
> + gchar *type;
> +
> + type = g_strdup_printf("child<%s>", child->info->name);
> +
> + qdev_property_add(dev, name, type, qdev_get_child_property,
> + NULL, NULL, child, errp);
> +
> + qdev_ref(dev);
Shouldn't you increase the refcount for child rather than dev?
Kevin
- [Qemu-devel] [PATCH v2 00/18] qom: dynamic properties and composition tree (v2), Anthony Liguori, 2011/12/02
- [Qemu-devel] [PATCH v2 01/18] qom: add a reference count to qdev objects, Anthony Liguori, 2011/12/02
- [Qemu-devel] [PATCH v2 02/18] qom: add new dynamic property infrastructure based on Visitors (v2), Anthony Liguori, 2011/12/02
- [Qemu-devel] [PATCH v2 03/18] qom: register legacy properties as new style properties (v2), Anthony Liguori, 2011/12/02
- [Qemu-devel] [PATCH v2 05/18] qdev: provide an interface to return canonical path from root (v2), Anthony Liguori, 2011/12/02
- [Qemu-devel] [PATCH v2 07/18] qom: add child properties (composition) (v2), Anthony Liguori, 2011/12/02
- Re: [Qemu-devel] [PATCH v2 07/18] qom: add child properties (composition) (v2),
Kevin Wolf <=
- [Qemu-devel] [PATCH v2 04/18] qom: introduce root device, Anthony Liguori, 2011/12/02
- [Qemu-devel] [PATCH v2 06/18] qdev: provide a path resolution (v2), Anthony Liguori, 2011/12/02
- [Qemu-devel] [PATCH v2 08/18] qom: add link properties (v2), Anthony Liguori, 2011/12/02
- [Qemu-devel] [PATCH v2 10/18] qmp: add qom-list command, Anthony Liguori, 2011/12/02
- [Qemu-devel] [PATCH v2 13/18] dev: add an anonymous peripheral container, Anthony Liguori, 2011/12/02
- [Qemu-devel] [PATCH v2 12/18] qdev: add explicitly named devices to the root complex, Anthony Liguori, 2011/12/02
- [Qemu-devel] [PATCH v2 09/18] qapi: allow a 'gen' key to suppress code generation, Anthony Liguori, 2011/12/02