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:
parent
f8bdae0614
commit
c18800d8f9
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue