usb: pass USBEndpoint to usb_wakeup
Devices must specify which endpoint has data to transfer now.The plan is to use the usb_wakeup() not only for remove wakeup support,but for "data ready" signaling in general, so we can move away fromconstant polling to event driven usb device emulation....
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>
usb: maintain async packet list per endpoint
Maintain a list of async packets per endpoint. With the current codethe list will never receive more than a single item. I think you canguess what the future plan is though ;)
usb-musb: switch to usb_find_device()
Switch over musb to use the new usb_find_device()function for device lookup.
usb-xhci: switch to usb_find_device()
Switch over xHCI to use the new usb_find_device()function for device lookup.
usb: kill handle_packet callback
All drivers except usb-hub use usb_generic_handle_packet. The onlyreason the usb hub has its own function is that it used to be calledwith packets which are intended for downstream devices. With the new,separate device lookup step this doesn't happen any more, so the need...
usb: fold usb_generic_handle_packet into usb_handle_packet
There is no reason to have a separate usb_generic_handle_packet functionany more, fold it into usb_handle_packet(). Also call the do_token_*functions which handle control transfer emulation for control pipe...
usb: USBPacket: add status, rename owner -> ep
Add enum to track the status of USBPackets, use that instead of theowner pointer to figure whenever a usb packet is currently in flightor not. Add some more packet status sanity checks. Also rename theUSBEndpoint pointer from "owner" to "ep"....
usb: add USBEndpoint->{nr,pid}
Add a "nr" and "pid" fields to USBEndpoint so you can easily figure theendpoint number and direction of any given endpoint.
usb: Set USBEndpoint in usb_packet_setup().
With the separation of the device lookup (via usb_find_device) andpacket processing we can lookup device and endpoint before setting upthe usb packet. So we can initialize USBPacket->ep early and keep itvalid for the whole lifecycle of the USBPacket. Also the devaddr and...
View revisions
Also available in: Atom