mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
qom: Less verbose object_initialize_child()
All users of object_initialize_child() pass the obvious child size
argument. Almost all pass &error_abort and no properties. Tiresome.
Rename object_initialize_child() to
object_initialize_child_with_props() to free the name. New
convenience wrapper object_initialize_child() automates the size
argument, and passes &error_abort and no properties.
Rename object_initialize_childv() to
object_initialize_child_with_propsv() for consistency.
Convert callers with this Coccinelle script:
@@
expression parent, propname, type;
expression child, size;
symbol error_abort;
@@
- object_initialize_child(parent, propname, OBJECT(child), size, type, &error_abort, NULL)
+ object_initialize_child(parent, propname, child, size, type, &error_abort, NULL)
@@
expression parent, propname, type;
expression child;
symbol error_abort;
@@
- object_initialize_child(parent, propname, child, sizeof(*child), type, &error_abort, NULL)
+ object_initialize_child(parent, propname, child, type)
@@
expression parent, propname, type;
expression child;
symbol error_abort;
@@
- object_initialize_child(parent, propname, &child, sizeof(child), type, &error_abort, NULL)
+ object_initialize_child(parent, propname, &child, type)
@@
expression parent, propname, type;
expression child, size, err;
expression list props;
@@
- object_initialize_child(parent, propname, child, size, type, err, props)
+ object_initialize_child_with_props(parent, propname, child, size, type, err, props)
Note that Coccinelle chokes on ARMSSE typedef vs. macro in
hw/arm/armsse.c. Worked around by temporarily renaming the macro for
the spatch run.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
Acked-by: Alistair Francis <alistair.francis@wdc.com>
[Rebased: machine opentitan is new (commit fe0fe4735e
)]
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200610053247.1583243-37-armbru@redhat.com>
This commit is contained in:
parent
19dc7e977c
commit
9fc7fc4d39
51 changed files with 161 additions and 221 deletions
19
qom/object.c
19
qom/object.c
|
@ -524,19 +524,21 @@ void object_initialize(void *data, size_t size, const char *typename)
|
|||
object_initialize_with_type(data, size, type);
|
||||
}
|
||||
|
||||
void object_initialize_child(Object *parentobj, const char *propname,
|
||||
void object_initialize_child_with_props(Object *parentobj,
|
||||
const char *propname,
|
||||
void *childobj, size_t size, const char *type,
|
||||
Error **errp, ...)
|
||||
{
|
||||
va_list vargs;
|
||||
|
||||
va_start(vargs, errp);
|
||||
object_initialize_childv(parentobj, propname, childobj, size, type, errp,
|
||||
vargs);
|
||||
object_initialize_child_with_propsv(parentobj, propname,
|
||||
childobj, size, type, errp, vargs);
|
||||
va_end(vargs);
|
||||
}
|
||||
|
||||
void object_initialize_childv(Object *parentobj, const char *propname,
|
||||
void object_initialize_child_with_propsv(Object *parentobj,
|
||||
const char *propname,
|
||||
void *childobj, size_t size, const char *type,
|
||||
Error **errp, va_list vargs)
|
||||
{
|
||||
|
@ -577,6 +579,15 @@ out:
|
|||
error_propagate(errp, local_err);
|
||||
}
|
||||
|
||||
void object_initialize_child_internal(Object *parent,
|
||||
const char *propname,
|
||||
void *child, size_t size,
|
||||
const char *type)
|
||||
{
|
||||
object_initialize_child_with_props(parent, propname, child, size, type,
|
||||
&error_abort, NULL);
|
||||
}
|
||||
|
||||
static inline bool object_property_is_child(ObjectProperty *prop)
|
||||
{
|
||||
return strstart(prop->type, "child<", NULL);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue