summaryrefslogtreecommitdiffstats
path: root/backends
diff options
context:
space:
mode:
authorPeter Maydell2021-01-01 23:57:15 +0100
committerPeter Maydell2021-01-01 23:57:15 +0100
commit41192db338588051f21501abc13743e62b0a5605 (patch)
tree683166575873af292daedaf30177919856ffbfc6 /backends
parentMerge remote-tracking branch 'remotes/cohuck-gitlab/tags/s390x-20201222' into... (diff)
parentbugfix: hostmem: Free host_nodes list right after visited (diff)
downloadqemu-41192db338588051f21501abc13743e62b0a5605.tar.gz
qemu-41192db338588051f21501abc13743e62b0a5605.tar.xz
qemu-41192db338588051f21501abc13743e62b0a5605.zip
Merge remote-tracking branch 'remotes/ehabkost-gl/tags/machine-next-pull-request' into staging
Machine queue, 2020-12-23 Cleanup: * qdev code cleanup (Eduardo Habkost) Bug fix: * hostmem: Free host_nodes list right after visited (Keqian Zhu) # gpg: Signature made Wed 23 Dec 2020 21:25:58 GMT # gpg: using RSA key 5A322FD5ABC4D3DBACCFD1AA2807936F984DC5A6 # gpg: issuer "ehabkost@redhat.com" # gpg: Good signature from "Eduardo Habkost <ehabkost@redhat.com>" [full] # Primary key fingerprint: 5A32 2FD5 ABC4 D3DB ACCF D1AA 2807 936F 984D C5A6 * remotes/ehabkost-gl/tags/machine-next-pull-request: bugfix: hostmem: Free host_nodes list right after visited qdev: Avoid unnecessary DeviceState* variable at set_prop_arraylen() qdev: Rename qdev_get_prop_ptr() to object_field_prop_ptr() qdev: Move qdev_prop_tpm declaration to tpm_prop.h qdev: Make qdev_class_add_property() more flexible qdev: Make PropertyInfo.create return ObjectProperty* qdev: Move dev->realized check to qdev_property_set() qdev: Wrap getters and setters in separate helpers qdev: Add name argument to PropertyInfo.create method qdev: Add name parameter to qdev_class_add_property() qdev: Avoid using prop->name unnecessarily qdev: Get just property name at error_set_from_qdev_prop_error() sparc: Use DEFINE_PROP for nwindows property qdev: Reuse DEFINE_PROP in all DEFINE_PROP_* macros qdev: Move softmmu properties to qdev-properties-system.h Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'backends')
-rw-r--r--backends/hostmem.c1
-rw-r--r--backends/tpm/tpm_util.c14
2 files changed, 5 insertions, 10 deletions
diff --git a/backends/hostmem.c b/backends/hostmem.c
index 4bde00e8e7..9f9ac95edd 100644
--- a/backends/hostmem.c
+++ b/backends/hostmem.c
@@ -105,6 +105,7 @@ host_memory_backend_get_host_nodes(Object *obj, Visitor *v, const char *name,
ret:
visit_type_uint16List(v, name, &host_nodes, errp);
+ qapi_free_uint16List(host_nodes);
}
static void
diff --git a/backends/tpm/tpm_util.c b/backends/tpm/tpm_util.c
index 3973105658..a6e6d3e72f 100644
--- a/backends/tpm/tpm_util.c
+++ b/backends/tpm/tpm_util.c
@@ -35,7 +35,7 @@
static void get_tpm(Object *obj, Visitor *v, const char *name, void *opaque,
Error **errp)
{
- TPMBackend **be = qdev_get_prop_ptr(obj, opaque);
+ TPMBackend **be = object_field_prop_ptr(obj, opaque);
char *p;
p = g_strdup(*be ? (*be)->id : "");
@@ -46,16 +46,10 @@ static void get_tpm(Object *obj, Visitor *v, const char *name, void *opaque,
static void set_tpm(Object *obj, Visitor *v, const char *name, void *opaque,
Error **errp)
{
- DeviceState *dev = DEVICE(obj);
Property *prop = opaque;
- TPMBackend *s, **be = qdev_get_prop_ptr(obj, prop);
+ TPMBackend *s, **be = object_field_prop_ptr(obj, prop);
char *str;
- if (dev->realized) {
- qdev_prop_set_after_realize(dev, name, errp);
- return;
- }
-
if (!visit_type_str(v, name, &str, errp)) {
return;
}
@@ -63,7 +57,7 @@ static void set_tpm(Object *obj, Visitor *v, const char *name, void *opaque,
s = qemu_find_tpm_be(str);
if (s == NULL) {
error_setg(errp, "Property '%s.%s' can't find value '%s'",
- object_get_typename(obj), prop->name, str);
+ object_get_typename(obj), name, str);
} else if (tpm_backend_init(s, TPM_IF(obj), errp) == 0) {
*be = s; /* weak reference, avoid cyclic ref */
}
@@ -73,7 +67,7 @@ static void set_tpm(Object *obj, Visitor *v, const char *name, void *opaque,
static void release_tpm(Object *obj, const char *name, void *opaque)
{
Property *prop = opaque;
- TPMBackend **be = qdev_get_prop_ptr(obj, prop);
+ TPMBackend **be = object_field_prop_ptr(obj, prop);
if (*be) {
tpm_backend_reset(*be);