aboutsummaryrefslogtreecommitdiff
path: root/hw/pci-host
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/pci-host
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/pci-host')
-rw-r--r--hw/pci-host/designware.c3
-rw-r--r--hw/pci-host/gpex.c3
-rw-r--r--hw/pci-host/pnv_phb3.c12
-rw-r--r--hw/pci-host/pnv_phb4.c6
-rw-r--r--hw/pci-host/pnv_phb4_pec.c6
-rw-r--r--hw/pci-host/q35.c3
-rw-r--r--hw/pci-host/xilinx-pcie.c3
7 files changed, 12 insertions, 24 deletions
diff --git a/hw/pci-host/designware.c b/hw/pci-host/designware.c
index 2e97d6b..8492c18 100644
--- a/hw/pci-host/designware.c
+++ b/hw/pci-host/designware.c
@@ -722,8 +722,7 @@ static void designware_pcie_host_init(Object *obj)
DesignwarePCIEHost *s = DESIGNWARE_PCIE_HOST(obj);
DesignwarePCIERoot *root = &s->root;
- object_initialize_child(obj, "root", root, sizeof(*root),
- TYPE_DESIGNWARE_PCIE_ROOT, &error_abort, NULL);
+ object_initialize_child(obj, "root", root, TYPE_DESIGNWARE_PCIE_ROOT);
qdev_prop_set_int32(DEVICE(root), "addr", PCI_DEVFN(0, 0));
qdev_prop_set_bit(DEVICE(root), "multifunction", false);
}
diff --git a/hw/pci-host/gpex.c b/hw/pci-host/gpex.c
index 3dfb3bf..2bdbe7b 100644
--- a/hw/pci-host/gpex.c
+++ b/hw/pci-host/gpex.c
@@ -124,8 +124,7 @@ static void gpex_host_initfn(Object *obj)
GPEXHost *s = GPEX_HOST(obj);
GPEXRootState *root = &s->gpex_root;
- object_initialize_child(obj, "gpex_root", root, sizeof(*root),
- TYPE_GPEX_ROOT_DEVICE, &error_abort, NULL);
+ object_initialize_child(obj, "gpex_root", root, TYPE_GPEX_ROOT_DEVICE);
qdev_prop_set_int32(DEVICE(root), "addr", PCI_DEVFN(0, 0));
qdev_prop_set_bit(DEVICE(root), "multifunction", false);
}
diff --git a/hw/pci-host/pnv_phb3.c b/hw/pci-host/pnv_phb3.c
index 8dcfe4a..6e2b017 100644
--- a/hw/pci-host/pnv_phb3.c
+++ b/hw/pci-host/pnv_phb3.c
@@ -968,23 +968,19 @@ static void pnv_phb3_instance_init(Object *obj)
QLIST_INIT(&phb->dma_spaces);
/* LSI sources */
- object_initialize_child(obj, "lsi", &phb->lsis, sizeof(phb->lsis),
- TYPE_ICS, &error_abort, NULL);
+ object_initialize_child(obj, "lsi", &phb->lsis, TYPE_ICS);
/* Default init ... will be fixed by HW inits */
phb->lsis.offset = 0;
/* MSI sources */
- object_initialize_child(obj, "msi", &phb->msis, sizeof(phb->msis),
- TYPE_PHB3_MSI, &error_abort, NULL);
+ object_initialize_child(obj, "msi", &phb->msis, TYPE_PHB3_MSI);
/* Power Bus Common Queue */
- object_initialize_child(obj, "pbcq", &phb->pbcq, sizeof(phb->pbcq),
- TYPE_PNV_PBCQ, &error_abort, NULL);
+ object_initialize_child(obj, "pbcq", &phb->pbcq, TYPE_PNV_PBCQ);
/* Root Port */
- object_initialize_child(obj, "root", &phb->root, sizeof(phb->root),
- TYPE_PNV_PHB3_ROOT_PORT, &error_abort, NULL);
+ object_initialize_child(obj, "root", &phb->root, TYPE_PNV_PHB3_ROOT_PORT);
qdev_prop_set_int32(DEVICE(&phb->root), "addr", PCI_DEVFN(0, 0));
qdev_prop_set_bit(DEVICE(&phb->root), "multifunction", false);
}
diff --git a/hw/pci-host/pnv_phb4.c b/hw/pci-host/pnv_phb4.c
index aba710f..368ae9e 100644
--- a/hw/pci-host/pnv_phb4.c
+++ b/hw/pci-host/pnv_phb4.c
@@ -1155,12 +1155,10 @@ static void pnv_phb4_instance_init(Object *obj)
QLIST_INIT(&phb->dma_spaces);
/* XIVE interrupt source object */
- object_initialize_child(obj, "source", &phb->xsrc, sizeof(phb->xsrc),
- TYPE_XIVE_SOURCE, &error_abort, NULL);
+ object_initialize_child(obj, "source", &phb->xsrc, TYPE_XIVE_SOURCE);
/* Root Port */
- object_initialize_child(obj, "root", &phb->root, sizeof(phb->root),
- TYPE_PNV_PHB4_ROOT_PORT, &error_abort, NULL);
+ object_initialize_child(obj, "root", &phb->root, TYPE_PNV_PHB4_ROOT_PORT);
qdev_prop_set_int32(DEVICE(&phb->root), "addr", PCI_DEVFN(0, 0));
qdev_prop_set_bit(DEVICE(&phb->root), "multifunction", false);
diff --git a/hw/pci-host/pnv_phb4_pec.c b/hw/pci-host/pnv_phb4_pec.c
index 565345a..f9b41c5 100644
--- a/hw/pci-host/pnv_phb4_pec.c
+++ b/hw/pci-host/pnv_phb4_pec.c
@@ -370,8 +370,7 @@ static void pnv_pec_instance_init(Object *obj)
for (i = 0; i < PHB4_PEC_MAX_STACKS; i++) {
object_initialize_child(obj, "stack[*]", &pec->stacks[i],
- sizeof(pec->stacks[i]), TYPE_PNV_PHB4_PEC_STACK,
- &error_abort, NULL);
+ TYPE_PNV_PHB4_PEC_STACK);
}
}
@@ -522,8 +521,7 @@ static void pnv_pec_stk_instance_init(Object *obj)
{
PnvPhb4PecStack *stack = PNV_PHB4_PEC_STACK(obj);
- object_initialize_child(obj, "phb", &stack->phb, sizeof(stack->phb),
- TYPE_PNV_PHB4, &error_abort, NULL);
+ object_initialize_child(obj, "phb", &stack->phb, TYPE_PNV_PHB4);
}
static void pnv_pec_stk_realize(DeviceState *dev, Error **errp)
diff --git a/hw/pci-host/q35.c b/hw/pci-host/q35.c
index 43ed518..b67cb9c 100644
--- a/hw/pci-host/q35.c
+++ b/hw/pci-host/q35.c
@@ -212,8 +212,7 @@ static void q35_host_initfn(Object *obj)
memory_region_init_io(&phb->data_mem, obj, &pci_host_data_le_ops, phb,
"pci-conf-data", 4);
- object_initialize_child(OBJECT(s), "mch", &s->mch, sizeof(s->mch),
- TYPE_MCH_PCI_DEVICE, &error_abort, NULL);
+ object_initialize_child(OBJECT(s), "mch", &s->mch, TYPE_MCH_PCI_DEVICE);
qdev_prop_set_int32(DEVICE(&s->mch), "addr", PCI_DEVFN(0, 0));
qdev_prop_set_bit(DEVICE(&s->mch), "multifunction", false);
/* mch's object_initialize resets the default value, set it again */
diff --git a/hw/pci-host/xilinx-pcie.c b/hw/pci-host/xilinx-pcie.c
index e4fc8ab..3b32142 100644
--- a/hw/pci-host/xilinx-pcie.c
+++ b/hw/pci-host/xilinx-pcie.c
@@ -151,8 +151,7 @@ static void xilinx_pcie_host_init(Object *obj)
XilinxPCIEHost *s = XILINX_PCIE_HOST(obj);
XilinxPCIERoot *root = &s->root;
- object_initialize_child(obj, "root", root, sizeof(*root),
- TYPE_XILINX_PCIE_ROOT, &error_abort, NULL);
+ object_initialize_child(obj, "root", root, TYPE_XILINX_PCIE_ROOT);
qdev_prop_set_int32(DEVICE(root), "addr", PCI_DEVFN(0, 0));
qdev_prop_set_bit(DEVICE(root), "multifunction", false);
}