qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH RFC v2 05/12] hw/qdev: Remove opts member


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH RFC v2 05/12] hw/qdev: Remove opts member
Date: Tue, 12 Dec 2023 11:04:33 +0100
User-agent: Mozilla Thunderbird

On 10/12/23 05:05, Akihiko Odaki wrote:
It is no longer used.

Since commit f3558b1b76 ("qdev: Base object creation on QDict rather
than QemuOpts")?

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

Signed-off-by: Akihiko Odaki <akihiko.odaki@daynix.com>
---
  include/hw/qdev-core.h |  4 ----
  hw/core/qdev.c         |  1 -
  system/qdev-monitor.c  | 12 +++++++-----
  3 files changed, 7 insertions(+), 10 deletions(-)

diff --git a/include/hw/qdev-core.h b/include/hw/qdev-core.h
index 151d968238..6befbca311 100644
--- a/include/hw/qdev-core.h
+++ b/include/hw/qdev-core.h
@@ -237,10 +237,6 @@ struct DeviceState {
       * @pending_deleted_expires_ms: optional timeout for deletion events
       */
      int64_t pending_deleted_expires_ms;
-    /**
-     * @opts: QDict of options for the device
-     */
-    QDict *opts;
      /**
       * @hotplugged: was device added after PHASE_MACHINE_READY?
       */
diff --git a/hw/core/qdev.c b/hw/core/qdev.c
index 43d863b0c5..c98691a90d 100644
--- a/hw/core/qdev.c
+++ b/hw/core/qdev.c
@@ -706,7 +706,6 @@ static void device_finalize(Object *obj)
          dev->canonical_path = NULL;
      }
- qobject_unref(dev->opts);
      g_free(dev->id);
  }
diff --git a/system/qdev-monitor.c b/system/qdev-monitor.c
index a13db763e5..71c00f62ee 100644
--- a/system/qdev-monitor.c
+++ b/system/qdev-monitor.c
@@ -625,6 +625,7 @@ DeviceState *qdev_device_add_from_qdict(const QDict *opts,
      char *id;
      DeviceState *dev = NULL;
      BusState *bus = NULL;
+    QDict *properties;
driver = qdict_get_try_str(opts, "driver");
      if (!driver) {
@@ -705,13 +706,14 @@ DeviceState *qdev_device_add_from_qdict(const QDict *opts,
      }
/* set properties */
-    dev->opts = qdict_clone_shallow(opts);
-    qdict_del(dev->opts, "driver");
-    qdict_del(dev->opts, "bus");
-    qdict_del(dev->opts, "id");
+    properties = qdict_clone_shallow(opts);
+    qdict_del(properties, "driver");
+    qdict_del(properties, "bus");
+    qdict_del(properties, "id");
- object_set_properties_from_keyval(&dev->parent_obj, dev->opts, from_json,
+    object_set_properties_from_keyval(&dev->parent_obj, properties, from_json,
                                        errp);
+    qobject_unref(properties);
      if (*errp) {
          goto err_del_dev;
      }





reply via email to

[Prev in Thread] Current Thread [Next in Thread]