Hi Michal, On 27/07/16 21:02, Michal Nazarewicz wrote: > On Tue, Jul 26 2016, Felipe F. Tonello wrote: >> This parameter was not really necessary and gadget drivers would almost always > > I personally like when commit messages can be read without subject, so > perhaps: > > The default_length parameter of alloc_ep_req was not … > > But that’s just me. Good judgment. > >> create an inline function to pass the same value to len and default_len. >> >> So this patch also removes duplicate code from few drivers. >> >> Signed-off-by: Felipe F. Tonello <eu@xxxxxxxxxxxxxxxxx> > > Acked-by: Michal Nazarewicz <mina86@xxxxxxxxxx> > >> --- >> drivers/usb/gadget/function/f_hid.c | 10 ++-------- >> drivers/usb/gadget/function/f_loopback.c | 9 +-------- >> drivers/usb/gadget/function/f_midi.c | 10 ++-------- >> drivers/usb/gadget/function/f_sourcesink.c | 11 ++--------- >> drivers/usb/gadget/u_f.c | 7 +++---- >> drivers/usb/gadget/u_f.h | 2 +- >> 6 files changed, 11 insertions(+), 38 deletions(-) >> >> diff --git a/drivers/usb/gadget/function/f_hid.c b/drivers/usb/gadget/function/f_hid.c >> index 51980c50546d..e82a7468252e 100644 >> --- a/drivers/usb/gadget/function/f_hid.c >> +++ b/drivers/usb/gadget/function/f_hid.c >> @@ -362,12 +362,6 @@ static int f_hidg_open(struct inode *inode, struct file *fd) >> /*-------------------------------------------------------------------------*/ >> /* usb_function */ >> >> -static inline struct usb_request *hidg_alloc_ep_req(struct usb_ep *ep, >> - unsigned length) >> -{ >> - return alloc_ep_req(ep, length, length); >> -} >> - >> static void hidg_set_report_complete(struct usb_ep *ep, struct usb_request *req) >> { >> struct f_hidg *hidg = (struct f_hidg *) req->context; >> @@ -549,8 +543,8 @@ static int hidg_set_alt(struct usb_function *f, unsigned intf, unsigned alt) >> */ >> for (i = 0; i < hidg->qlen && status == 0; i++) { >> struct usb_request *req = >> - hidg_alloc_ep_req(hidg->out_ep, >> - hidg->report_length); >> + alloc_ep_req(hidg->out_ep, >> + hidg->report_length); >> if (req) { >> req->complete = hidg_set_report_complete; >> req->context = hidg; >> diff --git a/drivers/usb/gadget/function/f_loopback.c b/drivers/usb/gadget/function/f_loopback.c >> index 3a9f8f9c77bd..701ee0f11c33 100644 >> --- a/drivers/usb/gadget/function/f_loopback.c >> +++ b/drivers/usb/gadget/function/f_loopback.c >> @@ -306,13 +306,6 @@ static void disable_loopback(struct f_loopback *loop) >> VDBG(cdev, "%s disabled\n", loop->function.name); >> } >> >> -static inline struct usb_request *lb_alloc_ep_req(struct usb_ep *ep, int len) >> -{ >> - struct f_loopback *loop = ep->driver_data; >> - >> - return alloc_ep_req(ep, len, loop->buflen); >> -} >> - >> static int alloc_requests(struct usb_composite_dev *cdev, >> struct f_loopback *loop) >> { >> @@ -333,7 +326,7 @@ static int alloc_requests(struct usb_composite_dev *cdev, >> if (!in_req) >> goto fail; >> >> - out_req = lb_alloc_ep_req(loop->out_ep, 0); >> + out_req = alloc_ep_req(loop->out_ep, loop->buflen); >> if (!out_req) >> goto fail_in; >> >> diff --git a/drivers/usb/gadget/function/f_midi.c b/drivers/usb/gadget/function/f_midi.c >> index 3a47596afcab..abf26364b46f 100644 >> --- a/drivers/usb/gadget/function/f_midi.c >> +++ b/drivers/usb/gadget/function/f_midi.c >> @@ -208,12 +208,6 @@ static struct usb_gadget_strings *midi_strings[] = { >> NULL, >> }; >> >> -static inline struct usb_request *midi_alloc_ep_req(struct usb_ep *ep, >> - unsigned length) >> -{ >> - return alloc_ep_req(ep, length, length); >> -} >> - >> static const uint8_t f_midi_cin_length[] = { >> 0, 0, 2, 3, 3, 1, 2, 3, 3, 3, 3, 3, 2, 2, 3, 1 >> }; >> @@ -365,7 +359,7 @@ static int f_midi_set_alt(struct usb_function *f, unsigned intf, unsigned alt) >> /* pre-allocate write usb requests to use on f_midi_transmit. */ >> while (kfifo_avail(&midi->in_req_fifo)) { >> struct usb_request *req = >> - midi_alloc_ep_req(midi->in_ep, midi->buflen); >> + alloc_ep_req(midi->in_ep, midi->buflen); >> >> if (req == NULL) >> return -ENOMEM; >> @@ -379,7 +373,7 @@ static int f_midi_set_alt(struct usb_function *f, unsigned intf, unsigned alt) >> /* allocate a bunch of read buffers and queue them all at once. */ >> for (i = 0; i < midi->qlen && err == 0; i++) { >> struct usb_request *req = >> - midi_alloc_ep_req(midi->out_ep, midi->buflen); >> + alloc_ep_req(midi->out_ep, midi->buflen); >> >> if (req == NULL) >> return -ENOMEM; >> diff --git a/drivers/usb/gadget/function/f_sourcesink.c b/drivers/usb/gadget/function/f_sourcesink.c >> index df0189ddfdd5..517d78d6da78 100644 >> --- a/drivers/usb/gadget/function/f_sourcesink.c >> +++ b/drivers/usb/gadget/function/f_sourcesink.c >> @@ -291,13 +291,6 @@ static struct usb_gadget_strings *sourcesink_strings[] = { >> >> /*-------------------------------------------------------------------------*/ >> >> -static inline struct usb_request *ss_alloc_ep_req(struct usb_ep *ep, int len) >> -{ >> - struct f_sourcesink *ss = ep->driver_data; >> - >> - return alloc_ep_req(ep, len, ss->buflen); >> -} >> - >> static void disable_ep(struct usb_composite_dev *cdev, struct usb_ep *ep) >> { >> int value; >> @@ -606,11 +599,11 @@ static int source_sink_start_ep(struct f_sourcesink *ss, bool is_in, >> } else { >> ep = is_in ? ss->in_ep : ss->out_ep; >> qlen = ss->bulk_qlen; >> - size = 0; >> + size = ss->buflen; >> } >> >> for (i = 0; i < qlen; i++) { >> - req = ss_alloc_ep_req(ep, size); >> + req = alloc_ep_req(ep, size); >> if (!req) >> return -ENOMEM; >> >> diff --git a/drivers/usb/gadget/u_f.c b/drivers/usb/gadget/u_f.c >> index d1933b0b76c3..dfc40f7155ac 100644 >> --- a/drivers/usb/gadget/u_f.c >> +++ b/drivers/usb/gadget/u_f.c >> @@ -14,15 +14,14 @@ >> #include "u_f.h" >> #include <linux/usb/ch9.h> >> >> -struct usb_request *alloc_ep_req(struct usb_ep *ep, int len, int default_len) >> +struct usb_request *alloc_ep_req(struct usb_ep *ep, size_t len) >> { >> struct usb_request *req; >> >> req = usb_ep_alloc_request(ep, GFP_ATOMIC); >> if (req) { >> - req->length = len ?: default_len; >> - if (usb_endpoint_dir_out(ep->desc)) >> - req->length = usb_ep_align(ep, req->length); >> + req->length = usb_endpoint_dir_out(ep->desc) ? >> + usb_ep_align(ep, req->length) : len; >> req->buf = kmalloc(req->length, GFP_ATOMIC); >> if (!req->buf) { >> usb_ep_free_request(ep, req); >> diff --git a/drivers/usb/gadget/u_f.h b/drivers/usb/gadget/u_f.h >> index 4247cc098a89..2852c9d7a85d 100644 >> --- a/drivers/usb/gadget/u_f.h >> +++ b/drivers/usb/gadget/u_f.h >> @@ -48,7 +48,7 @@ struct usb_ep; >> struct usb_request; >> >> /* Requests allocated via alloc_ep_req() must be freed by free_ep_req(). */ >> -struct usb_request *alloc_ep_req(struct usb_ep *ep, int len, int default_len); >> +struct usb_request *alloc_ep_req(struct usb_ep *ep, size_t len); >> static inline void free_ep_req(struct usb_ep *ep, struct usb_request *req) >> { >> kfree(req->buf); >> -- >> 2.9.0 >> > -- Felipe
Attachment:
0x92698E6A.asc
Description: application/pgp-keys