usb: gadget: Update pxa25x_udc to use usb_endpoint_descriptor inside the struct usb_ep

Remove redundant pointer to struct usb_endpoint_descriptor.

Signed-off-by: Ido Shayevitz <idos@codeaurora.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
Ido Shayevitz 2012-03-12 20:25:36 +02:00 committed by Felipe Balbi
parent f8bdae0614
commit c18800d8f9
2 changed files with 12 additions and 15 deletions

View file

@ -218,7 +218,7 @@ static int pxa25x_ep_enable (struct usb_ep *_ep,
struct pxa25x_udc *dev; struct pxa25x_udc *dev;
ep = container_of (_ep, struct pxa25x_ep, ep); ep = container_of (_ep, struct pxa25x_ep, ep);
if (!_ep || !desc || ep->desc || _ep->name == ep0name if (!_ep || !desc || ep->ep.desc || _ep->name == ep0name
|| desc->bDescriptorType != USB_DT_ENDPOINT || desc->bDescriptorType != USB_DT_ENDPOINT
|| ep->bEndpointAddress != desc->bEndpointAddress || ep->bEndpointAddress != desc->bEndpointAddress
|| ep->fifo_size < usb_endpoint_maxp (desc)) { || ep->fifo_size < usb_endpoint_maxp (desc)) {
@ -249,7 +249,7 @@ static int pxa25x_ep_enable (struct usb_ep *_ep,
return -ESHUTDOWN; return -ESHUTDOWN;
} }
ep->desc = desc; ep->ep.desc = desc;
ep->stopped = 0; ep->stopped = 0;
ep->pio_irqs = 0; ep->pio_irqs = 0;
ep->ep.maxpacket = usb_endpoint_maxp (desc); ep->ep.maxpacket = usb_endpoint_maxp (desc);
@ -269,7 +269,7 @@ static int pxa25x_ep_disable (struct usb_ep *_ep)
unsigned long flags; unsigned long flags;
ep = container_of (_ep, struct pxa25x_ep, ep); ep = container_of (_ep, struct pxa25x_ep, ep);
if (!_ep || !ep->desc) { if (!_ep || !ep->ep.desc) {
DMSG("%s, %s not enabled\n", __func__, DMSG("%s, %s not enabled\n", __func__,
_ep ? ep->ep.name : NULL); _ep ? ep->ep.name : NULL);
return -EINVAL; return -EINVAL;
@ -281,7 +281,6 @@ static int pxa25x_ep_disable (struct usb_ep *_ep)
/* flush fifo (mostly for IN buffers) */ /* flush fifo (mostly for IN buffers) */
pxa25x_ep_fifo_flush (_ep); pxa25x_ep_fifo_flush (_ep);
ep->desc = NULL;
ep->ep.desc = NULL; ep->ep.desc = NULL;
ep->stopped = 1; ep->stopped = 1;
@ -390,7 +389,7 @@ write_fifo (struct pxa25x_ep *ep, struct pxa25x_request *req)
{ {
unsigned max; unsigned max;
max = usb_endpoint_maxp(ep->desc); max = usb_endpoint_maxp(ep->ep.desc);
do { do {
unsigned count; unsigned count;
int is_last, is_short; int is_last, is_short;
@ -644,7 +643,7 @@ pxa25x_ep_queue(struct usb_ep *_ep, struct usb_request *_req, gfp_t gfp_flags)
} }
ep = container_of(_ep, struct pxa25x_ep, ep); ep = container_of(_ep, struct pxa25x_ep, ep);
if (unlikely (!_ep || (!ep->desc && ep->ep.name != ep0name))) { if (unlikely(!_ep || (!ep->ep.desc && ep->ep.name != ep0name))) {
DMSG("%s, bad ep\n", __func__); DMSG("%s, bad ep\n", __func__);
return -EINVAL; return -EINVAL;
} }
@ -660,7 +659,7 @@ pxa25x_ep_queue(struct usb_ep *_ep, struct usb_request *_req, gfp_t gfp_flags)
* we can report per-packet status. that also helps with dma. * we can report per-packet status. that also helps with dma.
*/ */
if (unlikely (ep->bmAttributes == USB_ENDPOINT_XFER_ISOC if (unlikely (ep->bmAttributes == USB_ENDPOINT_XFER_ISOC
&& req->req.length > usb_endpoint_maxp (ep->desc))) && req->req.length > usb_endpoint_maxp(ep->ep.desc)))
return -EMSGSIZE; return -EMSGSIZE;
DBG(DBG_NOISY, "%s queue req %p, len %d buf %p\n", DBG(DBG_NOISY, "%s queue req %p, len %d buf %p\n",
@ -673,7 +672,7 @@ pxa25x_ep_queue(struct usb_ep *_ep, struct usb_request *_req, gfp_t gfp_flags)
/* kickstart this i/o queue? */ /* kickstart this i/o queue? */
if (list_empty(&ep->queue) && !ep->stopped) { if (list_empty(&ep->queue) && !ep->stopped) {
if (ep->desc == NULL/* ep0 */) { if (ep->ep.desc == NULL/* ep0 */) {
unsigned length = _req->length; unsigned length = _req->length;
switch (dev->ep0state) { switch (dev->ep0state) {
@ -722,7 +721,7 @@ pxa25x_ep_queue(struct usb_ep *_ep, struct usb_request *_req, gfp_t gfp_flags)
req = NULL; req = NULL;
} }
if (likely (req && ep->desc)) if (likely(req && ep->ep.desc))
pio_irq_enable(ep->bEndpointAddress); pio_irq_enable(ep->bEndpointAddress);
} }
@ -749,7 +748,7 @@ static void nuke(struct pxa25x_ep *ep, int status)
queue); queue);
done(ep, req, status); done(ep, req, status);
} }
if (ep->desc) if (ep->ep.desc)
pio_irq_disable (ep->bEndpointAddress); pio_irq_disable (ep->bEndpointAddress);
} }
@ -792,7 +791,7 @@ static int pxa25x_ep_set_halt(struct usb_ep *_ep, int value)
ep = container_of(_ep, struct pxa25x_ep, ep); ep = container_of(_ep, struct pxa25x_ep, ep);
if (unlikely (!_ep if (unlikely (!_ep
|| (!ep->desc && ep->ep.name != ep0name)) || (!ep->ep.desc && ep->ep.name != ep0name))
|| ep->bmAttributes == USB_ENDPOINT_XFER_ISOC) { || ep->bmAttributes == USB_ENDPOINT_XFER_ISOC) {
DMSG("%s, bad ep\n", __func__); DMSG("%s, bad ep\n", __func__);
return -EINVAL; return -EINVAL;
@ -820,7 +819,7 @@ static int pxa25x_ep_set_halt(struct usb_ep *_ep, int value)
*ep->reg_udccs = UDCCS_BI_FST|UDCCS_BI_FTF; *ep->reg_udccs = UDCCS_BI_FST|UDCCS_BI_FTF;
/* ep0 needs special care */ /* ep0 needs special care */
if (!ep->desc) { if (!ep->ep.desc) {
start_watchdog(ep->dev); start_watchdog(ep->dev);
ep->dev->req_pending = 0; ep->dev->req_pending = 0;
ep->dev->ep0state = EP0_STALL; ep->dev->ep0state = EP0_STALL;
@ -1087,7 +1086,7 @@ udc_seq_show(struct seq_file *m, void *_d)
if (i != 0) { if (i != 0) {
const struct usb_endpoint_descriptor *desc; const struct usb_endpoint_descriptor *desc;
desc = ep->desc; desc = ep->ep.desc;
if (!desc) if (!desc)
continue; continue;
tmp = *dev->ep [i].reg_udccs; tmp = *dev->ep [i].reg_udccs;
@ -1191,7 +1190,6 @@ static void udc_reinit(struct pxa25x_udc *dev)
if (i != 0) if (i != 0)
list_add_tail (&ep->ep.ep_list, &dev->gadget.ep_list); list_add_tail (&ep->ep.ep_list, &dev->gadget.ep_list);
ep->desc = NULL;
ep->ep.desc = NULL; ep->ep.desc = NULL;
ep->stopped = 0; ep->stopped = 0;
INIT_LIST_HEAD (&ep->queue); INIT_LIST_HEAD (&ep->queue);

View file

@ -41,7 +41,6 @@ struct pxa25x_ep {
struct usb_ep ep; struct usb_ep ep;
struct pxa25x_udc *dev; struct pxa25x_udc *dev;
const struct usb_endpoint_descriptor *desc;
struct list_head queue; struct list_head queue;
unsigned long pio_irqs; unsigned long pio_irqs;