Re: [RFC PATCH 002/134] qdev: Rename qdev_new()/qdev_try_new() to *_orphan()
Philippe Mathieu-Daudé <[email protected]>
| Newsgroups | org.nongnu.qemu-riscv,org.nongnu.qemu-arm,org.nongnu.qemu-devel |
|---|---|
| Message-ID | <[email protected]> |
On 12/7/26 00:34, Alexander Graf wrote: > qdev_new() creates a device on the heap without a QOM parent. If the > caller does not add one before realize, device_set_realized() dumps > the device into /machine/unattached with an unstable canonical path. > > We want the short spelling qdev_new() to be the one that gets > parenting right by construction. As a first step, rename the current > functions to qdev_new_orphan() and qdev_try_new_orphan() tree-wide so > that a subsequent commit can reintroduce qdev_new() with a mandatory > (parent, id, type) signature. > > Purely mechanical, generated by > > spatch --sp-file scripts/coccinelle/qom-parent/qdev-new-orphan.cocci \ > --in-place --include-headers --dir . > > or equivalently > > git ls-files '*.[ch]' '*.[ch].inc' '*.rst' '*.py' | \ > grep -v '^subprojects/' | \ > xargs sed -i 's/\bqdev_try_new\b/qdev_try_new_orphan/g; > s/\bqdev_new\b/qdev_new_orphan/g' > > No functional change. > > Assisted-by: Kiro > Signed-off-by: Alexander Graf <[email protected]> > --- > hw/alpha/typhoon.c | 2 +- > hw/arm/aspeed.c | 2 +- > hw/arm/aspeed_soc_common.c | 4 +- > hw/arm/bananapi_m2u.c | 2 +- > hw/arm/cubieboard.c | 2 +- > hw/arm/exynos4210.c | 12 ++-- > hw/arm/imx25_pdk.c | 2 +- > hw/arm/imx8mm-evk.c | 2 +- > hw/arm/imx8mp-evk.c | 2 +- > hw/arm/integratorcp.c | 8 +-- > hw/arm/max78000fthr.c | 2 +- > hw/arm/mcimx6ul-evk.c | 2 +- > hw/arm/mcimx7d-sabre.c | 2 +- > hw/arm/mps2-tz.c | 4 +- > hw/arm/mps2.c | 4 +- > hw/arm/msf2-som.c | 4 +- > hw/arm/musicpal.c | 6 +- > hw/arm/netduino2.c | 2 +- > hw/arm/netduinoplus2.c | 2 +- > hw/arm/npcm7xx_boards.c | 4 +- > hw/arm/npcm8xx_boards.c | 2 +- > hw/arm/olimex-stm32-h405.c | 2 +- > hw/arm/omap1.c | 12 ++-- > hw/arm/orangepi.c | 2 +- > hw/arm/raspi.c | 2 +- > hw/arm/realview.c | 18 ++--- > hw/arm/sabrelite.c | 2 +- > hw/arm/sbsa-ref.c | 20 +++--- > hw/arm/stellaris.c | 20 +++--- > hw/arm/stm32vldiscovery.c | 2 +- > hw/arm/strongarm.c | 4 +- > hw/arm/versatilepb.c | 14 ++-- > hw/arm/vexpress.c | 14 ++-- > hw/arm/virt.c | 24 +++---- > hw/arm/xilinx_zynq.c | 26 +++---- > hw/arm/xlnx-versal-virt.c | 2 +- > hw/arm/xlnx-versal.c | 70 +++++++++---------- > hw/arm/xlnx-zcu102.c | 6 +- > hw/arm/xlnx-zynqmp.c | 2 +- > hw/audio/intel-hda.c | 2 +- > hw/audio/model.c | 2 +- > hw/avr/atmega.c | 2 +- > hw/block/fdc-sysbus.c | 4 +- > hw/block/fdc.c | 2 +- > hw/block/pflash_cfi01.c | 2 +- > hw/block/pflash_cfi02.c | 2 +- > hw/block/xen-block.c | 2 +- > hw/char/exynos4210_uart.c | 2 +- > hw/char/mcf_uart.c | 2 +- > hw/char/mchp_pfsoc_mmuart.c | 2 +- > hw/char/pl011.c | 2 +- > hw/char/serial-mm.c | 2 +- > hw/char/sifive_uart.c | 2 +- > hw/char/spapr_vty.c | 2 +- > hw/char/xen_console.c | 2 +- > hw/core/qdev.c | 4 +- > hw/core/sysbus.c | 2 +- > hw/cxl/cxl-host.c | 2 +- > hw/display/sm501.c | 2 +- > hw/display/xlnx_dp.c | 4 +- > hw/dma/rc4030.c | 2 +- > hw/hexagon/hexagon_dsp.c | 4 +- > hw/hexagon/virt.c | 6 +- > hw/hppa/machine.c | 12 ++-- > hw/i2c/core.c | 2 +- > hw/i2c/smbus_eeprom.c | 2 +- > hw/i386/microvm.c | 6 +- > hw/i386/nitro_enclave.c | 4 +- > hw/i386/pc.c | 2 +- > hw/i386/pc_piix.c | 2 +- > hw/i386/pc_q35.c | 2 +- > hw/i386/pc_sysfw.c | 2 +- > hw/i386/sgx.c | 2 +- > hw/i386/x86-common.c | 6 +- > hw/i3c/core.c | 2 +- > hw/ide/ide-bus.c | 2 +- > hw/intc/exynos4210_gic.c | 2 +- > hw/intc/riscv_aclint.c | 4 +- > hw/intc/riscv_aplic.c | 2 +- > hw/intc/riscv_imsic.c | 2 +- > hw/intc/s390_flic.c | 4 +- > hw/intc/sifive_plic.c | 2 +- > hw/isa/isa-bus.c | 6 +- > hw/loongarch/virt.c | 18 ++--- > hw/m68k/an5206.c | 2 +- > hw/m68k/mcf_intc.c | 2 +- > hw/m68k/next-cube.c | 2 +- > hw/m68k/q800.c | 4 +- > hw/m68k/virt.c | 10 +-- > hw/mem/sparse-mem.c | 2 +- > hw/microblaze/petalogix_ml605_mmu.c | 12 ++-- > hw/microblaze/petalogix_s3adsp1800_mmu.c | 8 +-- > hw/mips/boston.c | 4 +- > hw/mips/jazz.c | 12 ++-- > hw/mips/loongson3_virt.c | 6 +- > hw/mips/malta.c | 4 +- > hw/misc/empty_slot.c | 2 +- > hw/misc/led.c | 2 +- > hw/misc/sifive_e_prci.c | 2 +- > hw/misc/sifive_test.c | 2 +- > hw/net/lan9118.c | 2 +- > hw/net/smc91c111.c | 2 +- > hw/net/spapr_llan.c | 2 +- > hw/net/xen_nic.c | 2 +- > hw/nitro/machine.c | 4 +- > hw/nitro/nitro-vsock-bus.c | 2 +- > hw/nvme/ctrl.c | 2 +- > hw/nvram/fw_cfg.c | 4 +- > hw/or1k/or1k-sim.c | 6 +- > hw/or1k/virt.c | 8 +-- > hw/pci-bridge/pci_expander_bridge.c | 4 +- > hw/pci-host/astro.c | 2 +- > hw/pci-host/bonito.c | 2 +- > hw/pci-host/pnv_phb4_pec.c | 2 +- > hw/pci/pci.c | 2 +- > hw/ppc/amigaone.c | 2 +- > hw/ppc/e500.c | 22 +++--- > hw/ppc/mac_newworld.c | 18 ++--- > hw/ppc/mac_oldworld.c | 8 +-- > hw/ppc/pnv.c | 4 +- > hw/ppc/pnv_bmc.c | 2 +- > hw/ppc/ppc440_bamboo.c | 4 +- > hw/ppc/prep.c | 4 +- > hw/ppc/sam460ex.c | 16 ++--- > hw/ppc/spapr.c | 4 +- > hw/ppc/spapr_irq.c | 2 +- > hw/ppc/spapr_vio.c | 2 +- > hw/ppc/virtex_ml507.c | 6 +- > hw/remote/machine.c | 2 +- > hw/riscv/boston-aia.c | 4 +- > hw/riscv/microblaze-v-generic.c | 14 ++-- > hw/riscv/microchip_pfsoc.c | 2 +- > hw/riscv/sifive_u.c | 4 +- > hw/riscv/virt.c | 8 +-- > hw/rtc/sun4v-rtc.c | 2 +- > hw/s390x/ap-bridge.c | 2 +- > hw/s390x/css-bridge.c | 2 +- > hw/s390x/s390-pci-bus.c | 2 +- > hw/s390x/s390-virtio-ccw.c | 6 +- > hw/scsi/lasi_ncr710.c | 2 +- > hw/scsi/ncr53c710.c | 4 +- > hw/scsi/scsi-bus.c | 2 +- > hw/scsi/spapr_vscsi.c | 2 +- > hw/sh4/r2d.c | 6 +- > hw/sh4/sh7750.c | 4 +- > hw/sparc/leon3.c | 10 +-- > hw/sparc/sun4m.c | 38 +++++----- > hw/sparc64/sun4u.c | 14 ++-- > hw/ssi/ssi.c | 2 +- > hw/tricore/tricore_testboard.c | 2 +- > hw/ufs/lu.c | 2 +- > hw/usb/bus.c | 4 +- > hw/usb/dev-serial.c | 2 +- > hw/vmapple/vmapple.c | 20 +++--- > hw/xen/xen-bus.c | 2 +- > hw/xen/xen-legacy-backend.c | 2 +- > hw/xen/xen-pvh-common.c | 2 +- > hw/xtensa/virt.c | 2 +- > hw/xtensa/xtfpga.c | 2 +- > include/hw/core/qdev.h | 14 ++-- > include/hw/i2c/i2c.h | 2 +- > include/hw/misc/unimp.h | 2 +- > include/hw/ssi/ssi.h | 2 +- > include/hw/usb/usb.h | 2 +- > migration/migration.c | 2 +- > net/net.c | 4 +- > .../qom-parent/qdev-new-orphan.cocci | 18 +++++ > system/qdev-monitor.c | 2 +- > target/mips/cpu.c | 2 +- > target/xtensa/cpu.c | 2 +- > 170 files changed, 459 insertions(+), 441 deletions(-) > create mode 100644 scripts/coccinelle/qom-parent/qdev-new-orphan.cocci Reviewed-by: Philippe Mathieu-Daudé <[email protected]>