Message ID | 20241027163130.5368-1-sensor1010@163.com |
---|---|
State | New |
Headers | show |
Series | usb:core: Remove unused parameter struct usb_hcd *hcd in usb_hcd_unlink_urb_from_ep | expand |
On 10/29/24 09:51, lizhe wrote: Please don't top post. It is harder to the thread. > > Hi, Shuah Khan > > > *usb_hcd_link_urb_to_ep() which is link counter part takes hcd* > > in usb_hcd_link_urb_to_ep(), the hcd is used. but, hcd is not used in usb_hcd_unlink_urb_from_ep() > > just because hcd is used in usb_hcd_link_urb_to_ep(), must it be retained in usb_hcd_unlink_urb_from_ep() ? > > > *It makses sense to specify hcd to which this urb belongs to* > > this is good to keep as-is for documentation alone, it doesn't actually change anything (---by greg k-h) This sounds like this change isn't required? > > doing this increases the overhead of entering the stack . Right. Can you quantify the overhead? > > > thanks, > > Lizhe > > > > At 2024-10-28 11:17:43, "Shuah Khan" <skhan@linuxfoundation.org> wrote: >>On 10/27/24 10:31, 李哲 wrote: >>> The first parameter of the usb_hcd_unlink_urb_from_ep() is not used. >>> This causes many callers to have to pass an additional parameter >>> unnecessarily. Let's remove it >> >>How did you find this problem and how did you test this? >>Even if hcd isn't used, usb_hcd_link_urb_to_ep() which >>is link counter part takes hcd >> >>It makses sense to specify hcd to which this urb belongs >>to. Can you give more details on why this change would >>make sense here. >> >>> >>> Signed-off-by: 李哲 <sensor1010@163.com> >>> --- >>> drivers/usb/c67x00/c67x00-sched.c | 6 +++--- >>> drivers/usb/core/hcd.c | 9 ++++----- >>> drivers/usb/fotg210/fotg210-hcd.c | 10 +++++----- >>> drivers/usb/gadget/udc/dummy_hcd.c | 2 +- >>> drivers/usb/host/ehci-q.c | 4 ++-- >>> drivers/usb/host/ehci-sched.c | 6 +++--- >>> drivers/usb/host/fhci-q.c | 2 +- >>> drivers/usb/host/isp116x-hcd.c | 4 ++-- >>> drivers/usb/host/isp1362-hcd.c | 4 ++-- >>> drivers/usb/host/max3421-hcd.c | 4 ++-- >>> drivers/usb/host/octeon-hcd.c | 6 +++--- >>> drivers/usb/host/ohci-hcd.c | 2 +- >>> drivers/usb/host/ohci-q.c | 2 +- >>> drivers/usb/host/r8a66597-hcd.c | 4 ++-- >>> drivers/usb/host/sl811-hcd.c | 4 ++-- >>> drivers/usb/host/uhci-q.c | 4 ++-- >>> drivers/usb/host/xhci-ring.c | 4 ++-- >>> drivers/usb/host/xhci.c | 2 +- >>> drivers/usb/musb/musb_host.c | 6 +++--- >>> drivers/usb/renesas_usbhs/mod_host.c | 2 +- >>> drivers/usb/usbip/vhci_hcd.c | 6 +++--- >>> drivers/usb/usbip/vhci_rx.c | 4 ++-- >>> include/linux/usb/hcd.h | 2 +- >>> 23 files changed, 49 insertions(+), 50 deletions(-) >>> >>> diff --git a/drivers/usb/c67x00/c67x00-sched.c b/drivers/usb/c67x00/c67x00-sched.c >>> index a09fa68a6ce7..28f07e9bb708 100644 >>> --- a/drivers/usb/c67x00/c67x00-sched.c >>> +++ b/drivers/usb/c67x00/c67x00-sched.c >>> @@ -429,7 +429,7 @@ int c67x00_urb_enqueue(struct usb_hcd *hcd, >>> return 0; >>> >>> err_epdata: >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> err_not_linked: >>> spin_unlock_irqrestore(&c67x00->lock, flags); >>> kfree(urbp); >>> @@ -450,7 +450,7 @@ int c67x00_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status) >>> goto done; >>> >>> c67x00_release_urb(c67x00, urb); >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> >>> spin_unlock(&c67x00->lock); >>> usb_hcd_giveback_urb(hcd, urb, status); >>> @@ -484,7 +484,7 @@ c67x00_giveback_urb(struct c67x00_hcd *c67x00, struct urb *urb, int status) >>> list_del_init(&urbp->hep_node); >>> >>> c67x00_release_urb(c67x00, urb); >>> - usb_hcd_unlink_urb_from_ep(c67x00_hcd_to_hcd(c67x00), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock(&c67x00->lock); >>> usb_hcd_giveback_urb(c67x00_hcd_to_hcd(c67x00), urb, status); >>> spin_lock(&c67x00->lock); >>> diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c >>> index 500dc35e6477..c0e159ad7bae 100644 >>> --- a/drivers/usb/core/hcd.c >>> +++ b/drivers/usb/core/hcd.c >>> @@ -707,7 +707,7 @@ static int rh_call_control (struct usb_hcd *hcd, struct urb *urb) >>> >>> /* any errors get returned through the urb completion */ >>> spin_lock_irq(&hcd_root_hub_lock); >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> usb_hcd_giveback_urb(hcd, urb, status); >>> spin_unlock_irq(&hcd_root_hub_lock); >>> return 0; >>> @@ -753,7 +753,7 @@ void usb_hcd_poll_rh_status(struct usb_hcd *hcd) >>> urb->actual_length = length; >>> memcpy(urb->transfer_buffer, buffer, length); >>> >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> usb_hcd_giveback_urb(hcd, urb, status); >>> } else { >>> length = 0; >>> @@ -845,7 +845,7 @@ static int usb_rh_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status) >>> del_timer (&hcd->rh_timer); >>> if (urb == hcd->status_urb) { >>> hcd->status_urb = NULL; >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> usb_hcd_giveback_urb(hcd, urb, status); >>> } >>> } >>> @@ -1210,7 +1210,6 @@ EXPORT_SYMBOL_GPL(usb_hcd_check_unlink_urb); >>> >>> /** >>> * usb_hcd_unlink_urb_from_ep - remove an URB from its endpoint queue >>> - * @hcd: host controller to which @urb was submitted >>> * @urb: URB being unlinked >>> * >>> * Host controller drivers should call this routine before calling >>> @@ -1218,7 +1217,7 @@ EXPORT_SYMBOL_GPL(usb_hcd_check_unlink_urb); >>> * interrupts must be disabled. The actions carried out here are required >>> * for URB completion. >>> */ >>> -void usb_hcd_unlink_urb_from_ep(struct usb_hcd *hcd, struct urb *urb) >>> +void usb_hcd_unlink_urb_from_ep(struct urb *urb) >>> { >>> /* clear all state linking urb to this dev (and hcd) */ >>> spin_lock(&hcd_urb_list_lock); >>> diff --git a/drivers/usb/fotg210/fotg210-hcd.c b/drivers/usb/fotg210/fotg210-hcd.c >>> index 3d404d19a205..1b7285885915 100644 >>> --- a/drivers/usb/fotg210/fotg210-hcd.c >>> +++ b/drivers/usb/fotg210/fotg210-hcd.c >>> @@ -2221,7 +2221,7 @@ __acquires(fotg210->lock) >>> #endif >>> >>> /* complete() can reenter this HCD */ >>> - usb_hcd_unlink_urb_from_ep(fotg210_to_hcd(fotg210), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock(&fotg210->lock); >>> usb_hcd_giveback_urb(fotg210_to_hcd(fotg210), urb, status); >>> spin_lock(&fotg210->lock); >>> @@ -3043,7 +3043,7 @@ static int submit_async(struct fotg210_hcd *fotg210, struct urb *urb, >>> >>> qh = qh_append_tds(fotg210, urb, qtd_list, epnum, &urb->ep->hcpriv); >>> if (unlikely(qh == NULL)) { >>> - usb_hcd_unlink_urb_from_ep(fotg210_to_hcd(fotg210), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> rc = -ENOMEM; >>> goto done; >>> } >>> @@ -3855,7 +3855,7 @@ static int intr_submit(struct fotg210_hcd *fotg210, struct urb *urb, >>> >>> done: >>> if (unlikely(status)) >>> - usb_hcd_unlink_urb_from_ep(fotg210_to_hcd(fotg210), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> done_not_linked: >>> spin_unlock_irqrestore(&fotg210->lock, flags); >>> if (status) >>> @@ -4553,14 +4553,14 @@ static int itd_submit(struct fotg210_hcd *fotg210, struct urb *urb, >>> status = -ESHUTDOWN; >>> goto done_not_linked; >>> } >>> - status = usb_hcd_link_urb_to_ep(fotg210_to_hcd(fotg210), urb); >>> + status = usb_hcd_link_urb_to_ep(urb); >>> if (unlikely(status)) >>> goto done_not_linked; >>> status = iso_stream_schedule(fotg210, urb, stream); >>> if (likely(status == 0)) >>> itd_link_urb(fotg210, urb, fotg210->periodic_size << 3, stream); >>> else >>> - usb_hcd_unlink_urb_from_ep(fotg210_to_hcd(fotg210), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> done_not_linked: >>> spin_unlock_irqrestore(&fotg210->lock, flags); >>> done: >>> diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/dummy_hcd.c >>> index 081ac7683c0b..d6ff455ed9ba 100644 >>> --- a/drivers/usb/gadget/udc/dummy_hcd.c >>> +++ b/drivers/usb/gadget/udc/dummy_hcd.c >>> @@ -1988,7 +1988,7 @@ static enum hrtimer_restart dummy_timer(struct hrtimer *t) >>> if (ep) >>> ep->already_seen = ep->setup_stage = 0; >>> >>> - usb_hcd_unlink_urb_from_ep(dummy_hcd_to_hcd(dum_hcd), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock(&dum->lock); >>> usb_hcd_giveback_urb(dummy_hcd_to_hcd(dum_hcd), urb, status); >>> spin_lock(&dum->lock); >>> diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c >>> index ba37a9fcab92..af3f39d28f65 100644 >>> --- a/drivers/usb/host/ehci-q.c >>> +++ b/drivers/usb/host/ehci-q.c >>> @@ -271,7 +271,7 @@ ehci_urb_done(struct ehci_hcd *ehci, struct urb *urb, int status) >>> urb->actual_length, urb->transfer_buffer_length); >>> #endif >>> >>> - usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> usb_hcd_giveback_urb(ehci_to_hcd(ehci), urb, status); >>> } >>> >>> @@ -1133,7 +1133,7 @@ submit_async ( >>> >>> qh = qh_append_tds(ehci, urb, qtd_list, epnum, &urb->ep->hcpriv); >>> if (unlikely(qh == NULL)) { >>> - usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> rc = -ENOMEM; >>> goto done; >>> } >>> diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c >>> index 7e834587e7de..7f78b63010d1 100644 >>> --- a/drivers/usb/host/ehci-sched.c >>> +++ b/drivers/usb/host/ehci-sched.c >>> @@ -957,7 +957,7 @@ static int intr_submit( >>> >>> done: >>> if (unlikely(status)) >>> - usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> done_not_linked: >>> spin_unlock_irqrestore(&ehci->lock, flags); >>> if (status) >>> @@ -1964,7 +1964,7 @@ static int itd_submit(struct ehci_hcd *ehci, struct urb *urb, >>> status = 0; >>> ehci_urb_done(ehci, urb, 0); >>> } else { >>> - usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> } >>> done_not_linked: >>> spin_unlock_irqrestore(&ehci->lock, flags); >>> @@ -2341,7 +2341,7 @@ static int sitd_submit(struct ehci_hcd *ehci, struct urb *urb, >>> status = 0; >>> ehci_urb_done(ehci, urb, 0); >>> } else { >>> - usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> } >>> done_not_linked: >>> spin_unlock_irqrestore(&ehci->lock, flags); >>> diff --git a/drivers/usb/host/fhci-q.c b/drivers/usb/host/fhci-q.c >>> index 669c240523fe..108d19907036 100644 >>> --- a/drivers/usb/host/fhci-q.c >>> +++ b/drivers/usb/host/fhci-q.c >>> @@ -198,7 +198,7 @@ void fhci_urb_complete_free(struct fhci_hcd *fhci, struct urb *urb) >>> urb->status = 0; >>> } >>> >>> - usb_hcd_unlink_urb_from_ep(fhci_to_hcd(fhci), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> >>> spin_unlock(&fhci->lock); >>> >>> diff --git a/drivers/usb/host/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c >>> index a82d8926e922..f2c001cd526a 100644 >>> --- a/drivers/usb/host/isp116x-hcd.c >>> +++ b/drivers/usb/host/isp116x-hcd.c >>> @@ -304,7 +304,7 @@ __releases(isp116x->lock) __acquires(isp116x->lock) >>> >>> urb_dbg(urb, "Finish"); >>> >>> - usb_hcd_unlink_urb_from_ep(isp116x_to_hcd(isp116x), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock(&isp116x->lock); >>> usb_hcd_giveback_urb(isp116x_to_hcd(isp116x), urb, status); >>> spin_lock(&isp116x->lock); >>> @@ -824,7 +824,7 @@ static int isp116x_urb_enqueue(struct usb_hcd *hcd, >>> >>> fail: >>> if (ret) >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> fail_not_linked: >>> spin_unlock_irqrestore(&isp116x->lock, flags); >>> return ret; >>> diff --git a/drivers/usb/host/isp1362-hcd.c b/drivers/usb/host/isp1362-hcd.c >>> index 31059c8f94e6..ba52edd31d09 100644 >>> --- a/drivers/usb/host/isp1362-hcd.c >>> +++ b/drivers/usb/host/isp1362-hcd.c >>> @@ -466,7 +466,7 @@ static void finish_request(struct isp1362_hcd *isp1362_hcd, struct isp1362_ep *e >>> "short_ok" : "", urb->status); >>> >>> >>> - usb_hcd_unlink_urb_from_ep(isp1362_hcd_to_hcd(isp1362_hcd), urb); >>> + usb_hcd_unlink_urb_from_ep(isp1362_hcd_to_hcd(urb)); >>> spin_unlock(&isp1362_hcd->lock); >>> usb_hcd_giveback_urb(isp1362_hcd_to_hcd(isp1362_hcd), urb, status); >>> spin_lock(&isp1362_hcd->lock); >>> @@ -1384,7 +1384,7 @@ static int isp1362_urb_enqueue(struct usb_hcd *hcd, >>> } >>> fail: >>> if (retval) >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> >>> >>> fail_not_linked: >>> diff --git a/drivers/usb/host/max3421-hcd.c b/drivers/usb/host/max3421-hcd.c >>> index 9fe4f48b1898..f7a1d8fb3085 100644 >>> --- a/drivers/usb/host/max3421-hcd.c >>> +++ b/drivers/usb/host/max3421-hcd.c >>> @@ -779,7 +779,7 @@ max3421_check_unlink(struct usb_hcd *hcd) >>> retval = 1; >>> dev_dbg(&spi->dev, "%s: URB %p unlinked=%d", >>> __func__, urb, urb->unlinked); >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock_irqrestore(&max3421_hcd->lock, >>> flags); >>> usb_hcd_giveback_urb(hcd, urb, 0); >>> @@ -1352,7 +1352,7 @@ max3421_urb_done(struct usb_hcd *hcd) >>> >>> max3421_hcd->curr_urb = NULL; >>> spin_lock_irqsave(&max3421_hcd->lock, flags); >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock_irqrestore(&max3421_hcd->lock, flags); >>> >>> /* must be called without the HCD spinlock: */ >>> diff --git a/drivers/usb/host/octeon-hcd.c b/drivers/usb/host/octeon-hcd.c >>> index 19d5777f5db2..2f13b3e2475f 100644 >>> --- a/drivers/usb/host/octeon-hcd.c >>> +++ b/drivers/usb/host/octeon-hcd.c >>> @@ -2036,7 +2036,7 @@ static void octeon_usb_urb_complete_callback(struct octeon_hcd *usb, >>> urb->status = -EPROTO; >>> break; >>> } >>> - usb_hcd_unlink_urb_from_ep(octeon_to_hcd(usb), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock(&usb->lock); >>> usb_hcd_giveback_urb(octeon_to_hcd(usb), urb, urb->status); >>> spin_lock(&usb->lock); >>> @@ -3161,7 +3161,7 @@ static int octeon_usb_urb_enqueue(struct usb_hcd *hcd, >>> >> 11) & 0x3, >>> split_device, split_port); >>> if (!pipe) { >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock_irqrestore(&usb->lock, flags); >>> dev_dbg(dev, "Failed to create pipe\n"); >>> return -ENOMEM; >>> @@ -3231,7 +3231,7 @@ static int octeon_usb_urb_enqueue(struct usb_hcd *hcd, >>> break; >>> } >>> if (!transaction) { >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock_irqrestore(&usb->lock, flags); >>> dev_dbg(dev, "Failed to submit\n"); >>> return -ENOMEM; >>> diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c >>> index 9b24181fee60..47f4b071322c 100644 >>> --- a/drivers/usb/host/ohci-hcd.c >>> +++ b/drivers/usb/host/ohci-hcd.c >>> @@ -226,7 +226,7 @@ static int ohci_urb_enqueue ( >>> if (ed->state == ED_IDLE) { >>> retval = ed_schedule (ohci, ed); >>> if (retval < 0) { >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> goto fail; >>> } >>> >>> diff --git a/drivers/usb/host/ohci-q.c b/drivers/usb/host/ohci-q.c >>> index 3b445312beea..ad96205510ef 100644 >>> --- a/drivers/usb/host/ohci-q.c >>> +++ b/drivers/usb/host/ohci-q.c >>> @@ -70,7 +70,7 @@ __acquires(ohci->lock) >>> } >>> >>> /* urb->complete() can reenter this HCD */ >>> - usb_hcd_unlink_urb_from_ep(ohci_to_hcd(ohci), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock (&ohci->lock); >>> usb_hcd_giveback_urb(ohci_to_hcd(ohci), urb, status); >>> spin_lock (&ohci->lock); >>> diff --git a/drivers/usb/host/r8a66597-hcd.c b/drivers/usb/host/r8a66597-hcd.c >>> index 6576515a29cd..3002e0b1442a 100644 >>> --- a/drivers/usb/host/r8a66597-hcd.c >>> +++ b/drivers/usb/host/r8a66597-hcd.c >>> @@ -823,7 +823,7 @@ __acquires(r8a66597->lock) >>> flush_dcache_page(virt_to_page(ptr)); >>> } >>> >>> - usb_hcd_unlink_urb_from_ep(r8a66597_to_hcd(r8a66597), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock(&r8a66597->lock); >>> usb_hcd_giveback_urb(r8a66597_to_hcd(r8a66597), urb, status); >>> spin_lock(&r8a66597->lock); >>> @@ -1943,7 +1943,7 @@ static int r8a66597_urb_enqueue(struct usb_hcd *hcd, >>> >>> error: >>> if (ret) >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> error_not_linked: >>> spin_unlock_irqrestore(&r8a66597->lock, flags); >>> return ret; >>> diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c >>> index 92f2d1238448..2bb21437671c 100644 >>> --- a/drivers/usb/host/sl811-hcd.c >>> +++ b/drivers/usb/host/sl811-hcd.c >>> @@ -429,7 +429,7 @@ static void finish_request( >>> if (usb_pipecontrol(urb->pipe)) >>> ep->nextpid = USB_PID_SETUP; >>> >>> - usb_hcd_unlink_urb_from_ep(sl811_to_hcd(sl811), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock(&sl811->lock); >>> usb_hcd_giveback_urb(sl811_to_hcd(sl811), urb, status); >>> spin_lock(&sl811->lock); >>> @@ -951,7 +951,7 @@ static int sl811h_urb_enqueue( >>> sl811_write(sl811, SL11H_IRQ_ENABLE, sl811->irq_enable); >>> fail: >>> if (retval) >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> fail_not_linked: >>> spin_unlock_irqrestore(&sl811->lock, flags); >>> return retval; >>> diff --git a/drivers/usb/host/uhci-q.c b/drivers/usb/host/uhci-q.c >>> index 35fcb826152c..7980bc666af1 100644 >>> --- a/drivers/usb/host/uhci-q.c >>> +++ b/drivers/usb/host/uhci-q.c >>> @@ -1472,7 +1472,7 @@ static int uhci_urb_enqueue(struct usb_hcd *hcd, >>> uhci_free_urb_priv(uhci, urbp); >>> done: >>> if (ret) >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> done_not_linked: >>> spin_unlock_irqrestore(&uhci->lock, flags); >>> return ret; >>> @@ -1550,7 +1550,7 @@ __acquires(uhci->lock) >>> } >>> >>> uhci_free_urb_priv(uhci, urbp); >>> - usb_hcd_unlink_urb_from_ep(uhci_to_hcd(uhci), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> >>> spin_unlock(&uhci->lock); >>> usb_hcd_giveback_urb(uhci_to_hcd(uhci), urb, status); >>> diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c >>> index b6eb928e260f..4c3eb475147b 100644 >>> --- a/drivers/usb/host/xhci-ring.c >>> +++ b/drivers/usb/host/xhci-ring.c >>> @@ -775,7 +775,7 @@ static void xhci_giveback_urb_in_irq(struct xhci_hcd *xhci, >>> } >>> } >>> xhci_urb_free_priv(urb_priv); >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> trace_xhci_urb_giveback(urb); >>> usb_hcd_giveback_urb(hcd, urb, status); >>> } >>> @@ -4178,7 +4178,7 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags, >>> ep_ring->enqueue = urb_priv->td[0].first_trb; >>> ep_ring->enq_seg = urb_priv->td[0].start_seg; >>> ep_ring->cycle_state = start_cycle; >>> - usb_hcd_unlink_urb_from_ep(bus_to_hcd(urb->dev->bus), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> return ret; >>> } >>> >>> diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c >>> index 899c0effb5d3..780c2c89407e 100644 >>> --- a/drivers/usb/host/xhci.c >>> +++ b/drivers/usb/host/xhci.c >>> @@ -1789,7 +1789,7 @@ static int xhci_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status) >>> err_giveback: >>> if (urb_priv) >>> xhci_urb_free_priv(urb_priv); >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock_irqrestore(&xhci->lock, flags); >>> usb_hcd_giveback_urb(hcd, urb, -ESHUTDOWN); >>> return ret; >>> diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c >>> index bc4507781167..7d574b40af6a 100644 >>> --- a/drivers/usb/musb/musb_host.c >>> +++ b/drivers/usb/musb/musb_host.c >>> @@ -280,7 +280,7 @@ __acquires(musb->lock) >>> { >>> trace_musb_urb_gb(musb, urb); >>> >>> - usb_hcd_unlink_urb_from_ep(musb->hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock(&musb->lock); >>> usb_hcd_giveback_urb(musb->hcd, urb, status); >>> spin_lock(&musb->lock); >>> @@ -2157,7 +2157,7 @@ static int musb_urb_enqueue( >>> qh = kzalloc(sizeof *qh, mem_flags); >>> if (!qh) { >>> spin_lock_irqsave(&musb->lock, flags); >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock_irqrestore(&musb->lock, flags); >>> return -ENOMEM; >>> } >>> @@ -2292,7 +2292,7 @@ static int musb_urb_enqueue( >>> done: >>> if (ret != 0) { >>> spin_lock_irqsave(&musb->lock, flags); >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock_irqrestore(&musb->lock, flags); >>> kfree(qh); >>> } >>> diff --git a/drivers/usb/renesas_usbhs/mod_host.c b/drivers/usb/renesas_usbhs/mod_host.c >>> index ae54221011c3..a3646bace962 100644 >>> --- a/drivers/usb/renesas_usbhs/mod_host.c >>> +++ b/drivers/usb/renesas_usbhs/mod_host.c >>> @@ -652,7 +652,7 @@ static void usbhsh_queue_done(struct usbhs_priv *priv, struct usbhs_pkt *pkt) >>> >>> usbhsh_pipe_detach(hpriv, usbhsh_ep_to_uep(urb->ep)); >>> >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> usb_hcd_giveback_urb(hcd, urb, status); >>> } >>> >>> diff --git a/drivers/usb/usbip/vhci_hcd.c b/drivers/usb/usbip/vhci_hcd.c >>> index 8dac1edc74d4..a182ffa32c99 100644 >>> --- a/drivers/usb/usbip/vhci_hcd.c >>> +++ b/drivers/usb/usbip/vhci_hcd.c >>> @@ -806,7 +806,7 @@ static int vhci_urb_enqueue(struct usb_hcd *hcd, struct urb *urb, gfp_t mem_flag >>> return 0; >>> >>> no_need_xmit: >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> no_need_unlink: >>> spin_unlock_irqrestore(&vhci->lock, flags); >>> if (!ret) { >>> @@ -912,7 +912,7 @@ static int vhci_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status) >>> * vhci_rx will receive RET_UNLINK and give back the URB. >>> * Otherwise, we give back it here. >>> */ >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> >>> spin_unlock_irqrestore(&vhci->lock, flags); >>> usb_hcd_giveback_urb(hcd, urb, urb->status); >>> @@ -977,7 +977,7 @@ static void vhci_cleanup_unlink_list(struct vhci_device *vdev, >>> >>> urb->status = -ENODEV; >>> >>> - usb_hcd_unlink_urb_from_ep(hcd, urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> >>> list_del(&unlink->list); >>> >>> diff --git a/drivers/usb/usbip/vhci_rx.c b/drivers/usb/usbip/vhci_rx.c >>> index 7f2d1c241559..236d0dd95d3b 100644 >>> --- a/drivers/usb/usbip/vhci_rx.c >>> +++ b/drivers/usb/usbip/vhci_rx.c >>> @@ -101,7 +101,7 @@ static void vhci_recv_ret_submit(struct vhci_device *vdev, >>> usbip_dbg_vhci_rx("now giveback urb %u\n", pdu->base.seqnum); >>> >>> spin_lock_irqsave(&vhci->lock, flags); >>> - usb_hcd_unlink_urb_from_ep(vhci_hcd_to_hcd(vhci_hcd), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock_irqrestore(&vhci->lock, flags); >>> >>> usb_hcd_giveback_urb(vhci_hcd_to_hcd(vhci_hcd), urb, urb->status); >>> @@ -172,7 +172,7 @@ static void vhci_recv_ret_unlink(struct vhci_device *vdev, >>> pr_info("urb->status %d\n", urb->status); >>> >>> spin_lock_irqsave(&vhci->lock, flags); >>> - usb_hcd_unlink_urb_from_ep(vhci_hcd_to_hcd(vhci_hcd), urb); >>> + usb_hcd_unlink_urb_from_ep(urb); >>> spin_unlock_irqrestore(&vhci->lock, flags); >>> >>> usb_hcd_giveback_urb(vhci_hcd_to_hcd(vhci_hcd), urb, urb->status); >>> diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h >>> index ac95e7c89df5..9a451658a779 100644 >>> --- a/include/linux/usb/hcd.h >>> +++ b/include/linux/usb/hcd.h >>> @@ -425,7 +425,7 @@ static inline bool hcd_uses_dma(struct usb_hcd *hcd) >>> extern int usb_hcd_link_urb_to_ep(struct usb_hcd *hcd, struct urb *urb); >>> extern int usb_hcd_check_unlink_urb(struct usb_hcd *hcd, struct urb *urb, >>> int status); >>> -extern void usb_hcd_unlink_urb_from_ep(struct usb_hcd *hcd, struct urb *urb); >>> +extern void usb_hcd_unlink_urb_from_ep(struct urb *urb); >>> >>> extern int usb_hcd_submit_urb(struct urb *urb, gfp_t mem_flags); >>> extern int usb_hcd_unlink_urb(struct urb *urb, int status); >> >>thanks, >>-- Shuah > thanks, -- Shuah
diff --git a/drivers/usb/c67x00/c67x00-sched.c b/drivers/usb/c67x00/c67x00-sched.c index a09fa68a6ce7..28f07e9bb708 100644 --- a/drivers/usb/c67x00/c67x00-sched.c +++ b/drivers/usb/c67x00/c67x00-sched.c @@ -429,7 +429,7 @@ int c67x00_urb_enqueue(struct usb_hcd *hcd, return 0; err_epdata: - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); err_not_linked: spin_unlock_irqrestore(&c67x00->lock, flags); kfree(urbp); @@ -450,7 +450,7 @@ int c67x00_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status) goto done; c67x00_release_urb(c67x00, urb); - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock(&c67x00->lock); usb_hcd_giveback_urb(hcd, urb, status); @@ -484,7 +484,7 @@ c67x00_giveback_urb(struct c67x00_hcd *c67x00, struct urb *urb, int status) list_del_init(&urbp->hep_node); c67x00_release_urb(c67x00, urb); - usb_hcd_unlink_urb_from_ep(c67x00_hcd_to_hcd(c67x00), urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock(&c67x00->lock); usb_hcd_giveback_urb(c67x00_hcd_to_hcd(c67x00), urb, status); spin_lock(&c67x00->lock); diff --git a/drivers/usb/core/hcd.c b/drivers/usb/core/hcd.c index 500dc35e6477..c0e159ad7bae 100644 --- a/drivers/usb/core/hcd.c +++ b/drivers/usb/core/hcd.c @@ -707,7 +707,7 @@ static int rh_call_control (struct usb_hcd *hcd, struct urb *urb) /* any errors get returned through the urb completion */ spin_lock_irq(&hcd_root_hub_lock); - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); usb_hcd_giveback_urb(hcd, urb, status); spin_unlock_irq(&hcd_root_hub_lock); return 0; @@ -753,7 +753,7 @@ void usb_hcd_poll_rh_status(struct usb_hcd *hcd) urb->actual_length = length; memcpy(urb->transfer_buffer, buffer, length); - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); usb_hcd_giveback_urb(hcd, urb, status); } else { length = 0; @@ -845,7 +845,7 @@ static int usb_rh_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status) del_timer (&hcd->rh_timer); if (urb == hcd->status_urb) { hcd->status_urb = NULL; - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); usb_hcd_giveback_urb(hcd, urb, status); } } @@ -1210,7 +1210,6 @@ EXPORT_SYMBOL_GPL(usb_hcd_check_unlink_urb); /** * usb_hcd_unlink_urb_from_ep - remove an URB from its endpoint queue - * @hcd: host controller to which @urb was submitted * @urb: URB being unlinked * * Host controller drivers should call this routine before calling @@ -1218,7 +1217,7 @@ EXPORT_SYMBOL_GPL(usb_hcd_check_unlink_urb); * interrupts must be disabled. The actions carried out here are required * for URB completion. */ -void usb_hcd_unlink_urb_from_ep(struct usb_hcd *hcd, struct urb *urb) +void usb_hcd_unlink_urb_from_ep(struct urb *urb) { /* clear all state linking urb to this dev (and hcd) */ spin_lock(&hcd_urb_list_lock); diff --git a/drivers/usb/fotg210/fotg210-hcd.c b/drivers/usb/fotg210/fotg210-hcd.c index 3d404d19a205..1b7285885915 100644 --- a/drivers/usb/fotg210/fotg210-hcd.c +++ b/drivers/usb/fotg210/fotg210-hcd.c @@ -2221,7 +2221,7 @@ __acquires(fotg210->lock) #endif /* complete() can reenter this HCD */ - usb_hcd_unlink_urb_from_ep(fotg210_to_hcd(fotg210), urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock(&fotg210->lock); usb_hcd_giveback_urb(fotg210_to_hcd(fotg210), urb, status); spin_lock(&fotg210->lock); @@ -3043,7 +3043,7 @@ static int submit_async(struct fotg210_hcd *fotg210, struct urb *urb, qh = qh_append_tds(fotg210, urb, qtd_list, epnum, &urb->ep->hcpriv); if (unlikely(qh == NULL)) { - usb_hcd_unlink_urb_from_ep(fotg210_to_hcd(fotg210), urb); + usb_hcd_unlink_urb_from_ep(urb); rc = -ENOMEM; goto done; } @@ -3855,7 +3855,7 @@ static int intr_submit(struct fotg210_hcd *fotg210, struct urb *urb, done: if (unlikely(status)) - usb_hcd_unlink_urb_from_ep(fotg210_to_hcd(fotg210), urb); + usb_hcd_unlink_urb_from_ep(urb); done_not_linked: spin_unlock_irqrestore(&fotg210->lock, flags); if (status) @@ -4553,14 +4553,14 @@ static int itd_submit(struct fotg210_hcd *fotg210, struct urb *urb, status = -ESHUTDOWN; goto done_not_linked; } - status = usb_hcd_link_urb_to_ep(fotg210_to_hcd(fotg210), urb); + status = usb_hcd_link_urb_to_ep(urb); if (unlikely(status)) goto done_not_linked; status = iso_stream_schedule(fotg210, urb, stream); if (likely(status == 0)) itd_link_urb(fotg210, urb, fotg210->periodic_size << 3, stream); else - usb_hcd_unlink_urb_from_ep(fotg210_to_hcd(fotg210), urb); + usb_hcd_unlink_urb_from_ep(urb); done_not_linked: spin_unlock_irqrestore(&fotg210->lock, flags); done: diff --git a/drivers/usb/gadget/udc/dummy_hcd.c b/drivers/usb/gadget/udc/dummy_hcd.c index 081ac7683c0b..d6ff455ed9ba 100644 --- a/drivers/usb/gadget/udc/dummy_hcd.c +++ b/drivers/usb/gadget/udc/dummy_hcd.c @@ -1988,7 +1988,7 @@ static enum hrtimer_restart dummy_timer(struct hrtimer *t) if (ep) ep->already_seen = ep->setup_stage = 0; - usb_hcd_unlink_urb_from_ep(dummy_hcd_to_hcd(dum_hcd), urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock(&dum->lock); usb_hcd_giveback_urb(dummy_hcd_to_hcd(dum_hcd), urb, status); spin_lock(&dum->lock); diff --git a/drivers/usb/host/ehci-q.c b/drivers/usb/host/ehci-q.c index ba37a9fcab92..af3f39d28f65 100644 --- a/drivers/usb/host/ehci-q.c +++ b/drivers/usb/host/ehci-q.c @@ -271,7 +271,7 @@ ehci_urb_done(struct ehci_hcd *ehci, struct urb *urb, int status) urb->actual_length, urb->transfer_buffer_length); #endif - usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); + usb_hcd_unlink_urb_from_ep(urb); usb_hcd_giveback_urb(ehci_to_hcd(ehci), urb, status); } @@ -1133,7 +1133,7 @@ submit_async ( qh = qh_append_tds(ehci, urb, qtd_list, epnum, &urb->ep->hcpriv); if (unlikely(qh == NULL)) { - usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); + usb_hcd_unlink_urb_from_ep(urb); rc = -ENOMEM; goto done; } diff --git a/drivers/usb/host/ehci-sched.c b/drivers/usb/host/ehci-sched.c index 7e834587e7de..7f78b63010d1 100644 --- a/drivers/usb/host/ehci-sched.c +++ b/drivers/usb/host/ehci-sched.c @@ -957,7 +957,7 @@ static int intr_submit( done: if (unlikely(status)) - usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); + usb_hcd_unlink_urb_from_ep(urb); done_not_linked: spin_unlock_irqrestore(&ehci->lock, flags); if (status) @@ -1964,7 +1964,7 @@ static int itd_submit(struct ehci_hcd *ehci, struct urb *urb, status = 0; ehci_urb_done(ehci, urb, 0); } else { - usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); + usb_hcd_unlink_urb_from_ep(urb); } done_not_linked: spin_unlock_irqrestore(&ehci->lock, flags); @@ -2341,7 +2341,7 @@ static int sitd_submit(struct ehci_hcd *ehci, struct urb *urb, status = 0; ehci_urb_done(ehci, urb, 0); } else { - usb_hcd_unlink_urb_from_ep(ehci_to_hcd(ehci), urb); + usb_hcd_unlink_urb_from_ep(urb); } done_not_linked: spin_unlock_irqrestore(&ehci->lock, flags); diff --git a/drivers/usb/host/fhci-q.c b/drivers/usb/host/fhci-q.c index 669c240523fe..108d19907036 100644 --- a/drivers/usb/host/fhci-q.c +++ b/drivers/usb/host/fhci-q.c @@ -198,7 +198,7 @@ void fhci_urb_complete_free(struct fhci_hcd *fhci, struct urb *urb) urb->status = 0; } - usb_hcd_unlink_urb_from_ep(fhci_to_hcd(fhci), urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock(&fhci->lock); diff --git a/drivers/usb/host/isp116x-hcd.c b/drivers/usb/host/isp116x-hcd.c index a82d8926e922..f2c001cd526a 100644 --- a/drivers/usb/host/isp116x-hcd.c +++ b/drivers/usb/host/isp116x-hcd.c @@ -304,7 +304,7 @@ __releases(isp116x->lock) __acquires(isp116x->lock) urb_dbg(urb, "Finish"); - usb_hcd_unlink_urb_from_ep(isp116x_to_hcd(isp116x), urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock(&isp116x->lock); usb_hcd_giveback_urb(isp116x_to_hcd(isp116x), urb, status); spin_lock(&isp116x->lock); @@ -824,7 +824,7 @@ static int isp116x_urb_enqueue(struct usb_hcd *hcd, fail: if (ret) - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); fail_not_linked: spin_unlock_irqrestore(&isp116x->lock, flags); return ret; diff --git a/drivers/usb/host/isp1362-hcd.c b/drivers/usb/host/isp1362-hcd.c index 31059c8f94e6..ba52edd31d09 100644 --- a/drivers/usb/host/isp1362-hcd.c +++ b/drivers/usb/host/isp1362-hcd.c @@ -466,7 +466,7 @@ static void finish_request(struct isp1362_hcd *isp1362_hcd, struct isp1362_ep *e "short_ok" : "", urb->status); - usb_hcd_unlink_urb_from_ep(isp1362_hcd_to_hcd(isp1362_hcd), urb); + usb_hcd_unlink_urb_from_ep(isp1362_hcd_to_hcd(urb)); spin_unlock(&isp1362_hcd->lock); usb_hcd_giveback_urb(isp1362_hcd_to_hcd(isp1362_hcd), urb, status); spin_lock(&isp1362_hcd->lock); @@ -1384,7 +1384,7 @@ static int isp1362_urb_enqueue(struct usb_hcd *hcd, } fail: if (retval) - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); fail_not_linked: diff --git a/drivers/usb/host/max3421-hcd.c b/drivers/usb/host/max3421-hcd.c index 9fe4f48b1898..f7a1d8fb3085 100644 --- a/drivers/usb/host/max3421-hcd.c +++ b/drivers/usb/host/max3421-hcd.c @@ -779,7 +779,7 @@ max3421_check_unlink(struct usb_hcd *hcd) retval = 1; dev_dbg(&spi->dev, "%s: URB %p unlinked=%d", __func__, urb, urb->unlinked); - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock_irqrestore(&max3421_hcd->lock, flags); usb_hcd_giveback_urb(hcd, urb, 0); @@ -1352,7 +1352,7 @@ max3421_urb_done(struct usb_hcd *hcd) max3421_hcd->curr_urb = NULL; spin_lock_irqsave(&max3421_hcd->lock, flags); - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock_irqrestore(&max3421_hcd->lock, flags); /* must be called without the HCD spinlock: */ diff --git a/drivers/usb/host/octeon-hcd.c b/drivers/usb/host/octeon-hcd.c index 19d5777f5db2..2f13b3e2475f 100644 --- a/drivers/usb/host/octeon-hcd.c +++ b/drivers/usb/host/octeon-hcd.c @@ -2036,7 +2036,7 @@ static void octeon_usb_urb_complete_callback(struct octeon_hcd *usb, urb->status = -EPROTO; break; } - usb_hcd_unlink_urb_from_ep(octeon_to_hcd(usb), urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock(&usb->lock); usb_hcd_giveback_urb(octeon_to_hcd(usb), urb, urb->status); spin_lock(&usb->lock); @@ -3161,7 +3161,7 @@ static int octeon_usb_urb_enqueue(struct usb_hcd *hcd, >> 11) & 0x3, split_device, split_port); if (!pipe) { - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock_irqrestore(&usb->lock, flags); dev_dbg(dev, "Failed to create pipe\n"); return -ENOMEM; @@ -3231,7 +3231,7 @@ static int octeon_usb_urb_enqueue(struct usb_hcd *hcd, break; } if (!transaction) { - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock_irqrestore(&usb->lock, flags); dev_dbg(dev, "Failed to submit\n"); return -ENOMEM; diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index 9b24181fee60..47f4b071322c 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c @@ -226,7 +226,7 @@ static int ohci_urb_enqueue ( if (ed->state == ED_IDLE) { retval = ed_schedule (ohci, ed); if (retval < 0) { - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); goto fail; } diff --git a/drivers/usb/host/ohci-q.c b/drivers/usb/host/ohci-q.c index 3b445312beea..ad96205510ef 100644 --- a/drivers/usb/host/ohci-q.c +++ b/drivers/usb/host/ohci-q.c @@ -70,7 +70,7 @@ __acquires(ohci->lock) } /* urb->complete() can reenter this HCD */ - usb_hcd_unlink_urb_from_ep(ohci_to_hcd(ohci), urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock (&ohci->lock); usb_hcd_giveback_urb(ohci_to_hcd(ohci), urb, status); spin_lock (&ohci->lock); diff --git a/drivers/usb/host/r8a66597-hcd.c b/drivers/usb/host/r8a66597-hcd.c index 6576515a29cd..3002e0b1442a 100644 --- a/drivers/usb/host/r8a66597-hcd.c +++ b/drivers/usb/host/r8a66597-hcd.c @@ -823,7 +823,7 @@ __acquires(r8a66597->lock) flush_dcache_page(virt_to_page(ptr)); } - usb_hcd_unlink_urb_from_ep(r8a66597_to_hcd(r8a66597), urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock(&r8a66597->lock); usb_hcd_giveback_urb(r8a66597_to_hcd(r8a66597), urb, status); spin_lock(&r8a66597->lock); @@ -1943,7 +1943,7 @@ static int r8a66597_urb_enqueue(struct usb_hcd *hcd, error: if (ret) - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); error_not_linked: spin_unlock_irqrestore(&r8a66597->lock, flags); return ret; diff --git a/drivers/usb/host/sl811-hcd.c b/drivers/usb/host/sl811-hcd.c index 92f2d1238448..2bb21437671c 100644 --- a/drivers/usb/host/sl811-hcd.c +++ b/drivers/usb/host/sl811-hcd.c @@ -429,7 +429,7 @@ static void finish_request( if (usb_pipecontrol(urb->pipe)) ep->nextpid = USB_PID_SETUP; - usb_hcd_unlink_urb_from_ep(sl811_to_hcd(sl811), urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock(&sl811->lock); usb_hcd_giveback_urb(sl811_to_hcd(sl811), urb, status); spin_lock(&sl811->lock); @@ -951,7 +951,7 @@ static int sl811h_urb_enqueue( sl811_write(sl811, SL11H_IRQ_ENABLE, sl811->irq_enable); fail: if (retval) - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); fail_not_linked: spin_unlock_irqrestore(&sl811->lock, flags); return retval; diff --git a/drivers/usb/host/uhci-q.c b/drivers/usb/host/uhci-q.c index 35fcb826152c..7980bc666af1 100644 --- a/drivers/usb/host/uhci-q.c +++ b/drivers/usb/host/uhci-q.c @@ -1472,7 +1472,7 @@ static int uhci_urb_enqueue(struct usb_hcd *hcd, uhci_free_urb_priv(uhci, urbp); done: if (ret) - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); done_not_linked: spin_unlock_irqrestore(&uhci->lock, flags); return ret; @@ -1550,7 +1550,7 @@ __acquires(uhci->lock) } uhci_free_urb_priv(uhci, urbp); - usb_hcd_unlink_urb_from_ep(uhci_to_hcd(uhci), urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock(&uhci->lock); usb_hcd_giveback_urb(uhci_to_hcd(uhci), urb, status); diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c index b6eb928e260f..4c3eb475147b 100644 --- a/drivers/usb/host/xhci-ring.c +++ b/drivers/usb/host/xhci-ring.c @@ -775,7 +775,7 @@ static void xhci_giveback_urb_in_irq(struct xhci_hcd *xhci, } } xhci_urb_free_priv(urb_priv); - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); trace_xhci_urb_giveback(urb); usb_hcd_giveback_urb(hcd, urb, status); } @@ -4178,7 +4178,7 @@ static int xhci_queue_isoc_tx(struct xhci_hcd *xhci, gfp_t mem_flags, ep_ring->enqueue = urb_priv->td[0].first_trb; ep_ring->enq_seg = urb_priv->td[0].start_seg; ep_ring->cycle_state = start_cycle; - usb_hcd_unlink_urb_from_ep(bus_to_hcd(urb->dev->bus), urb); + usb_hcd_unlink_urb_from_ep(urb); return ret; } diff --git a/drivers/usb/host/xhci.c b/drivers/usb/host/xhci.c index 899c0effb5d3..780c2c89407e 100644 --- a/drivers/usb/host/xhci.c +++ b/drivers/usb/host/xhci.c @@ -1789,7 +1789,7 @@ static int xhci_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status) err_giveback: if (urb_priv) xhci_urb_free_priv(urb_priv); - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock_irqrestore(&xhci->lock, flags); usb_hcd_giveback_urb(hcd, urb, -ESHUTDOWN); return ret; diff --git a/drivers/usb/musb/musb_host.c b/drivers/usb/musb/musb_host.c index bc4507781167..7d574b40af6a 100644 --- a/drivers/usb/musb/musb_host.c +++ b/drivers/usb/musb/musb_host.c @@ -280,7 +280,7 @@ __acquires(musb->lock) { trace_musb_urb_gb(musb, urb); - usb_hcd_unlink_urb_from_ep(musb->hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock(&musb->lock); usb_hcd_giveback_urb(musb->hcd, urb, status); spin_lock(&musb->lock); @@ -2157,7 +2157,7 @@ static int musb_urb_enqueue( qh = kzalloc(sizeof *qh, mem_flags); if (!qh) { spin_lock_irqsave(&musb->lock, flags); - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock_irqrestore(&musb->lock, flags); return -ENOMEM; } @@ -2292,7 +2292,7 @@ static int musb_urb_enqueue( done: if (ret != 0) { spin_lock_irqsave(&musb->lock, flags); - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock_irqrestore(&musb->lock, flags); kfree(qh); } diff --git a/drivers/usb/renesas_usbhs/mod_host.c b/drivers/usb/renesas_usbhs/mod_host.c index ae54221011c3..a3646bace962 100644 --- a/drivers/usb/renesas_usbhs/mod_host.c +++ b/drivers/usb/renesas_usbhs/mod_host.c @@ -652,7 +652,7 @@ static void usbhsh_queue_done(struct usbhs_priv *priv, struct usbhs_pkt *pkt) usbhsh_pipe_detach(hpriv, usbhsh_ep_to_uep(urb->ep)); - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); usb_hcd_giveback_urb(hcd, urb, status); } diff --git a/drivers/usb/usbip/vhci_hcd.c b/drivers/usb/usbip/vhci_hcd.c index 8dac1edc74d4..a182ffa32c99 100644 --- a/drivers/usb/usbip/vhci_hcd.c +++ b/drivers/usb/usbip/vhci_hcd.c @@ -806,7 +806,7 @@ static int vhci_urb_enqueue(struct usb_hcd *hcd, struct urb *urb, gfp_t mem_flag return 0; no_need_xmit: - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); no_need_unlink: spin_unlock_irqrestore(&vhci->lock, flags); if (!ret) { @@ -912,7 +912,7 @@ static int vhci_urb_dequeue(struct usb_hcd *hcd, struct urb *urb, int status) * vhci_rx will receive RET_UNLINK and give back the URB. * Otherwise, we give back it here. */ - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock_irqrestore(&vhci->lock, flags); usb_hcd_giveback_urb(hcd, urb, urb->status); @@ -977,7 +977,7 @@ static void vhci_cleanup_unlink_list(struct vhci_device *vdev, urb->status = -ENODEV; - usb_hcd_unlink_urb_from_ep(hcd, urb); + usb_hcd_unlink_urb_from_ep(urb); list_del(&unlink->list); diff --git a/drivers/usb/usbip/vhci_rx.c b/drivers/usb/usbip/vhci_rx.c index 7f2d1c241559..236d0dd95d3b 100644 --- a/drivers/usb/usbip/vhci_rx.c +++ b/drivers/usb/usbip/vhci_rx.c @@ -101,7 +101,7 @@ static void vhci_recv_ret_submit(struct vhci_device *vdev, usbip_dbg_vhci_rx("now giveback urb %u\n", pdu->base.seqnum); spin_lock_irqsave(&vhci->lock, flags); - usb_hcd_unlink_urb_from_ep(vhci_hcd_to_hcd(vhci_hcd), urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock_irqrestore(&vhci->lock, flags); usb_hcd_giveback_urb(vhci_hcd_to_hcd(vhci_hcd), urb, urb->status); @@ -172,7 +172,7 @@ static void vhci_recv_ret_unlink(struct vhci_device *vdev, pr_info("urb->status %d\n", urb->status); spin_lock_irqsave(&vhci->lock, flags); - usb_hcd_unlink_urb_from_ep(vhci_hcd_to_hcd(vhci_hcd), urb); + usb_hcd_unlink_urb_from_ep(urb); spin_unlock_irqrestore(&vhci->lock, flags); usb_hcd_giveback_urb(vhci_hcd_to_hcd(vhci_hcd), urb, urb->status); diff --git a/include/linux/usb/hcd.h b/include/linux/usb/hcd.h index ac95e7c89df5..9a451658a779 100644 --- a/include/linux/usb/hcd.h +++ b/include/linux/usb/hcd.h @@ -425,7 +425,7 @@ static inline bool hcd_uses_dma(struct usb_hcd *hcd) extern int usb_hcd_link_urb_to_ep(struct usb_hcd *hcd, struct urb *urb); extern int usb_hcd_check_unlink_urb(struct usb_hcd *hcd, struct urb *urb, int status); -extern void usb_hcd_unlink_urb_from_ep(struct usb_hcd *hcd, struct urb *urb); +extern void usb_hcd_unlink_urb_from_ep(struct urb *urb); extern int usb_hcd_submit_urb(struct urb *urb, gfp_t mem_flags); extern int usb_hcd_unlink_urb(struct urb *urb, int status);
The first parameter of the usb_hcd_unlink_urb_from_ep() is not used. This causes many callers to have to pass an additional parameter unnecessarily. Let's remove it Signed-off-by: 李哲 <sensor1010@163.com> --- drivers/usb/c67x00/c67x00-sched.c | 6 +++--- drivers/usb/core/hcd.c | 9 ++++----- drivers/usb/fotg210/fotg210-hcd.c | 10 +++++----- drivers/usb/gadget/udc/dummy_hcd.c | 2 +- drivers/usb/host/ehci-q.c | 4 ++-- drivers/usb/host/ehci-sched.c | 6 +++--- drivers/usb/host/fhci-q.c | 2 +- drivers/usb/host/isp116x-hcd.c | 4 ++-- drivers/usb/host/isp1362-hcd.c | 4 ++-- drivers/usb/host/max3421-hcd.c | 4 ++-- drivers/usb/host/octeon-hcd.c | 6 +++--- drivers/usb/host/ohci-hcd.c | 2 +- drivers/usb/host/ohci-q.c | 2 +- drivers/usb/host/r8a66597-hcd.c | 4 ++-- drivers/usb/host/sl811-hcd.c | 4 ++-- drivers/usb/host/uhci-q.c | 4 ++-- drivers/usb/host/xhci-ring.c | 4 ++-- drivers/usb/host/xhci.c | 2 +- drivers/usb/musb/musb_host.c | 6 +++--- drivers/usb/renesas_usbhs/mod_host.c | 2 +- drivers/usb/usbip/vhci_hcd.c | 6 +++--- drivers/usb/usbip/vhci_rx.c | 4 ++-- include/linux/usb/hcd.h | 2 +- 23 files changed, 49 insertions(+), 50 deletions(-)