usb: Pass size to usb_bus_new()
To be passed to qbus_create_inplace(). Use DEVICE() cast to avoid a direct parent field access. Reviewed-by: Wenchao Xia <xiawenc@linux.vnet.ibm.com> Signed-off-by: Andreas Färber <afaerber@suse.de>
This commit is contained in:
parent
b1187b51ff
commit
c889b3a55d
|
@ -67,7 +67,8 @@ const VMStateDescription vmstate_usb_device = {
|
|||
}
|
||||
};
|
||||
|
||||
void usb_bus_new(USBBus *bus, USBBusOps *ops, DeviceState *host)
|
||||
void usb_bus_new(USBBus *bus, size_t bus_size,
|
||||
USBBusOps *ops, DeviceState *host)
|
||||
{
|
||||
qbus_create_inplace(&bus->qbus, TYPE_USB_BUS, host, NULL);
|
||||
bus->ops = ops;
|
||||
|
|
|
@ -2520,7 +2520,7 @@ void usb_ehci_realize(EHCIState *s, DeviceState *dev, Error **errp)
|
|||
return;
|
||||
}
|
||||
|
||||
usb_bus_new(&s->bus, &ehci_bus_ops, dev);
|
||||
usb_bus_new(&s->bus, sizeof(s->bus), &ehci_bus_ops, dev);
|
||||
for (i = 0; i < s->portnr; i++) {
|
||||
usb_register_port(&s->bus, &s->ports[i], s, i, &ehci_port_ops,
|
||||
USB_SPEED_MASK_HIGH);
|
||||
|
|
|
@ -383,7 +383,7 @@ struct MUSBState *musb_init(DeviceState *parent_device, int gpio_base)
|
|||
|
||||
musb_reset(s);
|
||||
|
||||
usb_bus_new(&s->bus, &musb_bus_ops, parent_device);
|
||||
usb_bus_new(&s->bus, sizeof(s->bus), &musb_bus_ops, parent_device);
|
||||
usb_register_port(&s->bus, &s->port, s, 0, &musb_port_ops,
|
||||
USB_SPEED_MASK_LOW | USB_SPEED_MASK_FULL);
|
||||
|
||||
|
|
|
@ -1881,7 +1881,7 @@ static int usb_ohci_init(OHCIState *ohci, DeviceState *dev,
|
|||
return -1;
|
||||
}
|
||||
} else {
|
||||
usb_bus_new(&ohci->bus, &ohci_bus_ops, dev);
|
||||
usb_bus_new(&ohci->bus, sizeof(ohci->bus), &ohci_bus_ops, dev);
|
||||
for (i = 0; i < num_ports; i++) {
|
||||
usb_register_port(&ohci->bus, &ohci->rhport[i].port,
|
||||
ohci, i, &ohci_port_ops,
|
||||
|
|
|
@ -1254,7 +1254,7 @@ static int usb_uhci_common_initfn(PCIDevice *dev)
|
|||
return -1;
|
||||
}
|
||||
} else {
|
||||
usb_bus_new(&s->bus, &uhci_bus_ops, &s->dev.qdev);
|
||||
usb_bus_new(&s->bus, sizeof(s->bus), &uhci_bus_ops, DEVICE(dev));
|
||||
for (i = 0; i < NB_PORTS; i++) {
|
||||
usb_register_port(&s->bus, &s->ports[i].port, s, i, &uhci_port_ops,
|
||||
USB_SPEED_MASK_LOW | USB_SPEED_MASK_FULL);
|
||||
|
|
|
@ -3309,7 +3309,7 @@ static void usb_xhci_init(XHCIState *xhci)
|
|||
usbports = MAX(xhci->numports_2, xhci->numports_3);
|
||||
xhci->numports = xhci->numports_2 + xhci->numports_3;
|
||||
|
||||
usb_bus_new(&xhci->bus, &xhci_bus_ops, dev);
|
||||
usb_bus_new(&xhci->bus, sizeof(xhci->bus), &xhci_bus_ops, dev);
|
||||
|
||||
for (i = 0; i < usbports; i++) {
|
||||
speedmask = 0;
|
||||
|
|
|
@ -496,7 +496,8 @@ struct USBBusOps {
|
|||
void (*wakeup_endpoint)(USBBus *bus, USBEndpoint *ep, unsigned int stream);
|
||||
};
|
||||
|
||||
void usb_bus_new(USBBus *bus, USBBusOps *ops, DeviceState *host);
|
||||
void usb_bus_new(USBBus *bus, size_t bus_size,
|
||||
USBBusOps *ops, DeviceState *host);
|
||||
USBBus *usb_bus_find(int busnr);
|
||||
void usb_legacy_register(const char *typename, const char *usbdevice_name,
|
||||
USBDevice *(*usbdevice_init)(USBBus *bus,
|
||||
|
|
Loading…
Reference in New Issue