From: Peter Crosthwaite <peter.crosthwa...@xilinx.com> There are a number of different cast implementations from various stages of QEMU development out in device model land. This series cleans up the ones involving TYPE_PCI_DEVICE to consistently use proper QOM casts for both up and down casts.
Some were easy, some needed QOM cast macros which are added as appropriate. Following the recent discussion RE performance consequences of QOM casts, im interested in any reports of possible performance regressions here, although I am hoping that Anthony current efforts to improve QOM casting efficiency make this a non-issue. Changed since V1: Removed hunks which macroified VMSD names Dropped virtio/virtio.pci patch Rebased Peter Crosthwaite (30): net/e1000: QOM Upcast Sweep net/rtl8139: QOM Upcast Sweep net/pcnet-pci: QOM Upcast Sweep usb/hcd-xhci: QOM Upcast Sweep scsi/lsi53c895a: QOM Upcast Sweep scsi/megasas: QOM Upcast Sweep scsi/esp-pci: QOM Upcast Sweep ide/ich: QOM Upcast Sweep ide/piix: QOM casting sweep acpi/piix4: QOM Upcast Sweep misc/pci-testdev: QOM Upcast Sweep virtio/vmware_vga: QOM casting sweep misc/ivshmem: QOM Upcast Sweep xen/xen_platform: QOM casting sweep isa/*: QOM casting sweep pci/*: QOM casting sweep pci-bridge/pci_bridge_dev: Don't use DO_UPCAST pci-bridge/*: substitute ->qdev casts with DEVICE() pci/pci_bridge: substitute ->qdev casts with DEVICE() misc/vfio: substitute ->qdev casts with DEVICE() net/eepro100: substitute ->qdev casts with DEVICE() net/ne2000: substitute ->qdev casts with DEVICE() usb/*: substitute ->qdev casts with DEVICE() watchdog/wdt_i6300esb: substitute ->qdev casts with DEVICE() scsi/vmw_pvscsi: substitute ->qdev casts with DEVICE() i2c/smbus_ich9: substitute ->qdev casts with DEVICE() ide/cmd646: substitute ->qdev casts with DEVICE() ide/via: substitute ->qdev casts with DEVICE() pci-host/*: substitute ->qdev casts with DEVICE() i386/*: substitute ->qdev casts with DEVICE() hw/acpi/piix4.c | 31 +++++++++++++++++-------------- hw/display/vmware_vga.c | 13 ++++++++----- hw/i2c/smbus_ich9.c | 2 +- hw/i386/kvm/pci-assign.c | 21 ++++++++++++--------- hw/i386/pc.c | 3 ++- hw/i386/pc_piix.c | 4 ++-- hw/i386/pc_q35.c | 4 ++-- hw/ide/ahci.h | 5 +++++ hw/ide/cmd646.c | 8 ++++---- hw/ide/ich.c | 10 +++++----- hw/ide/piix.c | 8 ++++---- hw/ide/via.c | 4 ++-- hw/isa/i82378.c | 8 ++++---- hw/isa/lpc_ich9.c | 6 +++--- hw/misc/ivshmem.c | 18 +++++++++++------- hw/misc/pci-testdev.c | 11 ++++++++--- hw/misc/vfio.c | 4 ++-- hw/net/e1000.c | 18 ++++++++++++------ hw/net/eepro100.c | 14 ++++++++------ hw/net/ne2000.c | 6 ++++-- hw/net/pcnet-pci.c | 14 +++++++++----- hw/net/rtl8139.c | 26 ++++++++++++++++++-------- hw/pci-bridge/dec.c | 2 +- hw/pci-bridge/i82801b11.c | 2 +- hw/pci-bridge/ioh3420.c | 2 +- hw/pci-bridge/pci_bridge_dev.c | 2 +- hw/pci-bridge/xio3130_downstream.c | 2 +- hw/pci-bridge/xio3130_upstream.c | 2 +- hw/pci-host/apb.c | 4 ++-- hw/pci-host/q35.c | 4 ++-- hw/pci/pci-hotplug.c | 18 ++++++++++-------- hw/pci/pci.c | 17 +++++++++-------- hw/pci/pci_bridge.c | 7 ++++--- hw/pci/pcie.c | 4 ++-- hw/pci/shpc.c | 8 ++++---- hw/scsi/esp-pci.c | 14 +++++++++----- hw/scsi/lsi53c895a.c | 26 ++++++++++++++++---------- hw/scsi/megasas.c | 15 ++++++++++----- hw/scsi/vmw_pvscsi.c | 2 +- hw/usb/hcd-ehci-pci.c | 13 ++++++++----- hw/usb/hcd-ohci.c | 2 +- hw/usb/hcd-uhci.c | 2 +- hw/usb/hcd-xhci.c | 19 +++++++++++++------ hw/watchdog/wdt_i6300esb.c | 2 +- hw/xen/xen_platform.c | 28 ++++++++++++++++------------ 45 files changed, 258 insertions(+), 177 deletions(-) -- 1.8.3.rc1.44.gb387c77.dirty