qdev: Make PropertyInfo.create return ObjectProperty*

Returning ObjectProperty* will be useful for new property
registration code that will add additional callbacks
to ObjectProperty after registering it.

Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <20201211220529.2290218-25-ehabkost@redhat.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
This commit is contained in:
Eduardo Habkost 2020-12-11 17:05:21 -05:00
parent ea7c1e5c3e
commit f59c6d223d
2 changed files with 8 additions and 7 deletions

View File

@ -821,13 +821,13 @@ const PropertyInfo qdev_prop_size = {
/* --- object link property --- */
static void create_link_property(ObjectClass *oc, const char *name,
Property *prop)
static ObjectProperty *create_link_property(ObjectClass *oc, const char *name,
Property *prop)
{
object_class_property_add_link(oc, name, prop->link_type,
prop->offset,
qdev_prop_allow_set_link_before_realize,
OBJ_PROP_LINK_STRONG);
return object_class_property_add_link(oc, name, prop->link_type,
prop->offset,
qdev_prop_allow_set_link_before_realize,
OBJ_PROP_LINK_STRONG);
}
const PropertyInfo qdev_prop_link = {

View File

@ -34,7 +34,8 @@ struct PropertyInfo {
const QEnumLookup *enum_table;
int (*print)(Object *obj, Property *prop, char *dest, size_t len);
void (*set_default_value)(ObjectProperty *op, const Property *prop);
void (*create)(ObjectClass *oc, const char *name, Property *prop);
ObjectProperty *(*create)(ObjectClass *oc, const char *name,
Property *prop);
ObjectPropertyAccessor *get;
ObjectPropertyAccessor *set;
ObjectPropertyRelease *release;