From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:44769) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ur0gq-0002kv-3Y for qemu-devel@nongnu.org; Mon, 24 Jun 2013 02:55:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Ur0go-0003vj-EX for qemu-devel@nongnu.org; Mon, 24 Jun 2013 02:55:52 -0400 Received: from mail-pb0-x22d.google.com ([2607:f8b0:400e:c01::22d]:53817) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Ur0gn-0003vZ-Sr for qemu-devel@nongnu.org; Mon, 24 Jun 2013 02:55:50 -0400 Received: by mail-pb0-f45.google.com with SMTP id mc8so10551534pbc.18 for ; Sun, 23 Jun 2013 23:55:48 -0700 (PDT) Sender: Peter Crosthwaite From: peter.crosthwaite@xilinx.com Date: Mon, 24 Jun 2013 16:49:45 +1000 Message-Id: Subject: [Qemu-devel] [PATCH v2 00/30] PCI: Cleanup legacy casts in device land List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: pbonzini@redhat.com, afaerber@suse.de, mst@redhat.com From: Peter Crosthwaite 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