OSDN Git Service

usb: dwc3: gadget: simplify dwc3_prepare_one_trb()
authorFelipe Balbi <felipe.balbi@linux.intel.com>
Thu, 5 Jan 2017 12:32:02 +0000 (14:32 +0200)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Tue, 24 Jan 2017 09:04:12 +0000 (11:04 +0200)
We are already passing struct dwc3_request * to dwc3_prepare_one_trb(),
because of that there's no need to extract dma address and length in the
caller. We can let dwc3_prepare_one_trb() itself handle that part.

This simplifies the prototype of the function by removing two arguments.

Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc3/gadget.c

index 204c754..cd410a7 100644 (file)
@@ -839,13 +839,14 @@ static u32 dwc3_calc_trbs_left(struct dwc3_ep *dep);
  * @req: dwc3_request pointer
  */
 static void dwc3_prepare_one_trb(struct dwc3_ep *dep,
-               struct dwc3_request *req, dma_addr_t dma,
-               unsigned length, unsigned chain, unsigned node)
+               struct dwc3_request *req, unsigned chain, unsigned node)
 {
        struct dwc3_trb         *trb;
        struct dwc3             *dwc = dep->dwc;
        struct usb_gadget       *gadget = &dwc->gadget;
        enum usb_device_speed   speed = gadget->speed;
+       unsigned                length = req->request.length;
+       dma_addr_t              dma = req->request.dma;
 
        trb = &dep->trb_pool[dep->trb_enqueue];
 
@@ -974,21 +975,15 @@ static void dwc3_prepare_one_trb_sg(struct dwc3_ep *dep,
 {
        struct scatterlist *sg = req->sg;
        struct scatterlist *s;
-       unsigned int    length;
-       dma_addr_t      dma;
        int             i;
 
        for_each_sg(sg, s, req->num_pending_sgs, i) {
                unsigned chain = true;
 
-               length = sg_dma_len(s);
-               dma = sg_dma_address(s);
-
                if (sg_is_last(s))
                        chain = false;
 
-               dwc3_prepare_one_trb(dep, req, dma, length,
-                               chain, i);
+               dwc3_prepare_one_trb(dep, req, chain, i);
 
                if (!dwc3_calc_trbs_left(dep))
                        break;
@@ -998,14 +993,7 @@ static void dwc3_prepare_one_trb_sg(struct dwc3_ep *dep,
 static void dwc3_prepare_one_trb_linear(struct dwc3_ep *dep,
                struct dwc3_request *req)
 {
-       unsigned int    length;
-       dma_addr_t      dma;
-
-       dma = req->request.dma;
-       length = req->request.length;
-
-       dwc3_prepare_one_trb(dep, req, dma, length,
-                       false, 0);
+       dwc3_prepare_one_trb(dep, req, false, 0);
 }
 
 /*