[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v2 2/6] qdev: Extract property-default code to q
From: |
Igor Mammedov |
Subject: |
Re: [Qemu-devel] [PATCH v2 2/6] qdev: Extract property-default code to qdev_property_set_to_default() |
Date: |
Mon, 24 Oct 2016 15:54:24 +0200 |
On Thu, 20 Oct 2016 15:47:55 -0200
Eduardo Habkost <address@hidden> wrote:
> The code that registers qdev properties will be split from the
> code that initializes default values on instance_init, so move it
> to a separate function.
>
> Signed-off-by: Eduardo Habkost <address@hidden>
Reviewed-by: Igor Mammedov <address@hidden>
> ---
> hw/core/qdev.c | 41 +++++++++++++++++++++++++++++------------
> 1 file changed, 29 insertions(+), 12 deletions(-)
>
> diff --git a/hw/core/qdev.c b/hw/core/qdev.c
> index 36ca5e7..85952e8 100644
> --- a/hw/core/qdev.c
> +++ b/hw/core/qdev.c
> @@ -775,6 +775,34 @@ static void qdev_property_add_legacy(DeviceState *dev,
> Property *prop,
> }
>
> /**
> + * qdev_property_set_to_default:
> + * @dev: Device where the property will be reset
> + * @prop: The qdev property definition
> + * @errp: location to store error information
> + *
> + * Reset the value of property @prop in @dev to its default value.
> + * On error, store error in @errp.
> + */
> +static void qdev_property_set_to_default(DeviceState *dev, Property *prop,
> + Error **errp)
> +{
> + Object *obj = OBJECT(dev);
> +
> + if (prop->qtype == QTYPE_NONE) {
> + return;
> + }
> +
> + if (prop->qtype == QTYPE_QBOOL) {
> + object_property_set_bool(obj, prop->defval, prop->name, errp);
> + } else if (prop->info->enum_table) {
> + object_property_set_str(obj, prop->info->enum_table[prop->defval],
> + prop->name, errp);
> + } else if (prop->qtype == QTYPE_QINT) {
> + object_property_set_int(obj, prop->defval, prop->name, errp);
> + }
> +}
> +
> +/**
> * qdev_property_add_static:
> * @dev: Device to add the property to.
> * @prop: The qdev property definition.
> @@ -813,18 +841,7 @@ void qdev_property_add_static(DeviceState *dev, Property
> *prop,
> prop->info->description,
> &error_abort);
>
> - if (prop->qtype == QTYPE_NONE) {
> - return;
> - }
> -
> - if (prop->qtype == QTYPE_QBOOL) {
> - object_property_set_bool(obj, prop->defval, prop->name,
> &error_abort);
> - } else if (prop->info->enum_table) {
> - object_property_set_str(obj, prop->info->enum_table[prop->defval],
> - prop->name, &error_abort);
> - } else if (prop->qtype == QTYPE_QINT) {
> - object_property_set_int(obj, prop->defval, prop->name, &error_abort);
> - }
> + qdev_property_set_to_default(dev, prop, &error_abort);
> }
>
> /* @qdev_alias_all_properties - Add alias properties to the source object for
- [Qemu-devel] [PATCH v2 0/6] qdev class properties + abstract class support on device-list-properties, Eduardo Habkost, 2016/10/20
- [Qemu-devel] [PATCH v2 2/6] qdev: Extract property-default code to qdev_property_set_to_default(), Eduardo Habkost, 2016/10/20
- Re: [Qemu-devel] [PATCH v2 2/6] qdev: Extract property-default code to qdev_property_set_to_default(),
Igor Mammedov <=
- [Qemu-devel] [PATCH v2 3/6] qdev: Register static properties as class properties, Eduardo Habkost, 2016/10/20
- [Qemu-devel] [PATCH v2 4/6] qom: object_class_property_iter_init() function, Eduardo Habkost, 2016/10/20
- [Qemu-devel] [PATCH v2 5/6] qmp: Support abstract classes on device-list-properties, Eduardo Habkost, 2016/10/20
- [Qemu-devel] [PATCH v2 6/6] qdev: Warning about using object_class_property_add() in new code, Eduardo Habkost, 2016/10/20
- [Qemu-devel] [PATCH v2 1/6] qdev: device_class_set_props() function, Eduardo Habkost, 2016/10/20