[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 37/53] qdev: Remove ArrayElementProperty.propname field
From: |
Eduardo Habkost |
Subject: |
[PATCH v3 37/53] qdev: Remove ArrayElementProperty.propname field |
Date: |
Thu, 12 Nov 2020 16:43:34 -0500 |
Now that we don't save the property name in Property.name
anymore, we don't need the to keep the property name string alive
after the property was registered.
We can remove the ArrayElementProperty.propname field, and free
the string immediately after registering the property.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
This is a new patch added in v2 of the series
---
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: qemu-devel@nongnu.org
---
hw/core/qdev-properties.c | 5 +----
1 file changed, 1 insertion(+), 4 deletions(-)
diff --git a/hw/core/qdev-properties.c b/hw/core/qdev-properties.c
index ad08c80e67..2ab1c9688a 100644
--- a/hw/core/qdev-properties.c
+++ b/hw/core/qdev-properties.c
@@ -529,7 +529,6 @@ const PropertyInfo prop_info_size32 = {
*/
typedef struct {
struct Property prop;
- char *propname;
ObjectPropertyRelease *release;
} ArrayElementProperty;
@@ -543,7 +542,6 @@ static void array_element_release(Object *obj, const char
*name, void *opaque)
if (p->release) {
p->release(obj, name, opaque);
}
- g_free(p->propname);
g_free(p);
}
@@ -587,11 +585,10 @@ static void set_prop_arraylen(Object *obj, Visitor *v,
const char *name,
*/
*arrayptr = eltptr = g_malloc0(*alenptr * prop->arrayfieldsize);
for (i = 0; i < *alenptr; i++, eltptr += prop->arrayfieldsize) {
- char *propname = g_strdup_printf("%s[%d]", arrayname, i);
+ g_autofree char *propname = g_strdup_printf("%s[%d]", arrayname, i);
ArrayElementProperty *arrayprop = g_new0(ArrayElementProperty, 1);
ObjectProperty *elmop;
arrayprop->release = prop->arrayinfo->release;
- arrayprop->propname = propname;
arrayprop->prop.info = prop->arrayinfo;
/* This ugly piece of pointer arithmetic sets up the offset so
* that when the underlying get/set hooks call qdev_get_prop_ptr
--
2.28.0
- [PATCH v3 27/53] qdev: Rename qdev_propinfo_* to field_prop_*, (continued)
- [PATCH v3 27/53] qdev: Rename qdev_propinfo_* to field_prop_*, Eduardo Habkost, 2020/11/12
- [PATCH v3 28/53] qdev: Move qdev_prop_tpm declaration to tpm_prop.h, Eduardo Habkost, 2020/11/12
- [PATCH v3 29/53] qdev: Rename qdev_prop_* to prop_info_*, Eduardo Habkost, 2020/11/12
- [PATCH v3 30/53] qdev: Rename qdev_get_prop_ptr() to object_field_prop_ptr(), Eduardo Habkost, 2020/11/12
- [PATCH v3 31/53] qdev: Avoid unnecessary DeviceState* variable at set_prop_arraylen(), Eduardo Habkost, 2020/11/12
- [PATCH v3 32/53] tests: Add unit test for qdev array properties, Eduardo Habkost, 2020/11/12
- [PATCH v3 33/53] qom: Add allow_set callback to ObjectProperty, Eduardo Habkost, 2020/11/12
- [PATCH v3 34/53] qdev: Make qdev_prop_allow_set() a ObjectProperty.allow_set callback, Eduardo Habkost, 2020/11/12
- [PATCH v3 36/53] qdev: Don't set .name_template for array elements, Eduardo Habkost, 2020/11/12
- [PATCH v3 35/53] qdev: Rename Property.name to Property.name_template, Eduardo Habkost, 2020/11/12
- [PATCH v3 37/53] qdev: Remove ArrayElementProperty.propname field,
Eduardo Habkost <=
- [PATCH v3 38/53] qdev: Remove ArrayElementProperty.release field, Eduardo Habkost, 2020/11/12
- [PATCH v3 39/53] qdev: Get rid of ArrayElementProperty struct, Eduardo Habkost, 2020/11/12
- [PATCH v3 40/53] qdev: Rename array_element_release() to static_prop_release_dynamic_prop(), Eduardo Habkost, 2020/11/12
- [PATCH v3 41/53] qdev: Make object_property_add_field() copy the Property struct, Eduardo Habkost, 2020/11/12
- [PATCH v3 44/53] qom: Add new qom.h header, Eduardo Habkost, 2020/11/12
- [PATCH v3 43/53] qdev: Move static_prop_release_dynamic_prop() closer to its usage, Eduardo Habkost, 2020/11/12
- [PATCH v3 42/53] qdev: Reuse object_property_add_field() when adding array elements, Eduardo Habkost, 2020/11/12
- [PATCH v3 45/53] qdev: Move core field property code to QOM, Eduardo Habkost, 2020/11/12
- [PATCH v3 46/53] qdev: Move base property types to qom/property-types.c, Eduardo Habkost, 2020/11/12
- [PATCH v3 47/53] qom: Include static property API reference in documentation, Eduardo Habkost, 2020/11/12