99ba777e53
In addition to the qdev_create() patterns converted so far, we have a qdev_set_parent_bus() pattern. Mostly when we embed a device in a parent device rather than allocating it on the heap. This pattern also puts devices in the dangerous "no QOM parent, but plugged into bus" state I explained in recent commit "qdev: New qdev_new(), qdev_realize(), etc." Apply same solution: convert to qdev_realize(). Coccinelle script: @@ expression dev, bus, errp; symbol true; @@ - qdev_set_parent_bus(DEVICE(dev), bus); ... - object_property_set_bool(OBJECT(dev), true, "realized", errp); + qdev_realize(DEVICE(dev), bus, errp); @ depends on !(file in "qdev-monitor.c") && !(file in "hw/core/qdev.c")@ expression dev, bus, errp; symbol true; @@ - qdev_set_parent_bus(dev, bus); ... - object_property_set_bool(OBJECT(dev), true, "realized", errp); + qdev_realize(dev, bus, errp); @@ expression dev, bus; symbol true; @@ - qdev_set_parent_bus(DEVICE(dev), bus); ... - qdev_init_nofail(DEVICE(dev)); + qdev_realize(DEVICE(dev), bus, &error_fatal); Unconverted uses of qdev_set_parent_bus() remain. They'll be converted later in this series. Signed-off-by: Markus Armbruster <armbru@redhat.com> Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com> Reviewed-by: Paolo Bonzini <pbonzini@redhat.com> Message-Id: <20200610053247.1583243-12-armbru@redhat.com> [Also convert new hw/virtio/vhost-user-vsock-pci.c] |
||
---|---|---|
.. | ||
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_slcr.c | ||
zynq-xadc.c |