diff options
author | Felipe Balbi <felipe.balbi@linux.intel.com> | 2017-09-22 10:44:39 +0300 |
---|---|---|
committer | Felipe Balbi <felipe.balbi@linux.intel.com> | 2017-09-22 10:44:39 +0300 |
commit | 252919d451e2df945a90ae182b45a4dd155700f9 (patch) | |
tree | f0a88974800bb84f580e2c3c32f8fb32177a5e51 | |
parent | 952ce48ab340606a0ff557d4c6e7eef56ad640e2 (diff) | |
download | usb-dwc3-make-ep0-similar-to-other-eps.tar.gz |
usb: dwc3: ep0: simplify some function argumentsdwc3-make-ep0-similar-to-other-eps
Removing unused arguments and local variables and, as much as
possible, converting struct dwc3 *dwc to struct dwc3_ep *dep
arguments.
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
-rw-r--r-- | drivers/usb/dwc3/ep0.c | 63 | ||||
-rw-r--r-- | drivers/usb/dwc3/gadget.c | 2 | ||||
-rw-r--r-- | drivers/usb/dwc3/gadget.h | 2 |
3 files changed, 36 insertions, 31 deletions
diff --git a/drivers/usb/dwc3/ep0.c b/drivers/usb/dwc3/ep0.c index a458b50beaaca1..ff8681dd2ecdb5 100644 --- a/drivers/usb/dwc3/ep0.c +++ b/drivers/usb/dwc3/ep0.c @@ -35,9 +35,9 @@ #include "gadget.h" #include "io.h" -static void __dwc3_ep0_do_control_status(struct dwc3 *dwc, struct dwc3_ep *dep); -static void __dwc3_ep0_do_control_data(struct dwc3 *dwc, - struct dwc3_ep *dep, struct dwc3_request *req); +static void __dwc3_ep0_do_control_status(struct dwc3_ep *dep); +static void __dwc3_ep0_do_control_data(struct dwc3_ep *dep, + struct dwc3_request *req); static void dwc3_ep0_noop_complete(struct usb_ep *ep, struct usb_request *req) { @@ -98,9 +98,11 @@ static int dwc3_ep0_start_trans(struct dwc3_ep *dep) return 0; } -static void __dwc3_ep0_do_control_setup(struct dwc3 *dwc, struct dwc3_ep *dep, +static void __dwc3_ep0_do_control_setup(struct dwc3_ep *dep, struct dwc3_request *req) { + struct dwc3 *dwc = dep->dwc; + dwc3_ep0_prepare_one_trb(dep, req->request.dma, req->request.length, DWC3_TRBCTL_CONTROL_SETUP, false); req->trb = &dwc->ep0_trb[dep->trb_enqueue]; @@ -139,7 +141,7 @@ static int __dwc3_gadget_ep0_queue(struct dwc3_ep *dep, return 0; } - __dwc3_ep0_do_control_data(dwc, dwc->eps[direction], req); + __dwc3_ep0_do_control_data(dwc->eps[direction], req); dep->flags &= ~(DWC3_EP_PENDING_REQUEST | DWC3_EP0_DIR_IN); @@ -159,7 +161,7 @@ static int __dwc3_gadget_ep0_queue(struct dwc3_ep *dep, usb_gadget_set_state(&dwc->gadget, USB_STATE_CONFIGURED); if (dwc->ep0state == EP0_STATUS_PHASE) - __dwc3_ep0_do_control_status(dwc, dwc->eps[direction]); + __dwc3_ep0_do_control_status(dwc->eps[direction]); return 0; } @@ -201,7 +203,7 @@ static int __dwc3_gadget_ep0_queue(struct dwc3_ep *dep, direction = dwc->ep0_expect_in; dwc->ep0state = EP0_DATA_PHASE; - __dwc3_ep0_do_control_data(dwc, dwc->eps[direction], req); + __dwc3_ep0_do_control_data(dwc->eps[direction], req); dep->flags &= ~DWC3_EP0_DIR_IN; return 0; @@ -212,7 +214,7 @@ static int __dwc3_gadget_ep0_queue(struct dwc3_ep *dep, * transfer straight away */ if (dwc->ep0state == EP0_SETUP_PHASE) - __dwc3_ep0_do_control_setup(dwc, dwc->eps[0], req); + __dwc3_ep0_do_control_setup(dwc->eps[0], req); return 0; } @@ -272,7 +274,7 @@ static void dwc3_ep0_stall_and_restart(struct dwc3 *dwc) } dwc->ep0state = EP0_SETUP_PHASE; - dwc3_ep0_out_start(dwc); + dwc3_ep0_out_start(dep); } int __dwc3_gadget_ep0_set_halt(struct usb_ep *ep, int value) @@ -299,14 +301,13 @@ int dwc3_gadget_ep0_set_halt(struct usb_ep *ep, int value) return ret; } -void dwc3_ep0_out_start(struct dwc3 *dwc) +void dwc3_ep0_out_start(struct dwc3_ep *dep) { + struct dwc3 *dwc = dep->dwc; struct dwc3_request *req = to_dwc3_request(dwc->ep0_usb_req); - struct dwc3_ep *dep; complete(&dwc->ep0_in_setup); - dep = dwc->eps[0]; req->dep = dep; req->request.length = 8; req->request.buf = dwc->ep0_trb; @@ -936,8 +937,8 @@ static void dwc3_ep0_complete_status(struct dwc3 *dwc, const struct dwc3_event_depevt *event) { struct dwc3_request *r; - struct dwc3_ep *dep; struct dwc3_trb *trb; + struct dwc3_ep *dep; u32 status; dep = dwc->eps[0]; @@ -969,7 +970,7 @@ static void dwc3_ep0_complete_status(struct dwc3 *dwc, dwc->three_stage_setup = false; dwc->ep0state = EP0_SETUP_PHASE; - dwc3_ep0_out_start(dwc); + dwc3_ep0_out_start(dep); } static void dwc3_ep0_xfer_complete(struct dwc3 *dwc, @@ -998,9 +999,10 @@ static void dwc3_ep0_xfer_complete(struct dwc3 *dwc, } } -static void __dwc3_ep0_do_control_data(struct dwc3 *dwc, - struct dwc3_ep *dep, struct dwc3_request *req) +static void __dwc3_ep0_do_control_data(struct dwc3_ep *dep, + struct dwc3_request *req) { + struct dwc3 *dwc = dep->dwc; int ret; req->direction = !!dep->number; @@ -1093,20 +1095,18 @@ static int dwc3_ep0_start_control_status(struct dwc3_ep *dep) return dwc3_ep0_start_trans(dep); } -static void __dwc3_ep0_do_control_status(struct dwc3 *dwc, struct dwc3_ep *dep) +static void __dwc3_ep0_do_control_status(struct dwc3_ep *dep) { WARN_ON(dwc3_ep0_start_control_status(dep)); } -static void dwc3_ep0_do_control_status(struct dwc3 *dwc, - const struct dwc3_event_depevt *event) +static void dwc3_ep0_do_control_status(struct dwc3_ep *dep, + const struct dwc3_event_depevt *event) { - struct dwc3_ep *dep = dwc->eps[event->endpoint_number]; - - __dwc3_ep0_do_control_status(dwc, dep); + __dwc3_ep0_do_control_status(dep); } -static void dwc3_ep0_end_control_data(struct dwc3 *dwc, struct dwc3_ep *dep) +static void dwc3_ep0_end_control_data(struct dwc3_ep *dep) { struct dwc3_gadget_ep_cmd_params params; u32 cmd; @@ -1127,6 +1127,8 @@ static void dwc3_ep0_end_control_data(struct dwc3 *dwc, struct dwc3_ep *dep) static void dwc3_ep0_xfernotready(struct dwc3 *dwc, const struct dwc3_event_depevt *event) { + struct dwc3_ep *dep; + switch (event->status) { case DEPEVT_STATUS_CONTROL_DATA: /* @@ -1139,10 +1141,12 @@ static void dwc3_ep0_xfernotready(struct dwc3 *dwc, * control endpoint. */ if (dwc->ep0_expect_in != event->endpoint_number) { - struct dwc3_ep *dep = dwc->eps[dwc->ep0_expect_in]; + struct dwc3_ep *ep0; + dep = dwc->eps[dwc->ep0_expect_in]; + ep0 = dwc->eps[0]; dev_err(dwc->dev, "unexpected direction for Data Phase\n"); - dwc3_ep0_end_control_data(dwc, dep); + dwc3_ep0_end_control_data(dep); dwc3_ep0_stall_and_restart(dwc); return; } @@ -1154,9 +1158,10 @@ static void dwc3_ep0_xfernotready(struct dwc3 *dwc, return; dwc->ep0state = EP0_STATUS_PHASE; + dep = dwc->eps[event->endpoint_number]; if (dwc->delayed_status) { - struct dwc3_ep *dep = dwc->eps[0]; + struct dwc3_ep *ep0 = dwc->eps[0]; WARN_ON_ONCE(event->endpoint_number != 1); /* @@ -1164,17 +1169,17 @@ static void dwc3_ep0_xfernotready(struct dwc3 *dwc, * request for handling delay STATUS has been queued * into the list. */ - if (!list_empty(&dep->pending_list)) { + if (!list_empty(&ep0->pending_list)) { dwc->delayed_status = false; usb_gadget_set_state(&dwc->gadget, USB_STATE_CONFIGURED); - dwc3_ep0_do_control_status(dwc, event); + dwc3_ep0_do_control_status(dep, event); } return; } - dwc3_ep0_do_control_status(dwc, event); + dwc3_ep0_do_control_status(dep, event); } } diff --git a/drivers/usb/dwc3/gadget.c b/drivers/usb/dwc3/gadget.c index 246099f83256e9..0f10294378f457 100644 --- a/drivers/usb/dwc3/gadget.c +++ b/drivers/usb/dwc3/gadget.c @@ -1910,7 +1910,7 @@ static int __dwc3_gadget_start(struct dwc3 *dwc) /* begin to receive SETUP packets */ dwc->ep0state = EP0_SETUP_PHASE; - dwc3_ep0_out_start(dwc); + dwc3_ep0_out_start(dwc->eps[0]); dwc3_gadget_enable_irq(dwc); diff --git a/drivers/usb/dwc3/gadget.h b/drivers/usb/dwc3/gadget.h index 1d4ef8d5fe18fa..75954d2b64abd2 100644 --- a/drivers/usb/dwc3/gadget.h +++ b/drivers/usb/dwc3/gadget.h @@ -92,7 +92,7 @@ void dwc3_gadget_giveback(struct dwc3_ep *dep, struct dwc3_request *req, void dwc3_ep0_interrupt(struct dwc3 *dwc, const struct dwc3_event_depevt *event); -void dwc3_ep0_out_start(struct dwc3 *dwc); +void dwc3_ep0_out_start(struct dwc3_ep *dep); int __dwc3_gadget_ep0_set_halt(struct usb_ep *ep, int value); int dwc3_gadget_ep0_set_halt(struct usb_ep *ep, int value); int dwc3_gadget_ep0_queue(struct usb_ep *ep, struct usb_request *request, |