qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 00/22] qom: use Type system to register all devices (v2)
@ 2012-02-01 19:50 Anthony Liguori
  2012-02-01 19:50 ` [Qemu-devel] [PATCH 01/22] usb-hid: simplify class initialization a bit Anthony Liguori
                   ` (22 more replies)
  0 siblings, 23 replies; 26+ messages in thread
From: Anthony Liguori @ 2012-02-01 19:50 UTC (permalink / raw)
  To: qemu-devel; +Cc: Paolo Bonzini, Andreas Faerber, Peter Maydell

This is the 3rd QOM series.  All known issues have been resolved.  This has been
extensively tested (including for bisectability).  I think this is ready to
apply.

The goal of this series is to make DeviceState a first class QOM base class.
The result is that you can object_new(TYPE_E1000) and have a functioning
device.  qdev_create() and qdev_free() are now trivialized as QOM wrappers.

Patch 8/23 is an automated touch everything patch.  I decided to leave it as
one big patch because this is entirely programmatic.  There's no intelligence
in this patch so I think it's easier to review quickly as one big change.

The other notable feature of this series it that properties have been moved to
the Object base class.  This means that other subsystems can begin using QOM.

This is the last touch every file in the tree series. 

 b/Makefile.objs              |    4 
 b/hw/9pfs/virtio-9p-device.c |   16 
 b/hw/a9mpcore.c              |   40 -
 b/hw/ac97.c                  |   18 
 b/hw/acpi_piix4.c            |   20 
 b/hw/ads7846.c               |   11 
 b/hw/alpha_typhoon.c         |   14 
 b/hw/apb_pci.c               |   41 -
 b/hw/apic.c                  |   10 
 b/hw/apic_common.c           |   15 
 b/hw/apic_internal.h         |    1 
 b/hw/applesmc.c              |   28 -
 b/hw/arm11mpcore.c           |   28 -
 b/hw/arm_l2x0.c              |   24 
 b/hw/arm_mptimer.c           |   28 -
 b/hw/arm_sysctl.c            |   18 
 b/hw/arm_timer.c             |   35 -
 b/hw/armv7m.c                |   14 
 b/hw/armv7m_nvic.c           |   32 -
 b/hw/bitbang_i2c.c           |   14 
 b/hw/bonito.c                |   32 -
 b/hw/ccid-card-emulated.c    |   35 -
 b/hw/ccid-card-passthru.c    |   28 -
 b/hw/ccid.h                  |    1 
 b/hw/cirrus_vga.c            |   30 -
 b/hw/cs4231.c                |   18 
 b/hw/cs4231a.c               |   30 -
 b/hw/debugcon.c              |   26 
 b/hw/dec_pci.c               |   40 -
 b/hw/ds1225y.c               |   16 
 b/hw/ds1338.c                |   11 
 b/hw/e1000.c                 |   20 
 b/hw/eccmemctl.c             |   18 
 b/hw/eepro100.c              |   83 +--
 b/hw/empty_slot.c            |   11 
 b/hw/es1370.c                |   16 
 b/hw/escc.c                  |   18 
 b/hw/esp.c                   |   18 
 b/hw/etraxfs_eth.c           |   14 
 b/hw/etraxfs_pic.c           |   14 
 b/hw/etraxfs_ser.c           |   16 
 b/hw/etraxfs_timer.c         |   11 
 b/hw/fdc.c                   |   76 +-
 b/hw/fw_cfg.c                |   20 
 b/hw/g364fb.c                |   20 
 b/hw/grackle_pci.c           |   26 
 b/hw/grlib_apbuart.c         |   14 
 b/hw/grlib_gptimer.c         |   16 
 b/hw/grlib_irqmp.c           |   16 
 b/hw/gt64xxx.c               |   22 
 b/hw/gus.c                   |   32 -
 b/hw/hda-audio.c             |   36 -
 b/hw/highbank.c              |   18 
 b/hw/hpet.c                  |   20 
 b/hw/i2c.c                   |   23 
 b/hw/i2c.h                   |    3 
 b/hw/i82374.c                |   22 
 b/hw/i82378.c                |   22 
 b/hw/i8254.c                 |   30 -
 b/hw/i8259.c                 |   11 
 b/hw/i8259_common.c          |   13 
 b/hw/i8259_internal.h        |    1 
 b/hw/ide/ahci.c              |   24 
 b/hw/ide/cmd646.c            |   14 
 b/hw/ide/ich.c               |   15 
 b/hw/ide/isa.c               |   30 -
 b/hw/ide/piix.c              |   44 -
 b/hw/ide/qdev.c              |   95 ++-
 b/hw/ide/via.c               |   14 
 b/hw/integratorcp.c          |   25 
 b/hw/intel-hda.c             |   39 -
 b/hw/intel-hda.h             |    1 
 b/hw/ioapic.c                |   14 
 b/hw/ioapic_common.c         |   10 
 b/hw/ioapic_internal.h       |    1 
 b/hw/ioh3420.c               |   20 
 b/hw/isa-bus.c               |   38 -
 b/hw/isa.h                   |    2 
 b/hw/ivshmem.c               |   16 
 b/hw/kvm/apic.c              |    5 
 b/hw/kvm/clock.c             |   16 
 b/hw/kvm/i8259.c             |    8 
 b/hw/kvm/ioapic.c            |   20 
 b/hw/lan9118.c               |   18 
 b/hw/lance.c                 |   20 
 b/hw/lm32_juart.c            |   18 
 b/hw/lm32_pic.c              |   16 
 b/hw/lm32_sys.c              |   18 
 b/hw/lm32_timer.c            |   18 
 b/hw/lm32_uart.c             |   18 
 b/hw/lm832x.c                |   14 
 b/hw/lsi53c895a.c            |   17 
 b/hw/m48t59.c                |   46 -
 b/hw/macio.c                 |   11 
 b/hw/marvell_88w8618_audio.c |   18 
 b/hw/max111x.c               |   22 
 b/hw/max7310.c               |   16 
 b/hw/mc146818rtc.c           |   34 -
 b/hw/milkymist-ac97.c        |   16 
 b/hw/milkymist-hpdmc.c       |   16 
 b/hw/milkymist-memcard.c     |   16 
 b/hw/milkymist-minimac2.c    |   18 
 b/hw/milkymist-pfpu.c        |   16 
 b/hw/milkymist-softusb.c     |   18 
 b/hw/milkymist-sysctl.c      |   18 
 b/hw/milkymist-tmu2.c        |   16 
 b/hw/milkymist-uart.c        |   18 
 b/hw/milkymist-vgafb.c       |   18 
 b/hw/mips_malta.c            |   14 
 b/hw/mipsnet.c               |   20 
 b/hw/mpc8544_guts.c          |   11 
 b/hw/mst_fpga.c              |   16 
 b/hw/musicpal.c              |  117 ++--
 b/hw/nand.c                  |   18 
 b/hw/ne2000-isa.c            |   26 
 b/hw/ne2000.c                |   16 
 b/hw/omap_gpio.c             |   32 -
 b/hw/omap_intc.c             |   32 -
 b/hw/onenand.c               |   16 
 b/hw/opencores_eth.c         |   18 
 b/hw/parallel.c              |   28 -
 b/hw/pc.c                    |   18 
 b/hw/pc_piix.c               |    6 
 b/hw/pci.c                   |   41 -
 b/hw/pci.h                   |    2 
 b/hw/pckbd.c                 |   16 
 b/hw/pcnet-pci.c             |   18 
 b/hw/piix4.c                 |   18 
 b/hw/piix_pci.c              |   74 +-
 b/hw/pl011.c                 |   24 
 b/hw/pl022.c                 |   11 
 b/hw/pl031.c                 |   16 
 b/hw/pl041.c                 |   20 
 b/hw/pl050.c                 |   28 -
 b/hw/pl061.c                 |   28 -
 b/hw/pl080.c                 |   32 -
 b/hw/pl110.c                 |   48 +
 b/hw/pl181.c                 |   18 
 b/hw/pl190.c                 |   18 
 b/hw/ppc4xx_pci.c            |   28 -
 b/hw/ppc_prep.c              |    2 
 b/hw/ppce500_pci.c           |   28 -
 b/hw/ppce500_spin.c          |   11 
 b/hw/prep_pci.c              |   26 
 b/hw/pxa2xx.c                |   56 +-
 b/hw/pxa2xx_dma.c            |   18 
 b/hw/pxa2xx_gpio.c           |   16 
 b/hw/pxa2xx_pic.c            |   16 
 b/hw/pxa2xx_timer.c          |   36 -
 b/hw/qdev-addr.c             |    6 
 b/hw/qdev-monitor.c          |  588 ++++++++++++++++++++++
 b/hw/qdev-properties.c       |   57 +-
 b/hw/qdev.c                  | 1144 +++----------------------------------------
 b/hw/qdev.h                  |  367 +------------
 b/hw/qxl.c                   |   40 -
 b/hw/realview.c              |   11 
 b/hw/realview_gic.c          |   11 
 b/hw/rtl8139.c               |   18 
 b/hw/s390-virtio-bus.c       |  137 ++---
 b/hw/s390-virtio-bus.h       |   19 
 b/hw/sb16.c                  |   34 -
 b/hw/sbi.c                   |   16 
 b/hw/scsi-bus.c              |   21 
 b/hw/scsi-disk.c             |  116 ++--
 b/hw/scsi-generic.c          |   28 -
 b/hw/scsi.h                  |    1 
 b/hw/serial.c                |   30 -
 b/hw/sga.c                   |   14 
 b/hw/sh_pci.c                |   22 
 b/hw/slavio_intctl.c         |   16 
 b/hw/slavio_misc.c           |   27 -
 b/hw/slavio_timer.c          |   18 
 b/hw/smbus.c                 |    6 
 b/hw/smbus.h                 |    2 
 b/hw/smbus_eeprom.c          |   22 
 b/hw/smc91c111.c             |   18 
 b/hw/spapr_llan.c            |   14 
 b/hw/spapr_pci.c             |   22 
 b/hw/spapr_vio.c             |   37 -
 b/hw/spapr_vio.h             |    1 
 b/hw/spapr_vscsi.c           |   14 
 b/hw/spapr_vty.c             |   14 
 b/hw/sparc32_dma.c           |   18 
 b/hw/spitz.c                 |   60 +-
 b/hw/ssd0303.c               |   14 
 b/hw/ssd0323.c               |   11 
 b/hw/ssi-sd.c                |   11 
 b/hw/ssi.c                   |   26 
 b/hw/ssi.h                   |    2 
 b/hw/stellaris.c             |   44 -
 b/hw/stellaris_enet.c        |   14 
 b/hw/strongarm.c             |   98 ++-
 b/hw/sun4c_intctl.c          |   16 
 b/hw/sun4m.c                 |   50 +
 b/hw/sun4m_iommu.c           |   18 
 b/hw/sun4u.c                 |   39 -
 b/hw/sysbus.c                |   24 
 b/hw/sysbus.h                |    4 
 b/hw/tcx.c                   |   18 
 b/hw/tmp105.c                |   14 
 b/hw/tosa.c                  |   24 
 b/hw/tusb6010.c              |   14 
 b/hw/twl92230.c              |   14 
 b/hw/unin_pci.c              |   74 +-
 b/hw/usb-audio.c             |   29 -
 b/hw/usb-bt.c                |   14 
 b/hw/usb-bus.c               |   25 
 b/hw/usb-ccid.c              |   46 -
 b/hw/usb-ehci.c              |   32 -
 b/hw/usb-hid.c               |   72 +-
 b/hw/usb-hub.c               |   18 
 b/hw/usb-msd.c               |   31 -
 b/hw/usb-net.c               |   27 -
 b/hw/usb-ohci.c              |   42 -
 b/hw/usb-serial.c            |   50 +
 b/hw/usb-uhci.c              |   96 ++-
 b/hw/usb-wacom.c             |   21 
 b/hw/usb-xhci.c              |   25 
 b/hw/usb.h                   |    5 
 b/hw/versatile_pci.c         |   33 -
 b/hw/versatilepb.c           |   16 
 b/hw/vga-isa.c               |   16 
 b/hw/vga-pci.c               |   14 
 b/hw/virtio-console.c        |   28 -
 b/hw/virtio-pci.c            |   68 +-
 b/hw/virtio-serial-bus.c     |   21 
 b/hw/virtio-serial.h         |    6 
 b/hw/vmmouse.c               |   28 -
 b/hw/vmport.c                |   14 
 b/hw/vmware_vga.c            |   16 
 b/hw/vt82c686.c              |   64 +-
 b/hw/wdt_i6300esb.c          |   16 
 b/hw/wdt_ib700.c             |   16 
 b/hw/wm8750.c                |   14 
 b/hw/xen_platform.c          |   18 
 b/hw/xgmac.c                 |   25 
 b/hw/xilinx_axidma.c         |   14 
 b/hw/xilinx_axienet.c        |   14 
 b/hw/xilinx_ethlite.c        |   14 
 b/hw/xilinx_intc.c           |   14 
 b/hw/xilinx_timer.c          |   14 
 b/hw/xilinx_uartlite.c       |   13 
 b/hw/xio3130_downstream.c    |   20 
 b/hw/xio3130_upstream.c      |   20 
 b/hw/z2.c                    |   28 -
 b/hw/zaurus.c                |   18 
 b/include/qemu/object.h      |  228 ++++++++
 b/qapi-schema.json           |   55 +-
 b/qemu-char.c                |   10 
 b/qemu-char.h                |    2 
 b/qerror.c                   |    2 
 b/qmp-commands.hx            |    5 
 b/qmp.c                      |   61 +-
 b/qom/Makefile               |    2 
 b/qom/container.c            |   27 +
 b/qom/object.c               |  500 ++++++++++++++++++
 b/usb-linux.c                |   35 -
 hw/container.c               |   27 -
 258 files changed, 4829 insertions(+), 4058 deletions(-)

