[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 2/4] qdev: add function qdev_set_id()
From: |
Stefano Stabellini |
Subject: |
Re: [Qemu-devel] [PATCH v2 2/4] qdev: add function qdev_set_id() |
Date: |
Fri, 18 Nov 2016 20:34:19 -0800 (PST) |
User-agent: |
Alpine 2.10 (DEB 1266 2009-07-14) |
On Wed, 2 Nov 2016, Juergen Gross wrote:
> In order to have an easy way to add a new qdev with a specific id
> carve out the needed functionality from qdev_device_add() into a new
> function qdev_set_id().
>
> Signed-off-by: Juergen Gross <address@hidden>
Reviewed-by: Stefano Stabellini <address@hidden>
> include/monitor/qdev.h | 1 +
> qdev-monitor.c | 36 ++++++++++++++++++++----------------
> 2 files changed, 21 insertions(+), 16 deletions(-)
>
> diff --git a/include/monitor/qdev.h b/include/monitor/qdev.h
> index 8e504bc..0ff3331 100644
> --- a/include/monitor/qdev.h
> +++ b/include/monitor/qdev.h
> @@ -12,5 +12,6 @@ void qmp_device_add(QDict *qdict, QObject **ret_data, Error
> **errp);
>
> int qdev_device_help(QemuOpts *opts);
> DeviceState *qdev_device_add(QemuOpts *opts, Error **errp);
> +void qdev_set_id(DeviceState *dev, const char *id);
>
> #endif
> diff --git a/qdev-monitor.c b/qdev-monitor.c
> index 4f78ecb..c73410c 100644
> --- a/qdev-monitor.c
> +++ b/qdev-monitor.c
> @@ -539,10 +539,28 @@ static BusState *qbus_find(const char *path, Error
> **errp)
> return bus;
> }
>
> +void qdev_set_id(DeviceState *dev, const char *id)
> +{
> + if (id) {
> + dev->id = id;
> + }
> +
> + if (dev->id) {
> + object_property_add_child(qdev_get_peripheral(), dev->id,
> + OBJECT(dev), NULL);
> + } else {
> + static int anon_count;
> + gchar *name = g_strdup_printf("device[%d]", anon_count++);
> + object_property_add_child(qdev_get_peripheral_anon(), name,
> + OBJECT(dev), NULL);
> + g_free(name);
> + }
> +}
> +
> DeviceState *qdev_device_add(QemuOpts *opts, Error **errp)
> {
> DeviceClass *dc;
> - const char *driver, *path, *id;
> + const char *driver, *path;
> DeviceState *dev;
> BusState *bus = NULL;
> Error *err = NULL;
> @@ -591,21 +609,7 @@ DeviceState *qdev_device_add(QemuOpts *opts, Error
> **errp)
> qdev_set_parent_bus(dev, bus);
> }
>
> - id = qemu_opts_id(opts);
> - if (id) {
> - dev->id = id;
> - }
> -
> - if (dev->id) {
> - object_property_add_child(qdev_get_peripheral(), dev->id,
> - OBJECT(dev), NULL);
> - } else {
> - static int anon_count;
> - gchar *name = g_strdup_printf("device[%d]", anon_count++);
> - object_property_add_child(qdev_get_peripheral_anon(), name,
> - OBJECT(dev), NULL);
> - g_free(name);
> - }
> + qdev_set_id(dev, qemu_opts_id(opts));
>
> /* set properties */
> if (qemu_opt_foreach(opts, set_property, dev, &err)) {
> --
> 2.6.6
>
- [Qemu-devel] [PATCH v2 0/4] xed: add qdevs for each backend, correct pvUSB, Juergen Gross, 2016/11/02
- [Qemu-devel] [PATCH v2 3/4] xen: create qdev for each backend device, Juergen Gross, 2016/11/02
- [Qemu-devel] [PATCH v2 2/4] qdev: add function qdev_set_id(), Juergen Gross, 2016/11/02
- Re: [Qemu-devel] [PATCH v2 2/4] qdev: add function qdev_set_id(),
Stefano Stabellini <=
- [Qemu-devel] [PATCH v2 1/4] xen: add an own bus for xen backend devices, Juergen Gross, 2016/11/02
- [Qemu-devel] [PATCH v2 4/4] xen: attach pvusb usb bus to backend qdev, Juergen Gross, 2016/11/02
- Re: [Qemu-devel] [PATCH v2 0/4] xed: add qdevs for each backend, correct pvUSB, Stefano Stabellini, 2016/11/21