From: Gerd Hoffmann <kraxel@redhat.com>
To: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Cc: vineshp@xilinx.com, Peter Maydell <peter.maydell@linaro.org>,
john.williams@xilinx.com, qemu-devel@nongnu.org,
edgar.iglesias@gmail.com
Subject: Re: [Qemu-devel] [PATCH v1 5/8] xilinx_zynq: add USB controllers
Date: Thu, 25 Oct 2012 16:10:38 +0200 [thread overview]
Message-ID: <5089485E.5090004@redhat.com> (raw)
In-Reply-To: <50894360.906@redhat.com>
[-- Attachment #1: Type: text/plain, Size: 84 bytes --]
Hi,
> I'll go try that to simplify uhci ...
Seems to work ...
cheers,
Gerd
[-- Attachment #2: fix --]
[-- Type: text/plain, Size: 2663 bytes --]
diff --git a/hw/usb/hcd-uhci.c b/hw/usb/hcd-uhci.c
index b6b972f..64442a4 100644
--- a/hw/usb/hcd-uhci.c
+++ b/hw/usb/hcd-uhci.c
@@ -88,6 +88,13 @@ enum {
typedef struct UHCIState UHCIState;
typedef struct UHCIAsync UHCIAsync;
typedef struct UHCIQueue UHCIQueue;
+typedef struct UHCIInfo UHCIInfo;
+
+struct UHCIInfo {
+ uint16_t vendor_id;
+ uint16_t device_id;
+ uint8_t revision;
+};
/*
* Pending async transaction.
@@ -1293,17 +1300,18 @@ static Property uhci_properties[] = {
DEFINE_PROP_END_OF_LIST(),
};
-static void piix3_uhci_class_init(ObjectClass *klass, void *data)
+static void uhci_class_init(ObjectClass *klass, void *data)
{
DeviceClass *dc = DEVICE_CLASS(klass);
PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
+ UHCIInfo *info = data;
k->init = usb_uhci_common_initfn;
k->exit = usb_uhci_exit;
- k->vendor_id = PCI_VENDOR_ID_INTEL;
- k->device_id = PCI_DEVICE_ID_INTEL_82371SB_2;
- k->revision = 0x01;
- k->class_id = PCI_CLASS_SERIAL_USB;
+ k->vendor_id = info->vendor_id;
+ k->device_id = info->device_id;
+ k->revision = info->revision;
+ k->class_id = PCI_CLASS_SERIAL_USB;
dc->vmsd = &vmstate_uhci;
dc->props = uhci_properties;
}
@@ -1312,29 +1320,24 @@ static TypeInfo piix3_uhci_info = {
.name = "piix3-usb-uhci",
.parent = TYPE_PCI_DEVICE,
.instance_size = sizeof(UHCIState),
- .class_init = piix3_uhci_class_init,
+ .class_init = uhci_class_init,
+ .class_data = (UHCIInfo[]) { {
+ .vendor_id = PCI_VENDOR_ID_INTEL,
+ .device_id = PCI_DEVICE_ID_INTEL_82371SB_2,
+ .revision = 0x01,
+ } },
};
-static void piix4_uhci_class_init(ObjectClass *klass, void *data)
-{
- DeviceClass *dc = DEVICE_CLASS(klass);
- PCIDeviceClass *k = PCI_DEVICE_CLASS(klass);
-
- k->init = usb_uhci_common_initfn;
- k->exit = usb_uhci_exit;
- k->vendor_id = PCI_VENDOR_ID_INTEL;
- k->device_id = PCI_DEVICE_ID_INTEL_82371AB_2;
- k->revision = 0x01;
- k->class_id = PCI_CLASS_SERIAL_USB;
- dc->vmsd = &vmstate_uhci;
- dc->props = uhci_properties;
-}
-
static TypeInfo piix4_uhci_info = {
.name = "piix4-usb-uhci",
.parent = TYPE_PCI_DEVICE,
.instance_size = sizeof(UHCIState),
- .class_init = piix4_uhci_class_init,
+ .class_init = uhci_class_init,
+ .class_data = (UHCIInfo[]) { {
+ .vendor_id = PCI_VENDOR_ID_INTEL,
+ .device_id = PCI_DEVICE_ID_INTEL_82371AB_2,
+ .revision = 0x01,
+ } },
};
static void vt82c686b_uhci_class_init(ObjectClass *klass, void *data)
next prev parent reply other threads:[~2012-10-25 14:10 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-25 9:47 [Qemu-devel] [PATCH v1 0/8] Sysbus EHCI + Zynq USB Peter Crosthwaite
2012-10-25 9:47 ` [Qemu-devel] [PATCH v1 1/8] usb/ehci: parameterise the register region offsets Peter Crosthwaite
2012-10-25 12:04 ` Gerd Hoffmann
2012-10-25 9:47 ` [Qemu-devel] [PATCH v1 2/8] usb/ehci: Abstract away PCI DMA API Peter Crosthwaite
2012-10-25 9:47 ` [Qemu-devel] [PATCH v1 3/8] usb/ehci: seperate out PCIisms Peter Crosthwaite
2012-10-25 12:08 ` Gerd Hoffmann
2012-10-25 12:44 ` Peter Crosthwaite
2012-10-25 12:57 ` Gerd Hoffmann
2012-10-25 13:19 ` Peter Crosthwaite
2012-10-25 9:47 ` [Qemu-devel] [PATCH v1 4/8] usb/ehci: Add usb-ehci-sysbus Peter Crosthwaite
2012-10-25 9:55 ` Peter Maydell
2012-10-25 13:17 ` Avi Kivity
2012-10-25 12:10 ` Gerd Hoffmann
2012-10-25 12:39 ` Peter Crosthwaite
2012-10-25 9:47 ` [Qemu-devel] [PATCH v1 5/8] xilinx_zynq: add USB controllers Peter Crosthwaite
2012-10-25 12:12 ` Gerd Hoffmann
2012-10-25 12:16 ` Peter Maydell
2012-10-25 12:56 ` Peter Crosthwaite
2012-10-25 13:14 ` Gerd Hoffmann
2012-10-25 13:24 ` Peter Crosthwaite
2012-10-25 13:49 ` Gerd Hoffmann
2012-10-25 14:10 ` Gerd Hoffmann [this message]
2012-10-25 23:54 ` Peter Crosthwaite
2012-10-25 23:59 ` Peter Crosthwaite
2012-10-26 6:49 ` Gerd Hoffmann
2012-10-26 6:59 ` Peter Crosthwaite
2012-10-25 9:47 ` [Qemu-devel] [PATCH v1 6/8] usb/ehci: Guard definition of EHCI_DEBUG Peter Crosthwaite
2012-10-25 9:47 ` [Qemu-devel] [PATCH v1 7/8] usb/ehci: Debug mode compile fixes Peter Crosthwaite
2012-10-25 9:47 ` [Qemu-devel] [PATCH v1 8/8] usb/ehci: Put RAM in undefined MMIO regions Peter Crosthwaite
2012-10-25 12:19 ` Gerd Hoffmann
2012-10-25 13:03 ` Peter Crosthwaite
2012-10-25 13:12 ` Peter Maydell
2012-10-25 13:21 ` Avi Kivity
2012-10-25 13:28 ` Peter Maydell
2012-10-25 13:41 ` Avi Kivity
2012-10-25 13:50 ` Peter Maydell
2012-10-25 13:57 ` Avi Kivity
2012-10-25 13:59 ` Peter Crosthwaite
2012-10-25 14:08 ` Peter Maydell
2012-10-25 13:20 ` Avi Kivity
2012-10-29 14:08 ` [Qemu-devel] [PATCH v1 0/8] Sysbus EHCI + Zynq USB Peter Crosthwaite
2012-10-30 7:20 ` Gerd Hoffmann
2012-10-30 8:24 ` Peter Crosthwaite
2012-10-30 10:30 ` Gerd Hoffmann
2012-10-30 12:14 ` Andreas Färber
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=5089485E.5090004@redhat.com \
--to=kraxel@redhat.com \
--cc=edgar.iglesias@gmail.com \
--cc=john.williams@xilinx.com \
--cc=peter.crosthwaite@xilinx.com \
--cc=peter.maydell@linaro.org \
--cc=qemu-devel@nongnu.org \
--cc=vineshp@xilinx.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).