aboutsummaryrefslogtreecommitdiff
path: root/hw/char
diff options
context:
space:
mode:
authorMarkus Armbruster <armbru@redhat.com>2020-06-10 07:32:25 +0200
committerMarkus Armbruster <armbru@redhat.com>2020-06-15 22:05:28 +0200
commit9fc7fc4d3909817555ce0af6bcb69dff1606140d (patch)
tree223b3f8397ee9ee93e6b652daf423f5ec02052ac /hw/char
parent19dc7e977c145cf3683dc5d18d54ef3629e34619 (diff)
downloadqemu-9fc7fc4d3909817555ce0af6bcb69dff1606140d.zip
qemu-9fc7fc4d3909817555ce0af6bcb69dff1606140d.tar.gz
qemu-9fc7fc4d3909817555ce0af6bcb69dff1606140d.tar.bz2
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 fe0fe4735e7)] Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20200610053247.1583243-37-armbru@redhat.com>
Diffstat (limited to 'hw/char')
-rw-r--r--hw/char/serial-isa.c3
-rw-r--r--hw/char/serial-pci-multi.c4
-rw-r--r--hw/char/serial-pci.c3
-rw-r--r--hw/char/serial.c6
4 files changed, 5 insertions, 11 deletions
diff --git a/hw/char/serial-isa.c b/hw/char/serial-isa.c
index d69aab5..d816dc3 100644
--- a/hw/char/serial-isa.c
+++ b/hw/char/serial-isa.c
@@ -136,8 +136,7 @@ static void serial_isa_initfn(Object *o)
{
ISASerialState *self = ISA_SERIAL(o);
- object_initialize_child(o, "serial", &self->state, sizeof(self->state),
- TYPE_SERIAL, &error_abort, NULL);
+ object_initialize_child(o, "serial", &self->state, TYPE_SERIAL);
}
static const TypeInfo serial_isa_info = {
diff --git a/hw/char/serial-pci-multi.c b/hw/char/serial-pci-multi.c
index 23d0ebe..1d65d64 100644
--- a/hw/char/serial-pci-multi.c
+++ b/hw/char/serial-pci-multi.c
@@ -187,9 +187,7 @@ static void multi_serial_init(Object *o)
size_t i, nports = multi_serial_get_port_count(PCI_DEVICE_GET_CLASS(dev));
for (i = 0; i < nports; i++) {
- object_initialize_child(o, "serial[*]", &pms->state[i],
- sizeof(pms->state[i]),
- TYPE_SERIAL, &error_abort, NULL);
+ object_initialize_child(o, "serial[*]", &pms->state[i], TYPE_SERIAL);
}
}
diff --git a/hw/char/serial-pci.c b/hw/char/serial-pci.c
index 65eacfa..5f5ff10 100644
--- a/hw/char/serial-pci.c
+++ b/hw/char/serial-pci.c
@@ -108,8 +108,7 @@ static void serial_pci_init(Object *o)
{
PCISerialState *ps = PCI_SERIAL(o);
- object_initialize_child(o, "serial", &ps->state, sizeof(ps->state),
- TYPE_SERIAL, &error_abort, NULL);
+ object_initialize_child(o, "serial", &ps->state, TYPE_SERIAL);
}
static const TypeInfo serial_pci_info = {
diff --git a/hw/char/serial.c b/hw/char/serial.c
index a0cab38..57c299e 100644
--- a/hw/char/serial.c
+++ b/hw/char/serial.c
@@ -1014,8 +1014,7 @@ static void serial_io_instance_init(Object *o)
{
SerialIO *sio = SERIAL_IO(o);
- object_initialize_child(o, "serial", &sio->serial, sizeof(sio->serial),
- TYPE_SERIAL, &error_abort, NULL);
+ object_initialize_child(o, "serial", &sio->serial, TYPE_SERIAL);
qdev_alias_all_properties(DEVICE(&sio->serial), o);
}
@@ -1148,8 +1147,7 @@ static void serial_mm_instance_init(Object *o)
{
SerialMM *smm = SERIAL_MM(o);
- object_initialize_child(o, "serial", &smm->serial, sizeof(smm->serial),
- TYPE_SERIAL, &error_abort, NULL);
+ object_initialize_child(o, "serial", &smm->serial, TYPE_SERIAL);
qdev_alias_all_properties(DEVICE(&smm->serial), o);
}