Merge tag 'usb-for-v3.20' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next
Felipe writes: usb: patches for v3.20 merge window Here's the big pull request for Gadgets and PHYs. It's a total of 217 non-merge commits with pretty much everything being touched. The most important bits are a ton of new documentation for almost all usb gadget functions, a new isp1760 UDC driver, several improvements to the old net2280 UDC driver, and some minor tracepoint improvements to dwc3. Other than that, a big list of minor cleanups, smaller bugfixes and new features all over the place. Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
@@ -819,8 +819,8 @@ __acquires(hwep->lock)
|
||||
}
|
||||
|
||||
if ((setup->bRequestType & USB_RECIP_MASK) == USB_RECIP_DEVICE) {
|
||||
/* Assume that device is bus powered for now. */
|
||||
*(u16 *)req->buf = ci->remote_wakeup << 1;
|
||||
*(u16 *)req->buf = (ci->remote_wakeup << 1) |
|
||||
ci->gadget.is_selfpowered;
|
||||
} else if ((setup->bRequestType & USB_RECIP_MASK) \
|
||||
== USB_RECIP_ENDPOINT) {
|
||||
dir = (le16_to_cpu(setup->wIndex) & USB_ENDPOINT_DIR_MASK) ?
|
||||
@@ -1520,6 +1520,19 @@ static int ci_udc_vbus_draw(struct usb_gadget *_gadget, unsigned ma)
|
||||
return -ENOTSUPP;
|
||||
}
|
||||
|
||||
static int ci_udc_selfpowered(struct usb_gadget *_gadget, int is_on)
|
||||
{
|
||||
struct ci_hdrc *ci = container_of(_gadget, struct ci_hdrc, gadget);
|
||||
struct ci_hw_ep *hwep = ci->ep0in;
|
||||
unsigned long flags;
|
||||
|
||||
spin_lock_irqsave(hwep->lock, flags);
|
||||
_gadget->is_selfpowered = (is_on != 0);
|
||||
spin_unlock_irqrestore(hwep->lock, flags);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/* Change Data+ pullup status
|
||||
* this func is used by usb_gadget_connect/disconnet
|
||||
*/
|
||||
@@ -1549,6 +1562,7 @@ static int ci_udc_stop(struct usb_gadget *gadget);
|
||||
static const struct usb_gadget_ops usb_gadget_ops = {
|
||||
.vbus_session = ci_udc_vbus_session,
|
||||
.wakeup = ci_udc_wakeup,
|
||||
.set_selfpowered = ci_udc_selfpowered,
|
||||
.pullup = ci_udc_pullup,
|
||||
.vbus_draw = ci_udc_vbus_draw,
|
||||
.udc_start = ci_udc_start,
|
||||
|
Reference in New Issue
Block a user