dcavalca / rpms / qemu

Forked from rpms/qemu a year ago
Clone

Blame 0016-uhci-add-ich9-controllers.patch

3f1f29
From 18f499ba7cac5d66f42255f6ddf384e01bead569 Mon Sep 17 00:00:00 2001
3f1f29
From: Gerd Hoffmann <kraxel@redhat.com>
3f1f29
Date: Fri, 1 Jul 2011 09:48:49 +0200
3f1f29
Subject: [PATCH 16/35] uhci: add ich9 controllers
3f1f29
3f1f29
Add ich9 controllers,  Factor out properties to a separate
3f1f29
struct and reference it to reduce duplication.
3f1f29
3f1f29
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
3f1f29
---
3f1f29
 hw/usb-uhci.c |   54 +++++++++++++++++++++++++++++++++++++++---------------
3f1f29
 1 files changed, 39 insertions(+), 15 deletions(-)
3f1f29
3f1f29
diff --git a/hw/usb-uhci.c b/hw/usb-uhci.c
3f1f29
index 925c03b..2ef4c5b 100644
3f1f29
--- a/hw/usb-uhci.c
3f1f29
+++ b/hw/usb-uhci.c
3f1f29
@@ -1176,6 +1176,12 @@ static int usb_uhci_vt82c686b_initfn(PCIDevice *dev)
3f1f29
     return usb_uhci_common_initfn(dev);
3f1f29
 }
3f1f29
 
3f1f29
+static Property uhci_properties[] = {
3f1f29
+    DEFINE_PROP_STRING("masterbus", UHCIState, masterbus),
3f1f29
+    DEFINE_PROP_UINT32("firstport", UHCIState, firstport, 0),
3f1f29
+    DEFINE_PROP_END_OF_LIST(),
3f1f29
+};
3f1f29
+
3f1f29
 static PCIDeviceInfo uhci_info[] = {
3f1f29
     {
3f1f29
         .qdev.name    = "piix3-usb-uhci",
3f1f29
@@ -1186,11 +1192,7 @@ static PCIDeviceInfo uhci_info[] = {
3f1f29
         .device_id    = PCI_DEVICE_ID_INTEL_82371SB_2,
3f1f29
         .revision     = 0x01,
3f1f29
         .class_id     = PCI_CLASS_SERIAL_USB,
3f1f29
-        .qdev.props   = (Property[]) {
3f1f29
-            DEFINE_PROP_STRING("masterbus", UHCIState, masterbus),
3f1f29
-            DEFINE_PROP_UINT32("firstport", UHCIState, firstport, 0),
3f1f29
-            DEFINE_PROP_END_OF_LIST(),
3f1f29
-        },
3f1f29
+        .qdev.props   = uhci_properties,
3f1f29
     },{
3f1f29
         .qdev.name    = "piix4-usb-uhci",
3f1f29
         .qdev.size    = sizeof(UHCIState),
3f1f29
@@ -1200,11 +1202,7 @@ static PCIDeviceInfo uhci_info[] = {
3f1f29
         .device_id    = PCI_DEVICE_ID_INTEL_82371AB_2,
3f1f29
         .revision     = 0x01,
3f1f29
         .class_id     = PCI_CLASS_SERIAL_USB,
3f1f29
-        .qdev.props   = (Property[]) {
3f1f29
-            DEFINE_PROP_STRING("masterbus", UHCIState, masterbus),
3f1f29
-            DEFINE_PROP_UINT32("firstport", UHCIState, firstport, 0),
3f1f29
-            DEFINE_PROP_END_OF_LIST(),
3f1f29
-        },
3f1f29
+        .qdev.props   = uhci_properties,
3f1f29
     },{
3f1f29
         .qdev.name    = "vt82c686b-usb-uhci",
3f1f29
         .qdev.size    = sizeof(UHCIState),
3f1f29
@@ -1214,11 +1212,37 @@ static PCIDeviceInfo uhci_info[] = {
3f1f29
         .device_id    = PCI_DEVICE_ID_VIA_UHCI,
3f1f29
         .revision     = 0x01,
3f1f29
         .class_id     = PCI_CLASS_SERIAL_USB,
3f1f29
-        .qdev.props   = (Property[]) {
3f1f29
-            DEFINE_PROP_STRING("masterbus", UHCIState, masterbus),
3f1f29
-            DEFINE_PROP_UINT32("firstport", UHCIState, firstport, 0),
3f1f29
-            DEFINE_PROP_END_OF_LIST(),
3f1f29
-        },
3f1f29
+        .qdev.props   = uhci_properties,
3f1f29
+    },{
3f1f29
+        .qdev.name    = "ich9-usb-uhci1",
3f1f29
+        .qdev.size    = sizeof(UHCIState),
3f1f29
+        .qdev.vmsd    = &vmstate_uhci,
3f1f29
+        .init         = usb_uhci_common_initfn,
3f1f29
+        .vendor_id    = PCI_VENDOR_ID_INTEL,
3f1f29
+        .device_id    = PCI_DEVICE_ID_INTEL_82801I_UHCI1,
3f1f29
+        .revision     = 0x03,
3f1f29
+        .class_id     = PCI_CLASS_SERIAL_USB,
3f1f29
+        .qdev.props   = uhci_properties,
3f1f29
+    },{
3f1f29
+        .qdev.name    = "ich9-usb-uhci2",
3f1f29
+        .qdev.size    = sizeof(UHCIState),
3f1f29
+        .qdev.vmsd    = &vmstate_uhci,
3f1f29
+        .init         = usb_uhci_common_initfn,
3f1f29
+        .vendor_id    = PCI_VENDOR_ID_INTEL,
3f1f29
+        .device_id    = PCI_DEVICE_ID_INTEL_82801I_UHCI2,
3f1f29
+        .revision     = 0x03,
3f1f29
+        .class_id     = PCI_CLASS_SERIAL_USB,
3f1f29
+        .qdev.props   = uhci_properties,
3f1f29
+    },{
3f1f29
+        .qdev.name    = "ich9-usb-uhci3",
3f1f29
+        .qdev.size    = sizeof(UHCIState),
3f1f29
+        .qdev.vmsd    = &vmstate_uhci,
3f1f29
+        .init         = usb_uhci_common_initfn,
3f1f29
+        .vendor_id    = PCI_VENDOR_ID_INTEL,
3f1f29
+        .device_id    = PCI_DEVICE_ID_INTEL_82801I_UHCI3,
3f1f29
+        .revision     = 0x03,
3f1f29
+        .class_id     = PCI_CLASS_SERIAL_USB,
3f1f29
+        .qdev.props   = uhci_properties,
3f1f29
     },{
3f1f29
         /* end of list */
3f1f29
     }
3f1f29
-- 
3f1f29
1.7.5.1
3f1f29