summaryrefslogtreecommitdiff
path: root/drivers/usb/gadget/ci13xxx_udc.c
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-05-07 09:49:32 -0700
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-05-07 09:49:32 -0700
commit6a1e1d71d0bfb969f39a77eee585148aea57497b (patch)
treeaf8a151dc6b352f756f3bf6ac993678fcfb97502 /drivers/usb/gadget/ci13xxx_udc.c
parent61906313bd41cde2f9aaa14e461e6108d3e71aaa (diff)
parent1d144c6732f6badd4be7a1383a4ae2adcc3f9386 (diff)
Merge tag 'gadget-for-v3.5' of git://git.kernel.org/pub/scm/linux/kernel/git/balbi/usb into usb-next
usb: gadget: patches for v3.5 This pull request is quite big, but mainly because there's a giant rework of the s3c_hsotg.c driver to make it friendlier for other users. Samsung Exynos platforms use the DesignWare Core USB2 IP from Synopsys so it's a bit unfair to have the driver work for Samsung platforms only. In short, the big rework is in preparation to make the driver more reusable. Another big rework in this pull request came from Ido, where he's removing the redundant pointer for the endpoint descriptor from the controller driver's own endpoint representation. The same pointer is available through the generic struct usb_ep structure. Also on this pull request is the conversion of a few extra controller drivers to the new style registration, which allows multiple controllers to be available on the same platform and helps remove global pointers from those drivers. Together with those big changes, there's the usual fixes and cleanups to gadget drivers. Nothing major.
Diffstat (limited to 'drivers/usb/gadget/ci13xxx_udc.c')
-rw-r--r--drivers/usb/gadget/ci13xxx_udc.c15
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/usb/gadget/ci13xxx_udc.c b/drivers/usb/gadget/ci13xxx_udc.c
index 3ebc036b1934..1a44bf9c374f 100644
--- a/drivers/usb/gadget/ci13xxx_udc.c
+++ b/drivers/usb/gadget/ci13xxx_udc.c
@@ -1916,7 +1916,7 @@ __acquires(udc->lock)
int type, num, dir, err = -EINVAL;
struct usb_ctrlrequest req;
- if (mEp->desc == NULL)
+ if (mEp->ep.desc == NULL)
continue; /* not configured */
if (hw_test_and_clear_complete(i)) {
@@ -2112,7 +2112,7 @@ static int ep_enable(struct usb_ep *ep,
/* only internal SW should enable ctrl endpts */
- mEp->desc = desc;
+ mEp->ep.desc = desc;
if (!list_empty(&mEp->qh.queue))
warn("enabling a non-empty endpoint!");
@@ -2164,7 +2164,7 @@ static int ep_disable(struct usb_ep *ep)
if (ep == NULL)
return -EINVAL;
- else if (mEp->desc == NULL)
+ else if (mEp->ep.desc == NULL)
return -EBUSY;
spin_lock_irqsave(mEp->lock, flags);
@@ -2183,7 +2183,6 @@ static int ep_disable(struct usb_ep *ep)
} while (mEp->dir != direction);
- mEp->desc = NULL;
mEp->ep.desc = NULL;
spin_unlock_irqrestore(mEp->lock, flags);
@@ -2272,7 +2271,7 @@ static int ep_queue(struct usb_ep *ep, struct usb_request *req,
trace("%p, %p, %X", ep, req, gfp_flags);
- if (ep == NULL || req == NULL || mEp->desc == NULL)
+ if (ep == NULL || req == NULL || mEp->ep.desc == NULL)
return -EINVAL;
spin_lock_irqsave(mEp->lock, flags);
@@ -2335,7 +2334,7 @@ static int ep_dequeue(struct usb_ep *ep, struct usb_request *req)
trace("%p, %p", ep, req);
if (ep == NULL || req == NULL || mReq->req.status != -EALREADY ||
- mEp->desc == NULL || list_empty(&mReq->queue) ||
+ mEp->ep.desc == NULL || list_empty(&mReq->queue) ||
list_empty(&mEp->qh.queue))
return -EINVAL;
@@ -2378,7 +2377,7 @@ static int ep_set_halt(struct usb_ep *ep, int value)
trace("%p, %i", ep, value);
- if (ep == NULL || mEp->desc == NULL)
+ if (ep == NULL || mEp->ep.desc == NULL)
return -EINVAL;
spin_lock_irqsave(mEp->lock, flags);
@@ -2421,7 +2420,7 @@ static int ep_set_wedge(struct usb_ep *ep)
trace("%p", ep);
- if (ep == NULL || mEp->desc == NULL)
+ if (ep == NULL || mEp->ep.desc == NULL)
return -EINVAL;
spin_lock_irqsave(mEp->lock, flags);