]> git.proxmox.com Git - qemu.git/commitdiff
uhci: add ich9 controllers
authorGerd Hoffmann <kraxel@redhat.com>
Fri, 1 Jul 2011 07:48:49 +0000 (09:48 +0200)
committerGerd Hoffmann <kraxel@redhat.com>
Tue, 5 Jul 2011 13:09:02 +0000 (15:09 +0200)
Add ich9 controllers,  Factor out properties to a separate
struct and reference it to reduce duplication.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
hw/usb-uhci.c

index 925c03bb0e2c88bf0c97e9b77032b47a953e4369..2ef4c5b747f56541ae23b7f008a1822e2701a62d 100644 (file)
@@ -1176,6 +1176,12 @@ static int usb_uhci_vt82c686b_initfn(PCIDevice *dev)
     return usb_uhci_common_initfn(dev);
 }
 
+static Property uhci_properties[] = {
+    DEFINE_PROP_STRING("masterbus", UHCIState, masterbus),
+    DEFINE_PROP_UINT32("firstport", UHCIState, firstport, 0),
+    DEFINE_PROP_END_OF_LIST(),
+};
+
 static PCIDeviceInfo uhci_info[] = {
     {
         .qdev.name    = "piix3-usb-uhci",
@@ -1186,11 +1192,7 @@ static PCIDeviceInfo uhci_info[] = {
         .device_id    = PCI_DEVICE_ID_INTEL_82371SB_2,
         .revision     = 0x01,
         .class_id     = PCI_CLASS_SERIAL_USB,
-        .qdev.props   = (Property[]) {
-            DEFINE_PROP_STRING("masterbus", UHCIState, masterbus),
-            DEFINE_PROP_UINT32("firstport", UHCIState, firstport, 0),
-            DEFINE_PROP_END_OF_LIST(),
-        },
+        .qdev.props   = uhci_properties,
     },{
         .qdev.name    = "piix4-usb-uhci",
         .qdev.size    = sizeof(UHCIState),
@@ -1200,11 +1202,7 @@ static PCIDeviceInfo uhci_info[] = {
         .device_id    = PCI_DEVICE_ID_INTEL_82371AB_2,
         .revision     = 0x01,
         .class_id     = PCI_CLASS_SERIAL_USB,
-        .qdev.props   = (Property[]) {
-            DEFINE_PROP_STRING("masterbus", UHCIState, masterbus),
-            DEFINE_PROP_UINT32("firstport", UHCIState, firstport, 0),
-            DEFINE_PROP_END_OF_LIST(),
-        },
+        .qdev.props   = uhci_properties,
     },{
         .qdev.name    = "vt82c686b-usb-uhci",
         .qdev.size    = sizeof(UHCIState),
@@ -1214,11 +1212,37 @@ static PCIDeviceInfo uhci_info[] = {
         .device_id    = PCI_DEVICE_ID_VIA_UHCI,
         .revision     = 0x01,
         .class_id     = PCI_CLASS_SERIAL_USB,
-        .qdev.props   = (Property[]) {
-            DEFINE_PROP_STRING("masterbus", UHCIState, masterbus),
-            DEFINE_PROP_UINT32("firstport", UHCIState, firstport, 0),
-            DEFINE_PROP_END_OF_LIST(),
-        },
+        .qdev.props   = uhci_properties,
+    },{
+        .qdev.name    = "ich9-usb-uhci1",
+        .qdev.size    = sizeof(UHCIState),
+        .qdev.vmsd    = &vmstate_uhci,
+        .init         = usb_uhci_common_initfn,
+        .vendor_id    = PCI_VENDOR_ID_INTEL,
+        .device_id    = PCI_DEVICE_ID_INTEL_82801I_UHCI1,
+        .revision     = 0x03,
+        .class_id     = PCI_CLASS_SERIAL_USB,
+        .qdev.props   = uhci_properties,
+    },{
+        .qdev.name    = "ich9-usb-uhci2",
+        .qdev.size    = sizeof(UHCIState),
+        .qdev.vmsd    = &vmstate_uhci,
+        .init         = usb_uhci_common_initfn,
+        .vendor_id    = PCI_VENDOR_ID_INTEL,
+        .device_id    = PCI_DEVICE_ID_INTEL_82801I_UHCI2,
+        .revision     = 0x03,
+        .class_id     = PCI_CLASS_SERIAL_USB,
+        .qdev.props   = uhci_properties,
+    },{
+        .qdev.name    = "ich9-usb-uhci3",
+        .qdev.size    = sizeof(UHCIState),
+        .qdev.vmsd    = &vmstate_uhci,
+        .init         = usb_uhci_common_initfn,
+        .vendor_id    = PCI_VENDOR_ID_INTEL,
+        .device_id    = PCI_DEVICE_ID_INTEL_82801I_UHCI3,
+        .revision     = 0x03,
+        .class_id     = PCI_CLASS_SERIAL_USB,
+        .qdev.props   = uhci_properties,
     },{
         /* end of list */
     }