^ permalink raw reply	[flat|nested] 26+ messages in thread

end of thread, other threads:[~2012-02-03 17:21 UTC | newest]

Thread overview: 26+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-01 19:50 [Qemu-devel] [PATCH 00/22] qom: use Type system to register all devices (v2) Anthony Liguori
2012-02-01 19:50 ` [Qemu-devel] [PATCH 01/22] usb-hid: simplify class initialization a bit Anthony Liguori
2012-02-01 19:50 ` [Qemu-devel] [PATCH 02/22] usb: separate out legacy usb registration from type registration Anthony Liguori
2012-02-01 19:50 ` [Qemu-devel] [PATCH 03/22] qdev: make DeviceInfo private Anthony Liguori
2012-02-01 19:50 ` [Qemu-devel] [PATCH 04/22] qdev: remove info from class Anthony Liguori
2012-02-01 19:50 ` [Qemu-devel] [PATCH 05/22] qdev: allow classes to overload qdev functions Anthony Liguori
2012-02-01 19:50 ` [Qemu-devel] [PATCH 06/22] qdev: refactor device creation to allow bus_info to be set only in class Anthony Liguori
2012-02-01 19:50 ` [Qemu-devel] [PATCH 07/22] qom: allow object_class_foreach to take additional parameters to refine search Anthony Liguori
2012-02-01 20:58   ` Andreas Färber
2012-02-01 19:50 ` [Qemu-devel] [PATCH 08/22] qdev: kill off DeviceInfo list Anthony Liguori
2012-02-01 19:50 ` [Qemu-devel] [PATCH 09/22] qdev: register all types natively through QEMU Object Model Anthony Liguori
2012-02-02  0:07   ` Andreas Färber
2012-02-01 19:50 ` [Qemu-devel] [PATCH 10/22] qdev: kill off DeviceInfo Anthony Liguori
2012-02-01 19:50 ` [Qemu-devel] [PATCH 11/22] qdev: remove baked in notion of aliases (v2) Anthony Liguori
2012-02-01 19:50 ` [Qemu-devel] [PATCH 12/22] qom: add new command to search for types Anthony Liguori
2012-02-01 19:50 ` [Qemu-devel] [PATCH 13/22] qdev: split out common init to instance_init Anthony Liguori
2012-02-01 19:50 ` [Qemu-devel] [PATCH 14/22] qdev: refactor away qdev_create_from_info Anthony Liguori
2012-02-01 19:50 ` [Qemu-devel] [PATCH 15/22] qdev: split out UI portions into a new function Anthony Liguori
2012-02-01 19:50 ` [Qemu-devel] [PATCH 16/22] qdev: nuke qdev_init_chardev() Anthony Liguori
2012-02-01 19:50 ` [Qemu-devel] [PATCH 17/22] qom: move properties from qdev to object Anthony Liguori
2012-02-01 19:50 ` [Qemu-devel] [PATCH 18/22] qom: accept any compatible type when setting a link property Anthony Liguori
2012-02-01 19:51 ` [Qemu-devel] [PATCH 19/22] qdev: implement cleanup logic in finalize Anthony Liguori
2012-02-01 19:51 ` [Qemu-devel] [PATCH 20/22] info qdm: do not require a parent_bus to be set Anthony Liguori
2012-02-01 19:51 ` [Qemu-devel] [PATCH 21/22] object: sure up reference counting Anthony Liguori
2012-02-01 19:51 ` [Qemu-devel] [PATCH 22/22] container: make a decendent of Object Anthony Liguori
2012-02-03 17:20 ` [Qemu-devel] [PATCH 00/22] qom: use Type system to register all devices (v2) Anthony Liguori

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).