qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH qemu v3 1/2] qmp: Merge ObjectPropertyInfo and D


From: David Gibson
Subject: Re: [Qemu-devel] [PATCH qemu v3 1/2] qmp: Merge ObjectPropertyInfo and DevicePropertyInfo
Date: Fri, 2 Mar 2018 12:00:02 +1100
User-agent: Mutt/1.9.2 (2017-12-15)

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 <address@hidden>

Reviewed-by: David Gibson <address@hidden>

> ---
>  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<subtype>' 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

Attachment: signature.asc
Description: PGP signature


reply via email to

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