On Fri, Mar 02, 2018 at 12:09:38AM +1100, Alexey Kardashevskiy wrote: > ObjectPropertyInfo is more generic and only missing @description. > This adds a description to ObjectPropertyInfo and removes > DevicePropertyInfo so the resulting ObjectPropertyInfo can be used > elsewhere. > > Signed-off-by: Alexey Kardashevskiy Reviewed-by: David Gibson > --- > qapi-schema.json | 23 +++++------------------ > qdev-monitor.c | 6 +++--- > qmp.c | 20 ++++++++++---------- > 3 files changed, 18 insertions(+), 31 deletions(-) > > diff --git a/qapi-schema.json b/qapi-schema.json > index 0262b9f..87327e5 100644 > --- a/qapi-schema.json > +++ b/qapi-schema.json > @@ -1266,10 +1266,12 @@ > # 3) A link type in the form 'link' where subtype is a qdev > # device type name. Link properties form the device model graph. > # > +# @description: if specified, the description of the property. > +# > # Since: 1.2 > ## > { 'struct': 'ObjectPropertyInfo', > - 'data': { 'name': 'str', 'type': 'str' } } > + 'data': { 'name': 'str', 'type': 'str', '*description': 'str' } } > > ## > # @qom-list: > @@ -1425,34 +1427,19 @@ > 'returns': [ 'ObjectTypeInfo' ] } > > ## > -# @DevicePropertyInfo: > -# > -# Information about device properties. > -# > -# @name: the name of the property > -# @type: the typename of the property > -# @description: if specified, the description of the property. > -# (since 2.2) > -# > -# Since: 1.2 > -## > -{ 'struct': 'DevicePropertyInfo', > - 'data': { 'name': 'str', 'type': 'str', '*description': 'str' } } > - > -## > # @device-list-properties: > # > # List properties associated with a device. > # > # @typename: the type name of a device > # > -# Returns: a list of DevicePropertyInfo describing a devices properties > +# Returns: a list of ObjectPropertyInfo describing a devices properties > # > # Since: 1.2 > ## > { 'command': 'device-list-properties', > 'data': { 'typename': 'str'}, > - 'returns': [ 'DevicePropertyInfo' ] } > + 'returns': [ 'ObjectPropertyInfo' ] } > > ## > # @xen-set-global-dirty-log: > diff --git a/qdev-monitor.c b/qdev-monitor.c > index 8462381..ab9c46c 100644 > --- a/qdev-monitor.c > +++ b/qdev-monitor.c > @@ -258,8 +258,8 @@ int qdev_device_help(QemuOpts *opts) > { > Error *local_err = NULL; > const char *driver; > - DevicePropertyInfoList *prop_list; > - DevicePropertyInfoList *prop; > + ObjectPropertyInfoList *prop_list; > + ObjectPropertyInfoList *prop; > > driver = qemu_opt_get(opts, "driver"); > if (driver && is_help_option(driver)) { > @@ -295,7 +295,7 @@ int qdev_device_help(QemuOpts *opts) > } > } > > - qapi_free_DevicePropertyInfoList(prop_list); > + qapi_free_ObjectPropertyInfoList(prop_list); > return 1; > > error: > diff --git a/qmp.c b/qmp.c > index 793f6f3..8a74038 100644 > --- a/qmp.c > +++ b/qmp.c > @@ -463,12 +463,12 @@ ObjectTypeInfoList *qmp_qom_list_types(bool has_implements, > * > * The caller must free the return value. > */ > -static DevicePropertyInfo *make_device_property_info(ObjectClass *klass, > - const char *name, > - const char *default_type, > - const char *description) > +static ObjectPropertyInfo *make_device_property_info(ObjectClass *klass, > + const char *name, > + const char *default_type, > + const char *description) > { > - DevicePropertyInfo *info; > + ObjectPropertyInfo *info; > Property *prop; > > do { > @@ -508,14 +508,14 @@ static DevicePropertyInfo *make_device_property_info(ObjectClass *klass, > return info; > } > > -DevicePropertyInfoList *qmp_device_list_properties(const char *typename, > - Error **errp) > +ObjectPropertyInfoList *qmp_device_list_properties(const char *typename, > + Error **errp) > { > ObjectClass *klass; > Object *obj; > ObjectProperty *prop; > ObjectPropertyIterator iter; > - DevicePropertyInfoList *prop_list = NULL; > + ObjectPropertyInfoList *prop_list = NULL; > > klass = object_class_by_name(typename); > if (klass == NULL) { > @@ -540,8 +540,8 @@ DevicePropertyInfoList *qmp_device_list_properties(const char *typename, > > object_property_iter_init(&iter, obj); > while ((prop = object_property_iter_next(&iter))) { > - DevicePropertyInfo *info; > - DevicePropertyInfoList *entry; > + ObjectPropertyInfo *info; > + ObjectPropertyInfoList *entry; > > /* Skip Object and DeviceState properties */ > if (strcmp(prop->name, "type") == 0 || -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson