mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-03 15:53:54 -06:00
usb: add USBBusOps->wakeup_endpoint
Add usb bus op which is called whenever a usb endpoint becomes ready, so the host adapter emulation can react on that event. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
7567b51fbe
commit
37f32f0fdd
2 changed files with 5 additions and 0 deletions
4
hw/usb.c
4
hw/usb.c
|
@ -73,10 +73,14 @@ void usb_device_reset(USBDevice *dev)
|
|||
void usb_wakeup(USBEndpoint *ep)
|
||||
{
|
||||
USBDevice *dev = ep->dev;
|
||||
USBBus *bus = usb_bus_from_device(dev);
|
||||
|
||||
if (dev->remote_wakeup && dev->port && dev->port->ops->wakeup) {
|
||||
dev->port->ops->wakeup(dev->port);
|
||||
}
|
||||
if (bus->ops->wakeup_endpoint) {
|
||||
bus->ops->wakeup_endpoint(bus, ep);
|
||||
}
|
||||
}
|
||||
|
||||
/**********************/
|
||||
|
|
1
hw/usb.h
1
hw/usb.h
|
@ -425,6 +425,7 @@ struct USBBus {
|
|||
struct USBBusOps {
|
||||
int (*register_companion)(USBBus *bus, USBPort *ports[],
|
||||
uint32_t portcount, uint32_t firstport);
|
||||
void (*wakeup_endpoint)(USBBus *bus, USBEndpoint *ep);
|
||||
};
|
||||
|
||||
void usb_bus_new(USBBus *bus, USBBusOps *ops, DeviceState *host);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue