mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-12-11 16:00:50 -07:00
This is the same transformation as in the previous commit, except
sysbus_init_child_obj() and realize are too separated for the commit's
Coccinelle script to handle, typically because sysbus_init_child_obj()
is in a device's instance_init() method, and the matching realize is
in its realize() method.
Perhaps a Coccinelle wizard could make it transform that pattern, but
I'm just a bungler, and the best I can do is transforming the two
separate parts separately:
@@
expression errp;
expression child;
symbol true;
@@
- object_property_set_bool(OBJECT(child), true, "realized", errp);
+ sysbus_realize(SYS_BUS_DEVICE(child), errp);
// only correct with a matching sysbus_init_child_obj() transformation!
@@
expression errp;
expression child;
symbol true;
@@
- object_property_set_bool(child, true, "realized", errp);
+ sysbus_realize(SYS_BUS_DEVICE(child), errp);
// only correct with a matching sysbus_init_child_obj() transformation!
@@
expression child;
@@
- qdev_init_nofail(DEVICE(child));
+ sysbus_realize(SYS_BUS_DEVICE(child), &error_fatal);
// only correct with a matching sysbus_init_child_obj() transformation!
@@
expression child;
expression dev;
@@
dev = DEVICE(child);
...
- qdev_init_nofail(dev);
+ sysbus_realize(SYS_BUS_DEVICE(dev), &error_fatal);
// only correct with a matching sysbus_init_child_obj() transformation!
@@
expression child;
identifier dev;
@@
DeviceState *dev = DEVICE(child);
...
- qdev_init_nofail(dev);
+ sysbus_realize(SYS_BUS_DEVICE(dev), &error_fatal);
// only correct with a matching sysbus_init_child_obj() transformation!
@@
expression parent, name, size, type;
expression child;
symbol true;
@@
- sysbus_init_child_obj(parent, name, child, size, type);
+ sysbus_init_child_XXX(parent, name, child, size, type);
@@
expression parent, propname, type;
expression child;
@@
- sysbus_init_child_XXX(parent, propname, child, sizeof(*child), type)
+ object_initialize_child(parent, propname, child, type)
@@
expression parent, propname, type;
expression child;
@@
- sysbus_init_child_XXX(parent, propname, &child, sizeof(child), type)
+ object_initialize_child(parent, propname, &child, type)
This script is *unsound*: we need to manually verify init and realize
conversions are properly paired.
This commit has only the pairs where object_initialize_child()'s
@child and sysbus_realize()'s @dev argument text match exactly within
the same source file.
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>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
Message-Id: <20200610053247.1583243-49-armbru@redhat.com>
|
||
|---|---|---|
| .. | ||
| macio | ||
| a9scu.c | ||
| allwinner-cpucfg.c | ||
| allwinner-h3-ccu.c | ||
| allwinner-h3-dramc.c | ||
| allwinner-h3-sysctrl.c | ||
| allwinner-sid.c | ||
| applesmc.c | ||
| arm11scu.c | ||
| arm_integrator_debug.c | ||
| arm_l2x0.c | ||
| arm_sysctl.c | ||
| armsse-cpuid.c | ||
| armsse-mhu.c | ||
| aspeed_scu.c | ||
| aspeed_sdmc.c | ||
| aspeed_xdma.c | ||
| auxbus.c | ||
| bcm2835_mbox.c | ||
| bcm2835_mphi.c | ||
| bcm2835_property.c | ||
| bcm2835_rng.c | ||
| bcm2835_thermal.c | ||
| cbus.c | ||
| debugexit.c | ||
| eccmemctl.c | ||
| edu.c | ||
| empty_slot.c | ||
| exynos4210_clk.c | ||
| exynos4210_pmu.c | ||
| exynos4210_rng.c | ||
| grlib_ahb_apb_pnp.c | ||
| imx6_ccm.c | ||
| imx6_src.c | ||
| imx6ul_ccm.c | ||
| imx7_ccm.c | ||
| imx7_gpr.c | ||
| imx7_snvs.c | ||
| imx25_ccm.c | ||
| imx31_ccm.c | ||
| imx_ccm.c | ||
| imx_rngc.c | ||
| iotkit-secctl.c | ||
| iotkit-sysctl.c | ||
| iotkit-sysinfo.c | ||
| ivshmem.c | ||
| Kconfig | ||
| mac_via.c | ||
| Makefile.objs | ||
| max111x.c | ||
| milkymist-hpdmc.c | ||
| milkymist-pfpu.c | ||
| mips_cmgcr.c | ||
| mips_cpc.c | ||
| mips_itu.c | ||
| mos6522.c | ||
| mps2-fpgaio.c | ||
| mps2-scc.c | ||
| msf2-sysreg.c | ||
| mst_fpga.c | ||
| nrf51_rng.c | ||
| omap_clk.c | ||
| omap_gpmc.c | ||
| omap_l4.c | ||
| omap_sdrc.c | ||
| omap_tap.c | ||
| pc-testdev.c | ||
| pca9552.c | ||
| pci-testdev.c | ||
| puv3_pm.c | ||
| pvpanic.c | ||
| sga.c | ||
| slavio_misc.c | ||
| stm32f2xx_syscfg.c | ||
| stm32f4xx_exti.c | ||
| stm32f4xx_syscfg.c | ||
| tmp105.c | ||
| tmp105.h | ||
| tmp421.c | ||
| trace-events | ||
| tz-mpc.c | ||
| tz-msc.c | ||
| tz-ppc.c | ||
| unimp.c | ||
| vmcoreinfo.c | ||
| zynq-xadc.c | ||
| zynq_slcr.c | ||