usb: add usb_wakeup() + wakeup callback to port ops
Add wakeup callback to port ops for remote wakeup handling. Also add a usb_wakeup() function for devices which want trigger a remote wakeup. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
parent
618c169b57
commit
01eacab6e9
7
hw/usb.c
7
hw/usb.c
@ -49,6 +49,13 @@ void usb_attach(USBPort *port, USBDevice *dev)
|
||||
}
|
||||
}
|
||||
|
||||
void usb_wakeup(USBDevice *dev)
|
||||
{
|
||||
if (dev->remote_wakeup && dev->port && dev->port->ops->wakeup) {
|
||||
dev->port->ops->wakeup(dev);
|
||||
}
|
||||
}
|
||||
|
||||
/**********************/
|
||||
|
||||
/* generic USB device helpers (you are not forced to use them when
|
||||
|
2
hw/usb.h
2
hw/usb.h
@ -220,6 +220,7 @@ struct USBDeviceInfo {
|
||||
typedef struct USBPortOps {
|
||||
void (*attach)(USBPort *port);
|
||||
void (*detach)(USBPort *port);
|
||||
void (*wakeup)(USBDevice *dev);
|
||||
} USBPortOps;
|
||||
|
||||
/* USB port on which a device can be connected */
|
||||
@ -275,6 +276,7 @@ static inline void usb_cancel_packet(USBPacket * p)
|
||||
}
|
||||
|
||||
void usb_attach(USBPort *port, USBDevice *dev);
|
||||
void usb_wakeup(USBDevice *dev);
|
||||
int usb_generic_handle_packet(USBDevice *s, USBPacket *p);
|
||||
int set_usb_string(uint8_t *buf, const char *str);
|
||||
void usb_send_msg(USBDevice *dev, int msg);
|
||||
|
Loading…
Reference in New Issue
Block a user