mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07: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:
@@ -41,9 +41,8 @@ static void aw_a10_init(Object *obj)
|
||||
{
|
||||
AwA10State *s = AW_A10(obj);
|
||||
|
||||
object_initialize_child(obj, "cpu", &s->cpu, sizeof(s->cpu),
|
||||
ARM_CPU_TYPE_NAME("cortex-a8"),
|
||||
&error_abort, NULL);
|
||||
object_initialize_child(obj, "cpu", &s->cpu,
|
||||
ARM_CPU_TYPE_NAME("cortex-a8"));
|
||||
|
||||
sysbus_init_child_obj(obj, "intc", &s->intc, sizeof(s->intc),
|
||||
TYPE_AW_A10_PIC);
|
||||
|
||||
@@ -194,9 +194,8 @@ static void allwinner_h3_init(Object *obj)
|
||||
s->memmap = allwinner_h3_memmap;
|
||||
|
||||
for (int i = 0; i < AW_H3_NUM_CPUS; i++) {
|
||||
object_initialize_child(obj, "cpu[*]", &s->cpus[i], sizeof(s->cpus[i]),
|
||||
ARM_CPU_TYPE_NAME("cortex-a7"),
|
||||
&error_abort, NULL);
|
||||
object_initialize_child(obj, "cpu[*]", &s->cpus[i],
|
||||
ARM_CPU_TYPE_NAME("cortex-a7"));
|
||||
}
|
||||
|
||||
sysbus_init_child_obj(obj, "gic", &s->gic, sizeof(s->gic),
|
||||
|
||||
+8
-18
@@ -251,9 +251,7 @@ static void armsse_init(Object *obj)
|
||||
char *name;
|
||||
|
||||
name = g_strdup_printf("cluster%d", i);
|
||||
object_initialize_child(obj, name, &s->cluster[i],
|
||||
sizeof(s->cluster[i]), TYPE_CPU_CLUSTER,
|
||||
&error_abort, NULL);
|
||||
object_initialize_child(obj, name, &s->cluster[i], TYPE_CPU_CLUSTER);
|
||||
qdev_prop_set_uint32(DEVICE(&s->cluster[i]), "cluster-id", i);
|
||||
g_free(name);
|
||||
|
||||
@@ -287,15 +285,13 @@ static void armsse_init(Object *obj)
|
||||
g_free(name);
|
||||
}
|
||||
object_initialize_child(obj, "mpc-irq-orgate", &s->mpc_irq_orgate,
|
||||
sizeof(s->mpc_irq_orgate), TYPE_OR_IRQ,
|
||||
&error_abort, NULL);
|
||||
TYPE_OR_IRQ);
|
||||
|
||||
for (i = 0; i < IOTS_NUM_EXP_MPC + info->sram_banks; i++) {
|
||||
char *name = g_strdup_printf("mpc-irq-splitter-%d", i);
|
||||
SplitIRQ *splitter = &s->mpc_irq_splitter[i];
|
||||
|
||||
object_initialize_child(obj, name, splitter, sizeof(*splitter),
|
||||
TYPE_SPLIT_IRQ, &error_abort, NULL);
|
||||
object_initialize_child(obj, name, splitter, TYPE_SPLIT_IRQ);
|
||||
g_free(name);
|
||||
}
|
||||
sysbus_init_child_obj(obj, "timer0", &s->timer0, sizeof(s->timer0),
|
||||
@@ -375,21 +371,16 @@ static void armsse_init(Object *obj)
|
||||
g_free(name);
|
||||
}
|
||||
}
|
||||
object_initialize_child(obj, "nmi-orgate", &s->nmi_orgate,
|
||||
sizeof(s->nmi_orgate), TYPE_OR_IRQ,
|
||||
&error_abort, NULL);
|
||||
object_initialize_child(obj, "nmi-orgate", &s->nmi_orgate, TYPE_OR_IRQ);
|
||||
object_initialize_child(obj, "ppc-irq-orgate", &s->ppc_irq_orgate,
|
||||
sizeof(s->ppc_irq_orgate), TYPE_OR_IRQ,
|
||||
&error_abort, NULL);
|
||||
TYPE_OR_IRQ);
|
||||
object_initialize_child(obj, "sec-resp-splitter", &s->sec_resp_splitter,
|
||||
sizeof(s->sec_resp_splitter), TYPE_SPLIT_IRQ,
|
||||
&error_abort, NULL);
|
||||
TYPE_SPLIT_IRQ);
|
||||
for (i = 0; i < ARRAY_SIZE(s->ppc_irq_splitter); i++) {
|
||||
char *name = g_strdup_printf("ppc-irq-splitter-%d", i);
|
||||
SplitIRQ *splitter = &s->ppc_irq_splitter[i];
|
||||
|
||||
object_initialize_child(obj, name, splitter, sizeof(*splitter),
|
||||
TYPE_SPLIT_IRQ, &error_abort, NULL);
|
||||
object_initialize_child(obj, name, splitter, TYPE_SPLIT_IRQ);
|
||||
g_free(name);
|
||||
}
|
||||
if (info->num_cpus > 1) {
|
||||
@@ -398,8 +389,7 @@ static void armsse_init(Object *obj)
|
||||
char *name = g_strdup_printf("cpu-irq-splitter%d", i);
|
||||
SplitIRQ *splitter = &s->cpu_irq_splitter[i];
|
||||
|
||||
object_initialize_child(obj, name, splitter, sizeof(*splitter),
|
||||
TYPE_SPLIT_IRQ, &error_abort, NULL);
|
||||
object_initialize_child(obj, name, splitter, TYPE_SPLIT_IRQ);
|
||||
g_free(name);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-3
@@ -267,9 +267,7 @@ static void aspeed_machine_init(MachineState *machine)
|
||||
4 * GiB);
|
||||
memory_region_add_subregion(&bmc->ram_container, 0, machine->ram);
|
||||
|
||||
object_initialize_child(OBJECT(machine), "soc", &bmc->soc,
|
||||
sizeof(bmc->soc), amc->soc_name, &error_abort,
|
||||
NULL);
|
||||
object_initialize_child(OBJECT(machine), "soc", &bmc->soc, amc->soc_name);
|
||||
|
||||
sc = ASPEED_SOC_GET_CLASS(&bmc->soc);
|
||||
|
||||
|
||||
@@ -127,9 +127,7 @@ static void aspeed_soc_ast2600_init(Object *obj)
|
||||
}
|
||||
|
||||
for (i = 0; i < sc->num_cpus; i++) {
|
||||
object_initialize_child(obj, "cpu[*]", OBJECT(&s->cpu[i]),
|
||||
sizeof(s->cpu[i]), sc->cpu_type,
|
||||
&error_abort, NULL);
|
||||
object_initialize_child(obj, "cpu[*]", &s->cpu[i], sc->cpu_type);
|
||||
}
|
||||
|
||||
snprintf(typename, sizeof(typename), "aspeed.scu-%s", socname);
|
||||
|
||||
+1
-3
@@ -142,9 +142,7 @@ static void aspeed_soc_init(Object *obj)
|
||||
}
|
||||
|
||||
for (i = 0; i < sc->num_cpus; i++) {
|
||||
object_initialize_child(obj, "cpu[*]", OBJECT(&s->cpu[i]),
|
||||
sizeof(s->cpu[i]), sc->cpu_type,
|
||||
&error_abort, NULL);
|
||||
object_initialize_child(obj, "cpu[*]", &s->cpu[i], sc->cpu_type);
|
||||
}
|
||||
|
||||
snprintf(typename, sizeof(typename), "aspeed.scu-%s", socname);
|
||||
|
||||
+1
-2
@@ -53,8 +53,7 @@ static void bcm2836_init(Object *obj)
|
||||
|
||||
for (n = 0; n < BCM283X_NCPUS; n++) {
|
||||
object_initialize_child(obj, "cpu[*]", &s->cpu[n].core,
|
||||
sizeof(s->cpu[n].core), info->cpu_type,
|
||||
&error_abort, NULL);
|
||||
info->cpu_type);
|
||||
}
|
||||
|
||||
sysbus_init_child_obj(obj, "control", &s->control, sizeof(s->control),
|
||||
|
||||
+1
-3
@@ -36,9 +36,7 @@ static void digic_init(Object *obj)
|
||||
DigicState *s = DIGIC(obj);
|
||||
int i;
|
||||
|
||||
object_initialize_child(obj, "cpu", &s->cpu, sizeof(s->cpu),
|
||||
ARM_CPU_TYPE_NAME("arm946"),
|
||||
&error_abort, NULL);
|
||||
object_initialize_child(obj, "cpu", &s->cpu, ARM_CPU_TYPE_NAME("arm946"));
|
||||
|
||||
for (i = 0; i < DIGIC4_NB_TIMERS; i++) {
|
||||
#define DIGIC_TIMER_NAME_MLEN 11
|
||||
|
||||
+1
-2
@@ -482,8 +482,7 @@ static void exynos4210_init(Object *obj)
|
||||
char *name = g_strdup_printf("pl330-irq-orgate%d", i);
|
||||
qemu_or_irq *orgate = &s->pl330_irq_orgate[i];
|
||||
|
||||
object_initialize_child(obj, name, orgate, sizeof(*orgate),
|
||||
TYPE_OR_IRQ, &error_abort, NULL);
|
||||
object_initialize_child(obj, name, orgate, TYPE_OR_IRQ);
|
||||
g_free(name);
|
||||
}
|
||||
}
|
||||
|
||||
+1
-3
@@ -38,9 +38,7 @@ static void fsl_imx25_init(Object *obj)
|
||||
FslIMX25State *s = FSL_IMX25(obj);
|
||||
int i;
|
||||
|
||||
object_initialize_child(obj, "cpu", &s->cpu, sizeof(s->cpu),
|
||||
ARM_CPU_TYPE_NAME("arm926"),
|
||||
&error_abort, NULL);
|
||||
object_initialize_child(obj, "cpu", &s->cpu, ARM_CPU_TYPE_NAME("arm926"));
|
||||
|
||||
sysbus_init_child_obj(obj, "avic", &s->avic, sizeof(s->avic),
|
||||
TYPE_IMX_AVIC);
|
||||
|
||||
+1
-3
@@ -33,9 +33,7 @@ static void fsl_imx31_init(Object *obj)
|
||||
FslIMX31State *s = FSL_IMX31(obj);
|
||||
int i;
|
||||
|
||||
object_initialize_child(obj, "cpu", &s->cpu, sizeof(s->cpu),
|
||||
ARM_CPU_TYPE_NAME("arm1136"),
|
||||
&error_abort, NULL);
|
||||
object_initialize_child(obj, "cpu", &s->cpu, ARM_CPU_TYPE_NAME("arm1136"));
|
||||
|
||||
sysbus_init_child_obj(obj, "avic", &s->avic, sizeof(s->avic),
|
||||
TYPE_IMX_AVIC);
|
||||
|
||||
+2
-3
@@ -43,9 +43,8 @@ static void fsl_imx6_init(Object *obj)
|
||||
|
||||
for (i = 0; i < MIN(ms->smp.cpus, FSL_IMX6_NUM_CPUS); i++) {
|
||||
snprintf(name, NAME_SIZE, "cpu%d", i);
|
||||
object_initialize_child(obj, name, &s->cpu[i], sizeof(s->cpu[i]),
|
||||
ARM_CPU_TYPE_NAME("cortex-a9"),
|
||||
&error_abort, NULL);
|
||||
object_initialize_child(obj, name, &s->cpu[i],
|
||||
ARM_CPU_TYPE_NAME("cortex-a9"));
|
||||
}
|
||||
|
||||
sysbus_init_child_obj(obj, "a9mpcore", &s->a9mpcore, sizeof(s->a9mpcore),
|
||||
|
||||
+2
-2
@@ -34,8 +34,8 @@ static void fsl_imx6ul_init(Object *obj)
|
||||
char name[NAME_SIZE];
|
||||
int i;
|
||||
|
||||
object_initialize_child(obj, "cpu0", &s->cpu, sizeof(s->cpu),
|
||||
ARM_CPU_TYPE_NAME("cortex-a7"), &error_abort, NULL);
|
||||
object_initialize_child(obj, "cpu0", &s->cpu,
|
||||
ARM_CPU_TYPE_NAME("cortex-a7"));
|
||||
|
||||
/*
|
||||
* A7MPCORE
|
||||
|
||||
+2
-3
@@ -38,9 +38,8 @@ static void fsl_imx7_init(Object *obj)
|
||||
|
||||
for (i = 0; i < MIN(ms->smp.cpus, FSL_IMX7_NUM_CPUS); i++) {
|
||||
snprintf(name, NAME_SIZE, "cpu%d", i);
|
||||
object_initialize_child(obj, name, &s->cpu[i], sizeof(s->cpu[i]),
|
||||
ARM_CPU_TYPE_NAME("cortex-a7"), &error_abort,
|
||||
NULL);
|
||||
object_initialize_child(obj, name, &s->cpu[i],
|
||||
ARM_CPU_TYPE_NAME("cortex-a7"));
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
+1
-2
@@ -73,8 +73,7 @@ static void imx25_pdk_init(MachineState *machine)
|
||||
unsigned int alias_offset;
|
||||
int i;
|
||||
|
||||
object_initialize_child(OBJECT(machine), "soc", &s->soc, sizeof(s->soc),
|
||||
TYPE_FSL_IMX25, &error_abort, NULL);
|
||||
object_initialize_child(OBJECT(machine), "soc", &s->soc, TYPE_FSL_IMX25);
|
||||
|
||||
object_property_set_bool(OBJECT(&s->soc), true, "realized", &error_fatal);
|
||||
|
||||
|
||||
+1
-2
@@ -71,8 +71,7 @@ static void kzm_init(MachineState *machine)
|
||||
unsigned int alias_offset;
|
||||
unsigned int i;
|
||||
|
||||
object_initialize_child(OBJECT(machine), "soc", &s->soc, sizeof(s->soc),
|
||||
TYPE_FSL_IMX31, &error_abort, NULL);
|
||||
object_initialize_child(OBJECT(machine), "soc", &s->soc, TYPE_FSL_IMX31);
|
||||
|
||||
object_property_set_bool(OBJECT(&s->soc), true, "realized", &error_fatal);
|
||||
|
||||
|
||||
+6
-8
@@ -414,9 +414,10 @@ static void mps2tz_common_init(MachineState *machine)
|
||||
char *name = g_strdup_printf("mps2-irq-splitter%d", i);
|
||||
SplitIRQ *splitter = &mms->cpu_irq_splitter[i];
|
||||
|
||||
object_initialize_child(OBJECT(machine), name,
|
||||
splitter, sizeof(*splitter),
|
||||
TYPE_SPLIT_IRQ, &error_fatal, NULL);
|
||||
object_initialize_child_with_props(OBJECT(machine), name,
|
||||
splitter, sizeof(*splitter),
|
||||
TYPE_SPLIT_IRQ, &error_fatal,
|
||||
NULL);
|
||||
g_free(name);
|
||||
|
||||
object_property_set_int(OBJECT(splitter), 2, "num-lines",
|
||||
@@ -436,9 +437,7 @@ static void mps2tz_common_init(MachineState *machine)
|
||||
* lines, one for each of the PPCs we create here, plus one per MSC.
|
||||
*/
|
||||
object_initialize_child(OBJECT(machine), "sec-resp-splitter",
|
||||
&mms->sec_resp_splitter,
|
||||
sizeof(mms->sec_resp_splitter),
|
||||
TYPE_SPLIT_IRQ, &error_abort, NULL);
|
||||
&mms->sec_resp_splitter, TYPE_SPLIT_IRQ);
|
||||
object_property_set_int(OBJECT(&mms->sec_resp_splitter),
|
||||
ARRAY_SIZE(mms->ppc) + ARRAY_SIZE(mms->msc),
|
||||
"num-lines", &error_fatal);
|
||||
@@ -472,8 +471,7 @@ static void mps2tz_common_init(MachineState *machine)
|
||||
* Create the OR gate for this.
|
||||
*/
|
||||
object_initialize_child(OBJECT(mms), "uart-irq-orgate",
|
||||
&mms->uart_irq_orgate, sizeof(mms->uart_irq_orgate),
|
||||
TYPE_OR_IRQ, &error_abort, NULL);
|
||||
&mms->uart_irq_orgate, TYPE_OR_IRQ);
|
||||
object_property_set_int(OBJECT(&mms->uart_irq_orgate), 10, "num-lines",
|
||||
&error_fatal);
|
||||
object_property_set_bool(OBJECT(&mms->uart_irq_orgate), true,
|
||||
|
||||
+7
-7
@@ -404,9 +404,9 @@ static void musca_init(MachineState *machine)
|
||||
char *name = g_strdup_printf("musca-irq-splitter%d", i);
|
||||
SplitIRQ *splitter = &mms->cpu_irq_splitter[i];
|
||||
|
||||
object_initialize_child(OBJECT(machine), name,
|
||||
splitter, sizeof(*splitter),
|
||||
TYPE_SPLIT_IRQ, &error_fatal, NULL);
|
||||
object_initialize_child_with_props(OBJECT(machine), name, splitter,
|
||||
sizeof(*splitter), TYPE_SPLIT_IRQ,
|
||||
&error_fatal, NULL);
|
||||
g_free(name);
|
||||
|
||||
object_property_set_int(OBJECT(splitter), 2, "num-lines",
|
||||
@@ -424,10 +424,10 @@ static void musca_init(MachineState *machine)
|
||||
* The sec_resp_cfg output from the SSE-200 must be split into multiple
|
||||
* lines, one for each of the PPCs we create here.
|
||||
*/
|
||||
object_initialize_child(OBJECT(machine), "sec-resp-splitter",
|
||||
&mms->sec_resp_splitter,
|
||||
sizeof(mms->sec_resp_splitter),
|
||||
TYPE_SPLIT_IRQ, &error_fatal, NULL);
|
||||
object_initialize_child_with_props(OBJECT(machine), "sec-resp-splitter",
|
||||
&mms->sec_resp_splitter,
|
||||
sizeof(mms->sec_resp_splitter),
|
||||
TYPE_SPLIT_IRQ, &error_fatal, NULL);
|
||||
|
||||
object_property_set_int(OBJECT(&mms->sec_resp_splitter),
|
||||
ARRAY_SIZE(mms->ppc), "num-lines", &error_fatal);
|
||||
|
||||
+2
-2
@@ -282,8 +282,8 @@ static void raspi_machine_init(MachineState *machine)
|
||||
machine->ram, 0);
|
||||
|
||||
/* Setup the SOC */
|
||||
object_initialize_child(OBJECT(machine), "soc", &s->soc, sizeof(s->soc),
|
||||
board_soc_type(board_rev), &error_abort, NULL);
|
||||
object_initialize_child(OBJECT(machine), "soc", &s->soc,
|
||||
board_soc_type(board_rev));
|
||||
object_property_add_const_link(OBJECT(&s->soc), "ram", OBJECT(machine->ram));
|
||||
object_property_set_int(OBJECT(&s->soc), board_rev, "board-rev",
|
||||
&error_abort);
|
||||
|
||||
@@ -169,9 +169,9 @@ static void stm32f405_soc_realize(DeviceState *dev_soc, Error **errp)
|
||||
}
|
||||
|
||||
/* ADC device, the IRQs are ORed together */
|
||||
object_initialize_child(OBJECT(s), "adc-orirq", &s->adc_irqs,
|
||||
sizeof(s->adc_irqs), TYPE_OR_IRQ,
|
||||
&err, NULL);
|
||||
object_initialize_child_with_props(OBJECT(s), "adc-orirq", &s->adc_irqs,
|
||||
sizeof(s->adc_irqs), TYPE_OR_IRQ, &err,
|
||||
NULL);
|
||||
if (err != NULL) {
|
||||
error_propagate(errp, err);
|
||||
return;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user