diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2020-01-23 12:17:13 +0100 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2020-01-24 20:59:16 +0100 |
commit | c1f472ea6584954d98baec3342d13fd24dbc3b88 (patch) | |
tree | 372a7dc6b5e33b95efba45a4e4b24c945d2fc2bb | |
parent | f902cb29660f0db1ccba61ca5b4cd0292d4b524b (diff) |
qom: simplify qmp_device_list_properties()
All qdev properties are object properties, no need for
make_device_property_info() helper.
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Message-Id: <20200110153039.1379601-24-marcandre.lureau@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r-- | qom/qom-qmp-cmds.c | 52 |
1 files changed, 5 insertions, 47 deletions
diff --git a/qom/qom-qmp-cmds.c b/qom/qom-qmp-cmds.c index ccd3aaacd4..8785816c1f 100644 --- a/qom/qom-qmp-cmds.c +++ b/qom/qom-qmp-cmds.c @@ -121,48 +121,6 @@ ObjectTypeInfoList *qmp_qom_list_types(bool has_implements, return ret; } -/* Return a DevicePropertyInfo for a qdev property. - * - * If a qdev property with the given name does not exist, use the given default - * type. If the qdev property info should not be shown, return NULL. - * - * The caller must free the return value. - */ -static ObjectPropertyInfo *make_device_property_info(ObjectClass *klass, - const char *name, - const char *default_type, - const char *description) -{ - ObjectPropertyInfo *info; - Property *prop; - - do { - for (prop = DEVICE_CLASS(klass)->props_; prop && prop->name; prop++) { - if (strcmp(name, prop->name) != 0) { - continue; - } - - info = g_malloc0(sizeof(*info)); - info->name = g_strdup(prop->name); - info->type = default_type ? g_strdup(default_type) - : g_strdup(prop->info->name); - info->has_description = !!prop->info->description; - info->description = g_strdup(prop->info->description); - return info; - } - klass = object_class_get_parent(klass); - } while (klass != object_class_by_name(TYPE_DEVICE)); - - /* Not a qdev property, use the default type */ - info = g_malloc0(sizeof(*info)); - info->name = g_strdup(name); - info->type = g_strdup(default_type); - info->has_description = !!description; - info->description = g_strdup(description); - - return info; -} - ObjectPropertyInfoList *qmp_device_list_properties(const char *typename, Error **errp) { @@ -214,11 +172,11 @@ ObjectPropertyInfoList *qmp_device_list_properties(const char *typename, continue; } - info = make_device_property_info(klass, prop->name, prop->type, - prop->description); - if (!info) { - continue; - } + info = g_new0(ObjectPropertyInfo, 1); + info->name = g_strdup(prop->name); + info->type = g_strdup(prop->type); + info->has_description = !!prop->description; + info->description = g_strdup(prop->description); entry = g_malloc0(sizeof(*entry)); entry->value = info; |