All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Michael S. Tsirkin" <mst@redhat.com>
To: Markus Armbruster <armbru@redhat.com>
Cc: "Daniel P . Berrange" <berrange@redhat.com>,
	Eduardo Habkost <ehabkost@redhat.com>,
	Alistair Francis <alistair@alistair23.me>,
	Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>,
	qemu-devel@nongnu.org, Gerd Hoffmann <kraxel@redhat.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	David Gibson <david@gibson.dropbear.id.au>
Subject: Re: [PATCH RESEND v3 00/58] qdev: Rework how we plug into the parent bus
Date: Wed, 10 Jun 2020 01:41:51 -0400	[thread overview]
Message-ID: <20200610014004-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <20200610053247.1583243-1-armbru@redhat.com>

On Wed, Jun 10, 2020 at 07:31:49AM +0200, Markus Armbruster wrote:
> Paolo recently suggested "to move the bus argument (and thus
> qdev_set_parent_bus) to qdev_init"[1], and that it "would be quite
> large but hopefully scriptable"[2].  Nerd sniped!
> 
> The series is big, but at least the bigger patches are all mechanical.

PCI bits:

Reviewed-by: Michael S. Tsirkin <mst@redhat.com>


> It is based on my "[PATCH v3 00/24] Fixes around device realization".
> 
> I'm abstaining from cc'ing maintainers on mechanical conversions.  I
> still cc: for patches I deem interesting, with related patches thrown
> in for context.  Let me know if you think I should cc: more widely.
> 
> PATCH 01-03  	Preliminary cleanup
> PATCH 04     	New qdev infrastructure
>       	     	Commit message explains why the current state is
>       	     	problematic, and how my work improves it.
> PATCH 05-12  	Convert direct users of qdev
> PATCH 13-17  	Convert PCI
> PATCH 18-21  	Convert ISA
> PATCH 22-25  	Convert SSI
> PATCH 26-29  	Convert USB
> PATCH 30     	Garbage collection
> PATCH 31-34  	Convert aux-bus
> PATCH 35-42  	Clean up around child device initialization
> PATCH 43-52  	Convert sysbus
> PATCH 53     	Stop pretending recursive realization is about to become
>       	     	real
> PATCH 54-56  	Convert bus-less devices
> PATCH 57	Garbage collection
> PATCH 58	Maintain MAINTAINERS
> 
> Enjoy!
> 
> v3:
> * Rebased; noteworthy conflicts
>   - PATCH 36+48+56: commit fe0fe4735e7 (new machine opentitan)
>   - PATCH 47: commit 26cd0362dd4 (machines spike_v1.9.1 and
>     spike_v1.10 are gone)
>   - PATCH 48: commit 60bf734e64 and 3d46938bbb (new bmc2835
>     children)
>   - PATCH 48: v3 of "macio: Fix to realize "mos6522-cuda" and
>     "mos6522-pmu" devices"
>   Puh!
> * PATCH 08: Coccinelle script in commit message fixed; patch unchanged
> * PATCH 19+39+50: Coding style
> 
> v2:
> * Rebased
> * PATCH 02+03:
>   Old PATCH 02 is actually a revert, replace by propert reverts
>   [Philippe]
> * PATCH 04:
>   - Fix pasto [Alistair]
>   - Rephrase qdev_realize_and_unref()'s contract [Paolo]
>   - qdev_realize() passes on realize error unprefixed (because
>     prefixes can pile up)
> * PATCH 08:
>   Drop unwanted code motion [Paolo]
> * PATCH 09:
>   - Make the Coccinelle script safer; output unchanged [Paolo]
>   - Delete a Coccinelle rule that due to rebase applies just once;
>     move its code changes (hw/char/serial.c, hw/display/ati.c,
>     half of hw/display/sm501.c) to the next patch
>   - Move changes to hw/arm/highbank.c to next patch, where they belong
> * PATCH 31:
>   New [Philippe]
> * PATCH 32:
>   Rename aux_realize_bus() to aux_bus_realize() [Philippe]
> * PATCH 47:
>   &dev->parent_obj doesn't work after rebase, use SYS_BUS_DEVICE(dev)
>   instead
> * PATCH 52:
>   New [Philippe]
> * PATCH 53:
>   Clean up on realize error [David]
> * PATCH 54:
>   Don't restrict qdev_realize_and_unref() to non-null bus [Paolo]
> 
> [1]
> Subject: Re: Infinite loop in bus_unparent(), qdev bug or qdev misuse?
> Date: Mon, 4 May 2020 16:58:54 +0200
> Message-ID: <6fc8633a-6d91-b83a-e6cd-5f714ccaf9ea@redhat.com>
> 
> [2]
> Subject: Re: Infinite loop in bus_unparent(), qdev bug or qdev misuse?
> Date: Tue, 5 May 2020 18:26:57 +0200
> Message-ID: <a4df3ba3-4759-56ac-68f8-f75eea93e27e@redhat.com>
> 
> Based-on: <20200609122339.937862-1-armbru@redhat.com>
> Cc: Paolo Bonzini <pbonzini@redhat.com>
> Cc: Daniel P. Berrange <berrange@redhat.com>
> Cc: Eduardo Habkost <ehabkost@redhat.com>
> Cc: Michael S. Tsirkin <mst@redhat.com>
> Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com>
> Cc: Alistair Francis <alistair@alistair23.me>
> Cc: Gerd Hoffmann <kraxel@redhat.com>
> Cc: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
> Cc: David Gibson <david@gibson.dropbear.id.au>
> 
> Markus Armbruster (58):
>   qdev: Rename qbus_realize() to qbus_init()
>   Revert "hw/prep: realize the PCI root bus as part of the prep init"
>   Revert "hw/versatile: realize the PCI root bus as part of the
>     versatile init"
>   qdev: New qdev_new(), qdev_realize(), etc.
>   qdev: Put qdev_new() to use with Coccinelle
>   qdev: Convert to qbus_realize(), qbus_unrealize()
>   qdev: Convert to qdev_unrealize() with Coccinelle
>   qdev: Convert to qdev_unrealize() manually
>   qdev: Convert uses of qdev_create() with Coccinelle
>   qdev: Convert uses of qdev_create() manually
>   qdev: Convert uses of qdev_set_parent_bus() with Coccinelle
>   qdev: Convert uses of qdev_set_parent_bus() manually
>   pci: New pci_new(), pci_realize_and_unref() etc.
>   hw/ppc: Eliminate two superfluous QOM casts
>   pci: Convert uses of pci_create() etc. with Coccinelle
>   pci: Convert uses of pci_create() etc. manually
>   pci: pci_create(), pci_create_multifunction() are now unused, drop
>   isa: New isa_new(), isa_realize_and_unref() etc.
>   isa: Convert uses of isa_create() with Coccinelle
>   isa: Convert uses of isa_create(), isa_try_create() manually
>   isa: isa_create(), isa_try_create() are now unused, drop
>   ssi: ssi_auto_connect_slaves() never does anything, drop
>   ssi: Convert uses of ssi_create_slave_no_init() with Coccinelle
>   ssi: Convert last use of ssi_create_slave_no_init() manually
>   ssi: ssi_create_slave_no_init() is now unused, drop
>   usb: New usb_new(), usb_realize_and_unref()
>   usb: Convert uses of usb_create()
>   usb: usb_create() is now unused, drop
>   usb: Eliminate usb_try_create_simple()
>   qdev: qdev_create(), qdev_try_create() are now unused, drop
>   auxbus: Rename aux_init_bus() to aux_bus_init()
>   auxbus: New aux_bus_realize(), pairing with aux_bus_init()
>   auxbus: Convert a use of qdev_set_parent_bus()
>   auxbus: Eliminate aux_create_slave()
>   qom: Tidy up a few object_initialize_child() calls
>   qom: Less verbose object_initialize_child()
>   macio: Convert use of qdev_set_parent_bus()
>   macio: Eliminate macio_init_child_obj()
>   sysbus: Drop useless OBJECT() in sysbus_init_child_obj() calls
>   microbit: Tidy up sysbus_init_child_obj() @child argument
>   sysbus: Tidy up sysbus_init_child_obj()'s @childsize arg, part 1
>   hw/arm/armsse: Pass correct child size to sysbus_init_child_obj()
>   sysbus: Tidy up sysbus_init_child_obj()'s @childsize arg, part 2
>   sysbus: New sysbus_realize(), sysbus_realize_and_unref()
>   sysbus: Convert to sysbus_realize() etc. with Coccinelle
>   qdev: Drop qdev_realize() support for null bus
>   sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 1
>   sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 2
>   sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 3
>   sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 4
>   sysbus: sysbus_init_child_obj() is now unused, drop
>   microbit: Eliminate two local variables in microbit_init()
>   s390x/event-facility: Simplify creation of SCLP event devices
>   qdev: Make qdev_realize() support bus-less devices
>   qdev: Use qdev_realize() in qdev_device_add()
>   qdev: Convert bus-less devices to qdev_realize() with Coccinelle
>   qdev: qdev_init_nofail() is now unused, drop
>   MAINTAINERS: Make section QOM cover hw/core/*bus.c as well
> 
>  hw/lm32/lm32.h                           |  13 +-
>  hw/lm32/milkymist-hw.h                   |  37 ++---
>  include/hw/audio/pcspk.h                 |   5 +-
>  include/hw/char/cadence_uart.h           |   5 +-
>  include/hw/char/cmsdk-apb-uart.h         |   4 +-
>  include/hw/char/pl011.h                  |   9 +-
>  include/hw/char/xilinx_uartlite.h        |   4 +-
>  include/hw/cris/etraxfs.h                |   4 +-
>  include/hw/isa/isa.h                     |   5 +-
>  include/hw/misc/auxbus.h                 |  18 +--
>  include/hw/misc/unimp.h                  |   5 +-
>  include/hw/net/ne2000-isa.h              |   5 +-
>  include/hw/pci/pci.h                     |   6 +-
>  include/hw/qdev-core.h                   |  13 +-
>  include/hw/ssi/ssi.h                     |   5 -
>  include/hw/sysbus.h                      |  19 +--
>  include/hw/timer/cmsdk-apb-timer.h       |   4 +-
>  include/hw/timer/i8254.h                 |   9 +-
>  include/hw/usb.h                         |   6 +-
>  include/qom/object.h                     |  30 +++-
>  hw/acpi/pcihp.c                          |   2 +-
>  hw/acpi/piix4.c                          |   6 +-
>  hw/alpha/typhoon.c                       |   4 +-
>  hw/arm/allwinner-a10.c                   |  50 +++----
>  hw/arm/allwinner-h3.c                    |  57 +++-----
>  hw/arm/armsse.c                          | 174 +++++++++--------------
>  hw/arm/armv7m.c                          |  12 +-
>  hw/arm/aspeed.c                          |  18 ++-
>  hw/arm/aspeed_ast2600.c                  | 110 ++++++--------
>  hw/arm/aspeed_soc.c                      |  84 +++++------
>  hw/arm/bcm2835_peripherals.c             |  81 +++++------
>  hw/arm/bcm2836.c                         |  17 +--
>  hw/arm/cubieboard.c                      |   6 +-
>  hw/arm/digic.c                           |  16 +--
>  hw/arm/digic_boards.c                    |   2 +-
>  hw/arm/exynos4210.c                      |  48 +++----
>  hw/arm/exynos4_boards.c                  |  11 +-
>  hw/arm/fsl-imx25.c                       |  64 ++++-----
>  hw/arm/fsl-imx31.c                       |  43 +++---
>  hw/arm/fsl-imx6.c                        |  76 ++++------
>  hw/arm/fsl-imx6ul.c                      | 105 +++++---------
>  hw/arm/fsl-imx7.c                        | 100 +++++--------
>  hw/arm/highbank.c                        |  28 ++--
>  hw/arm/imx25_pdk.c                       |  10 +-
>  hw/arm/integratorcp.c                    |   6 +-
>  hw/arm/kzm.c                             |   5 +-
>  hw/arm/mcimx6ul-evk.c                    |   7 +-
>  hw/arm/mcimx7d-sabre.c                   |   7 +-
>  hw/arm/microbit.c                        |  22 ++-
>  hw/arm/mps2-tz.c                         |  79 +++++-----
>  hw/arm/mps2.c                            |  26 ++--
>  hw/arm/msf2-soc.c                        |  25 ++--
>  hw/arm/msf2-som.c                        |  12 +-
>  hw/arm/musca.c                           |  60 ++++----
>  hw/arm/musicpal.c                        |   8 +-
>  hw/arm/netduino2.c                       |   4 +-
>  hw/arm/netduinoplus2.c                   |   4 +-
>  hw/arm/nrf51_soc.c                       |  30 ++--
>  hw/arm/nseries.c                         |   8 +-
>  hw/arm/omap1.c                           |  16 +--
>  hw/arm/omap2.c                           |  16 +--
>  hw/arm/orangepi.c                        |   6 +-
>  hw/arm/pxa2xx.c                          |   8 +-
>  hw/arm/pxa2xx_gpio.c                     |   5 +-
>  hw/arm/pxa2xx_pic.c                      |   5 +-
>  hw/arm/raspi.c                           |  10 +-
>  hw/arm/realview.c                        |  22 +--
>  hw/arm/sabrelite.c                       |   6 +-
>  hw/arm/sbsa-ref.c                        |  26 ++--
>  hw/arm/spitz.c                           |   4 +-
>  hw/arm/stellaris.c                       |  12 +-
>  hw/arm/stm32f205_soc.c                   |  34 ++---
>  hw/arm/stm32f405_soc.c                   |  45 +++---
>  hw/arm/strongarm.c                       |   9 +-
>  hw/arm/versatilepb.c                     |  18 +--
>  hw/arm/vexpress.c                        |  18 +--
>  hw/arm/virt.c                            |  38 ++---
>  hw/arm/xilinx_zynq.c                     |  44 +++---
>  hw/arm/xlnx-versal-virt.c                |  15 +-
>  hw/arm/xlnx-versal.c                     |  53 +++----
>  hw/arm/xlnx-zcu102.c                     |  26 ++--
>  hw/arm/xlnx-zynqmp.c                     |  92 +++++-------
>  hw/audio/intel-hda.c                     |   4 +-
>  hw/block/fdc.c                           |  16 +--
>  hw/block/nand.c                          |   4 +-
>  hw/block/pflash_cfi01.c                  |   4 +-
>  hw/block/pflash_cfi02.c                  |   4 +-
>  hw/block/xen-block.c                     |   4 +-
>  hw/char/exynos4210_uart.c                |   5 +-
>  hw/char/mcf_uart.c                       |   5 +-
>  hw/char/parallel-isa.c                   |   5 +-
>  hw/char/serial-isa.c                     |   9 +-
>  hw/char/serial-pci-multi.c               |   8 +-
>  hw/char/serial-pci.c                     |   7 +-
>  hw/char/serial.c                         |  14 +-
>  hw/char/spapr_vty.c                      |   4 +-
>  hw/core/bus.c                            |  23 ++-
>  hw/core/cpu.c                            |   2 +-
>  hw/core/empty_slot.c                     |   5 +-
>  hw/core/qdev.c                           | 128 ++++++++---------
>  hw/core/sysbus.c                         |  27 ++--
>  hw/cpu/a15mpcore.c                       |   5 +-
>  hw/cpu/a9mpcore.c                        |  23 ++-
>  hw/cpu/arm11mpcore.c                     |  18 ++-
>  hw/cpu/realview_mpcore.c                 |  10 +-
>  hw/cris/axis_dev88.c                     |   4 +-
>  hw/display/ati.c                         |   5 +-
>  hw/display/milkymist-tmu2.c              |   4 +-
>  hw/display/sm501.c                       |  13 +-
>  hw/display/virtio-gpu-pci.c              |   3 +-
>  hw/display/virtio-vga.c                  |   3 +-
>  hw/display/xlnx_dp.c                     |  13 +-
>  hw/dma/i8257.c                           |   9 +-
>  hw/dma/pxa2xx_dma.c                      |   8 +-
>  hw/dma/rc4030.c                          |   5 +-
>  hw/dma/sparc32_dma.c                     |  16 +--
>  hw/dma/xilinx_axidma.c                   |   9 +-
>  hw/hppa/dino.c                           |   4 +-
>  hw/hppa/lasi.c                           |   4 +-
>  hw/hppa/machine.c                        |   4 +-
>  hw/hyperv/hyperv.c                       |   2 +-
>  hw/i2c/core.c                            |   5 +-
>  hw/i2c/smbus_eeprom.c                    |   4 +-
>  hw/i386/amd_iommu.c                      |   3 +-
>  hw/i386/pc.c                             |  12 +-
>  hw/i386/pc_q35.c                         |  14 +-
>  hw/i386/pc_sysfw.c                       |   4 +-
>  hw/i386/x86.c                            |   8 +-
>  hw/ide/isa.c                             |   5 +-
>  hw/ide/microdrive.c                      |   3 +-
>  hw/ide/qdev.c                            |   4 +-
>  hw/intc/armv7m_nvic.c                    |  15 +-
>  hw/intc/exynos4210_gic.c                 |   5 +-
>  hw/intc/i8259_common.c                   |   5 +-
>  hw/intc/pnv_xive.c                       |  10 +-
>  hw/intc/realview_gic.c                   |   4 +-
>  hw/intc/s390_flic.c                      |   6 +-
>  hw/intc/spapr_xive.c                     |  10 +-
>  hw/intc/xics.c                           |   2 +-
>  hw/intc/xive.c                           |   2 +-
>  hw/isa/isa-bus.c                         |  27 ++--
>  hw/isa/isa-superio.c                     |  20 +--
>  hw/isa/piix4.c                           |   3 +-
>  hw/isa/vt82c686.c                        |  13 +-
>  hw/m68k/mcf5208.c                        |   4 +-
>  hw/m68k/mcf_intc.c                       |   5 +-
>  hw/m68k/next-cube.c                      |  12 +-
>  hw/m68k/q800.c                           |  36 ++---
>  hw/microblaze/petalogix_ml605_mmu.c      |  26 ++--
>  hw/microblaze/petalogix_s3adsp1800_mmu.c |  14 +-
>  hw/microblaze/xlnx-zynqmp-pmu.c          |  21 ++-
>  hw/mips/boston.c                         |  14 +-
>  hw/mips/cps.c                            |  20 ++-
>  hw/mips/fuloong2e.c                      |   6 +-
>  hw/mips/gt64xxx_pci.c                    |   5 +-
>  hw/mips/jazz.c                           |  16 +--
>  hw/mips/malta.c                          |  10 +-
>  hw/mips/mipssim.c                        |   8 +-
>  hw/misc/auxbus.c                         |  20 +--
>  hw/misc/mac_via.c                        |  14 +-
>  hw/misc/macio/cuda.c                     |   8 +-
>  hw/misc/macio/macio.c                    |  56 +++-----
>  hw/misc/macio/pmu.c                      |   8 +-
>  hw/net/etraxfs_eth.c                     |   4 +-
>  hw/net/fsl_etsec/etsec.c                 |   5 +-
>  hw/net/lan9118.c                         |   5 +-
>  hw/net/lasi_i82596.c                     |   5 +-
>  hw/net/smc91c111.c                       |   5 +-
>  hw/net/spapr_llan.c                      |   4 +-
>  hw/net/xilinx_axienet.c                  |   9 +-
>  hw/nios2/10m50_devboard.c                |  12 +-
>  hw/nvram/fw_cfg.c                        |   8 +-
>  hw/openrisc/openrisc_sim.c               |   8 +-
>  hw/pci-bridge/dec.c                      |   6 +-
>  hw/pci-bridge/pci_expander_bridge.c      |   8 +-
>  hw/pci-host/bonito.c                     |   9 +-
>  hw/pci-host/designware.c                 |   6 +-
>  hw/pci-host/gpex.c                       |   6 +-
>  hw/pci-host/i440fx.c                     |   4 +-
>  hw/pci-host/pnv_phb3.c                   |  21 ++-
>  hw/pci-host/pnv_phb4.c                   |  11 +-
>  hw/pci-host/pnv_phb4_pec.c               |   8 +-
>  hw/pci-host/prep.c                       |   7 +-
>  hw/pci-host/q35.c                        |   6 +-
>  hw/pci-host/sabre.c                      |  13 +-
>  hw/pci-host/versatile.c                  |   4 +-
>  hw/pci-host/xilinx-pcie.c                |   6 +-
>  hw/pci/pci.c                             |  31 ++--
>  hw/pci/pcie.c                            |   2 +-
>  hw/pci/shpc.c                            |   2 +-
>  hw/pcmcia/pxa2xx.c                       |   5 +-
>  hw/ppc/e500.c                            |  32 ++---
>  hw/ppc/mac_newworld.c                    |  46 +++---
>  hw/ppc/mac_oldworld.c                    |  26 ++--
>  hw/ppc/pnv.c                             | 103 ++++++--------
>  hw/ppc/pnv_bmc.c                         |   2 +-
>  hw/ppc/pnv_core.c                        |   2 +-
>  hw/ppc/pnv_psi.c                         |  10 +-
>  hw/ppc/ppc440_uc.c                       |   8 +-
>  hw/ppc/prep.c                            |  35 +++--
>  hw/ppc/sam460ex.c                        |   4 +-
>  hw/ppc/spapr.c                           |  27 ++--
>  hw/ppc/spapr_cpu_core.c                  |   2 +-
>  hw/ppc/spapr_drc.c                       |   2 +-
>  hw/ppc/spapr_iommu.c                     |   2 +-
>  hw/ppc/spapr_irq.c                       |   6 +-
>  hw/ppc/spapr_pci.c                       |   3 +-
>  hw/ppc/spapr_vio.c                       |   4 +-
>  hw/ppc/virtex_ml507.c                    |   9 +-
>  hw/riscv/opentitan.c                     |  12 +-
>  hw/riscv/riscv_hart.c                    |   7 +-
>  hw/riscv/sifive_clint.c                  |   5 +-
>  hw/riscv/sifive_e.c                      |  20 +--
>  hw/riscv/sifive_e_prci.c                 |   5 +-
>  hw/riscv/sifive_plic.c                   |   5 +-
>  hw/riscv/sifive_test.c                   |   5 +-
>  hw/riscv/sifive_u.c                      |  52 +++----
>  hw/riscv/spike.c                         |   7 +-
>  hw/riscv/virt.c                          |  15 +-
>  hw/rtc/m48t59-isa.c                      |   7 +-
>  hw/rtc/m48t59.c                          |   5 +-
>  hw/rtc/mc146818rtc.c                     |   4 +-
>  hw/rtc/sun4v-rtc.c                       |   5 +-
>  hw/s390x/ap-bridge.c                     |   4 +-
>  hw/s390x/css-bridge.c                    |   6 +-
>  hw/s390x/event-facility.c                |  64 ++++-----
>  hw/s390x/s390-pci-bus.c                  |   8 +-
>  hw/s390x/s390-skeys.c                    |   2 +-
>  hw/s390x/s390-stattrib.c                 |   2 +-
>  hw/s390x/s390-virtio-ccw.c               |  16 +--
>  hw/s390x/sclp.c                          |  12 +-
>  hw/s390x/tod.c                           |   2 +-
>  hw/s390x/vhost-vsock-ccw.c               |   3 +-
>  hw/s390x/virtio-ccw-9p.c                 |   3 +-
>  hw/s390x/virtio-ccw-balloon.c            |   3 +-
>  hw/s390x/virtio-ccw-blk.c                |   3 +-
>  hw/s390x/virtio-ccw-crypto.c             |   3 +-
>  hw/s390x/virtio-ccw-gpu.c                |   3 +-
>  hw/s390x/virtio-ccw-input.c              |   3 +-
>  hw/s390x/virtio-ccw-net.c                |   3 +-
>  hw/s390x/virtio-ccw-rng.c                |   3 +-
>  hw/s390x/virtio-ccw-scsi.c               |   6 +-
>  hw/s390x/virtio-ccw-serial.c             |   3 +-
>  hw/scsi/scsi-bus.c                       |   4 +-
>  hw/scsi/spapr_vscsi.c                    |   4 +-
>  hw/sd/aspeed_sdhci.c                     |   2 +-
>  hw/sd/milkymist-memcard.c                |   4 +-
>  hw/sd/pxa2xx_mmci.c                      |   8 +-
>  hw/sd/ssi-sd.c                           |   4 +-
>  hw/sh4/r2d.c                             |  12 +-
>  hw/sparc/leon3.c                         |  20 +--
>  hw/sparc/sun4m.c                         |  64 ++++-----
>  hw/sparc64/sun4u.c                       |  50 ++++---
>  hw/ssi/aspeed_smc.c                      |   1 -
>  hw/ssi/imx_spi.c                         |   2 -
>  hw/ssi/mss-spi.c                         |   1 -
>  hw/ssi/ssi.c                             |  43 +-----
>  hw/ssi/xilinx_spi.c                      |   1 -
>  hw/ssi/xilinx_spips.c                    |   4 -
>  hw/usb/bus.c                             |  52 +++----
>  hw/usb/dev-serial.c                      |   4 +-
>  hw/virtio/vhost-scsi-pci.c               |   3 +-
>  hw/virtio/vhost-user-blk-pci.c           |   3 +-
>  hw/virtio/vhost-user-fs-pci.c            |   3 +-
>  hw/virtio/vhost-user-scsi-pci.c          |   3 +-
>  hw/virtio/vhost-vsock-pci.c              |   3 +-
>  hw/virtio/virtio-9p-pci.c                |   3 +-
>  hw/virtio/virtio-balloon-pci.c           |   3 +-
>  hw/virtio/virtio-blk-pci.c               |   3 +-
>  hw/virtio/virtio-crypto-pci.c            |   3 +-
>  hw/virtio/virtio-input-pci.c             |   3 +-
>  hw/virtio/virtio-iommu-pci.c             |   3 +-
>  hw/virtio/virtio-net-pci.c               |   3 +-
>  hw/virtio/virtio-pmem-pci.c              |   3 +-
>  hw/virtio/virtio-rng-pci.c               |   3 +-
>  hw/virtio/virtio-scsi-pci.c              |   3 +-
>  hw/virtio/virtio-serial-pci.c            |   3 +-
>  hw/virtio/virtio.c                       |   5 +-
>  hw/xen/xen-bus.c                         |   4 +-
>  hw/xen/xen-legacy-backend.c              |   7 +-
>  hw/xtensa/virt.c                         |   4 +-
>  hw/xtensa/xtfpga.c                       |   8 +-
>  migration/migration.c                    |   2 +-
>  qdev-monitor.c                           |   8 +-
>  qom/object.c                             |  19 ++-
>  target/i386/cpu.c                        |   3 +-
>  tests/test-qdev-global-props.c           |   9 +-
>  MAINTAINERS                              |   2 +
>  288 files changed, 1958 insertions(+), 2378 deletions(-)
> 
> -- 
> 2.26.2



      parent reply	other threads:[~2020-06-10  6:14 UTC|newest]

Thread overview: 64+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-10  5:31 [PATCH RESEND v3 00/58] qdev: Rework how we plug into the parent bus Markus Armbruster
2020-06-10  5:31 ` [PATCH RESEND v3 01/58] qdev: Rename qbus_realize() to qbus_init() Markus Armbruster
2020-06-10  5:31 ` [PATCH RESEND v3 02/58] Revert "hw/prep: realize the PCI root bus as part of the prep init" Markus Armbruster
2020-06-10  5:31 ` [PATCH RESEND v3 03/58] Revert "hw/versatile: realize the PCI root bus as part of the versatile init" Markus Armbruster
2020-06-10  5:31 ` [PATCH RESEND v3 04/58] qdev: New qdev_new(), qdev_realize(), etc Markus Armbruster
2020-06-10  5:31 ` [PATCH RESEND v3 05/58] qdev: Put qdev_new() to use with Coccinelle Markus Armbruster
2020-06-10  5:31 ` [PATCH RESEND v3 06/58] qdev: Convert to qbus_realize(), qbus_unrealize() Markus Armbruster
2020-06-10  5:31 ` [PATCH RESEND v3 07/58] qdev: Convert to qdev_unrealize() with Coccinelle Markus Armbruster
2020-06-10  5:31 ` [PATCH RESEND v3 08/58] qdev: Convert to qdev_unrealize() manually Markus Armbruster
2020-06-10  5:31 ` [PATCH RESEND v3 09/58] qdev: Convert uses of qdev_create() with Coccinelle Markus Armbruster
2020-06-10  5:31 ` [PATCH RESEND v3 10/58] qdev: Convert uses of qdev_create() manually Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 11/58] qdev: Convert uses of qdev_set_parent_bus() with Coccinelle Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 12/58] qdev: Convert uses of qdev_set_parent_bus() manually Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 13/58] pci: New pci_new(), pci_realize_and_unref() etc Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 14/58] hw/ppc: Eliminate two superfluous QOM casts Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 15/58] pci: Convert uses of pci_create() etc. with Coccinelle Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 16/58] pci: Convert uses of pci_create() etc. manually Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 17/58] pci: pci_create(), pci_create_multifunction() are now unused, drop Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 18/58] isa: New isa_new(), isa_realize_and_unref() etc Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 19/58] isa: Convert uses of isa_create() with Coccinelle Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 20/58] isa: Convert uses of isa_create(), isa_try_create() manually Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 21/58] isa: isa_create(), isa_try_create() are now unused, drop Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 22/58] ssi: ssi_auto_connect_slaves() never does anything, drop Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 23/58] ssi: Convert uses of ssi_create_slave_no_init() with Coccinelle Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 24/58] ssi: Convert last use of ssi_create_slave_no_init() manually Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 25/58] ssi: ssi_create_slave_no_init() is now unused, drop Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 26/58] usb: New usb_new(), usb_realize_and_unref() Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 27/58] usb: Convert uses of usb_create() Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 28/58] usb: usb_create() is now unused, drop Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 29/58] usb: Eliminate usb_try_create_simple() Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 30/58] qdev: qdev_create(), qdev_try_create() are now unused, drop Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 31/58] auxbus: Rename aux_init_bus() to aux_bus_init() Markus Armbruster
2020-06-10  7:54   ` Philippe Mathieu-Daudé
2020-06-10  5:32 ` [PATCH RESEND v3 32/58] auxbus: New aux_bus_realize(), pairing with aux_bus_init() Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 33/58] auxbus: Convert a use of qdev_set_parent_bus() Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 34/58] auxbus: Eliminate aux_create_slave() Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 35/58] qom: Tidy up a few object_initialize_child() calls Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 36/58] qom: Less verbose object_initialize_child() Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 37/58] macio: Convert use of qdev_set_parent_bus() Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 38/58] macio: Eliminate macio_init_child_obj() Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 39/58] sysbus: Drop useless OBJECT() in sysbus_init_child_obj() calls Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 40/58] microbit: Tidy up sysbus_init_child_obj() @child argument Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 41/58] sysbus: Tidy up sysbus_init_child_obj()'s @childsize arg, part 1 Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 42/58] hw/arm/armsse: Pass correct child size to sysbus_init_child_obj() Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 43/58] sysbus: Tidy up sysbus_init_child_obj()'s @childsize arg, part 2 Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 44/58] sysbus: New sysbus_realize(), sysbus_realize_and_unref() Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 45/58] sysbus: Convert to sysbus_realize() etc. with Coccinelle Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 46/58] qdev: Drop qdev_realize() support for null bus Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 47/58] sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 1 Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 48/58] sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 2 Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 49/58] sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 3 Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 50/58] sysbus: Convert qdev_set_parent_bus() use with Coccinelle, part 4 Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 51/58] sysbus: sysbus_init_child_obj() is now unused, drop Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 52/58] microbit: Eliminate two local variables in microbit_init() Markus Armbruster
2020-06-10  7:54   ` Philippe Mathieu-Daudé
2020-06-10  5:32 ` [PATCH RESEND v3 53/58] s390x/event-facility: Simplify creation of SCLP event devices Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 54/58] qdev: Make qdev_realize() support bus-less devices Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 55/58] qdev: Use qdev_realize() in qdev_device_add() Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 56/58] qdev: Convert bus-less devices to qdev_realize() with Coccinelle Markus Armbruster
2020-06-10  8:21   ` Philippe Mathieu-Daudé
2020-06-10  9:37     ` Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 57/58] qdev: qdev_init_nofail() is now unused, drop Markus Armbruster
2020-06-10  5:32 ` [PATCH RESEND v3 58/58] MAINTAINERS: Make section QOM cover hw/core/*bus.c as well Markus Armbruster
2020-06-10  5:41 ` Michael S. Tsirkin [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200610014004-mutt-send-email-mst@kernel.org \
    --to=mst@redhat.com \
    --cc=alistair@alistair23.me \
    --cc=armbru@redhat.com \
    --cc=berrange@redhat.com \
    --cc=david@gibson.dropbear.id.au \
    --cc=ehabkost@redhat.com \
    --cc=kraxel@redhat.com \
    --cc=mark.cave-ayland@ilande.co.uk \
    --cc=pbonzini@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.