Forgot to mention, but changes from v1 is a typo alloc_ep_req(). On 26/07/16 20:18, Felipe F. Tonello wrote: > This parameter was not really necessary and gadget drivers would almost always > 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> > --- > 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..18839732c840 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, len) : 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); > -- Felipe
Attachment:
0x92698E6A.asc
Description: application/pgp-keys