public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Felipe Balbi <balbi@kernel.org>
To: Felipe Ferreri Tonello <eu@felipetonello.com>, linux-usb@vger.kernel.org
Cc: linux-kernel@vger.kernel.org, Michal Nazarewicz <mina86@mina86.com>
Subject: Re: [PATCH v4 08/10] usb: gadget: remove useless parameter in alloc_ep_req()
Date: Mon, 29 Aug 2016 10:55:57 +0300	[thread overview]
Message-ID: <87d1ksdn5e.fsf@linux.intel.com> (raw)
In-Reply-To: <731bcf18-f151-a242-52b1-b8732ee89c92@felipetonello.com>

[-- Attachment #1: Type: text/plain, Size: 3216 bytes --]


Hi,

Felipe Ferreri Tonello <eu@felipetonello.com> writes:
>> Felipe Ferreri Tonello <eu@felipetonello.com> writes:
>>>> "Felipe F. Tonello" <eu@felipetonello.com> writes:
>>>>> The default_length parameter of alloc_ep_req 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@felipetonello.com>
>>>>> ---
>>>>>  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                   |  3 +--
>>>>>  6 files changed, 11 insertions(+), 39 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);
>>>>> -}
>>>>
>>>> actually, I prefer to keep these little helpers. I was recently playing
>>>> with adding SG list support to g_zero (I should have patches soon) and
>>>> it was actually very nice to have the sourcesink helper as I could just
>>>> ditch alloc_ep_req(). The change to the driver was local to
>>>> ss_alloc_ep_req() and nothing else changed :-)
>>>>
>>>
>>> Right, but then it is worth to have the helper function. In this
>>> particular case, I am removing a useless helper functions, especially
>>> that the previous patch removes the need for the optional parameter in
>>> alloc_ep_req.
>> 
>> it's a static inline :-) It won't do any bad to keep it. And, as I said,
>> if we want to ditch aloc_ep_req() eventually, then we have just one
>> place to patch ;-)
>
> Yes, sure. But why drop alloc_ep_req()?

because we can't find a generic way of allocating sglist with enough
entries :-) Some drivers (like f_fs.c) could actually have zero-copy
sglist by just pinning user pages with get_user_pages_fast() and
following with sg_alloc_from_pages().

g_zero, however, would just "emulate" sglist by just allocating a
statically sized sg table and initializing chunks of the linear req->buf
to each sg entry.

> So should I keep all these helper functions? If so, I actually still
> need to fix them to use the newer alloc_ep_req() API.

yeah, keeping the helper functions would be nice. IMHO, alloc_ep_req()
doesn't have a long life, but it's pretty good for the time being.

-- 
balbi

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 800 bytes --]

  reply	other threads:[~2016-08-29  7:56 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-08-08 20:30 [PATCH v4 00/10] Gadget endpoint request allocation and MIDI Felipe F. Tonello
2016-08-08 20:30 ` [PATCH v4 01/10] usb: gadget: fix usb_ep_align_maybe endianness and new usb_ep_align Felipe F. Tonello
2016-08-08 20:30 ` [PATCH v4 02/10] usb: gadget: change len to size_t on alloc_ep_req() Felipe F. Tonello
2016-08-08 20:30 ` [PATCH v4 03/10] usb: gadget: align buffer size when allocating for OUT endpoint Felipe F. Tonello
2016-08-08 20:30 ` [PATCH v4 04/10] usb: gadget: f_midi: remove alignment code " Felipe F. Tonello
2016-08-08 20:30 ` [PATCH v4 05/10] usb: gadget: f_midi: defaults buflen sizes to 512 Felipe F. Tonello
2016-08-08 20:30 ` [PATCH v4 06/10] usb: gadget: f_midi: refactor state machine Felipe F. Tonello
2016-08-08 20:30 ` [PATCH v4 07/10] usb: gadget: f_midi: drop substreams when disabling endpoint Felipe F. Tonello
2016-08-08 20:30 ` [PATCH v4 08/10] usb: gadget: remove useless parameter in alloc_ep_req() Felipe F. Tonello
2016-08-18  7:12   ` Felipe Balbi
2016-08-23 10:18     ` Felipe Ferreri Tonello
2016-08-23 11:01       ` Felipe Balbi
2016-08-23 11:33         ` Felipe Ferreri Tonello
2016-08-29  7:55           ` Felipe Balbi [this message]
2016-08-30 16:13             ` Felipe Ferreri Tonello
2016-08-08 20:30 ` [PATCH v4 09/10] usb: gadget: f_hid: use free_ep_req() Felipe F. Tonello
2016-08-08 20:30 ` [PATCH v4 10/10] usb: gadget: f_hid: use alloc_ep_req() Felipe F. Tonello
2016-08-19 19:07   ` John Youn
2016-08-22  7:45     ` Felipe Balbi
2016-08-23 10:20       ` Felipe Ferreri Tonello
2016-08-23 11:03         ` Felipe Balbi
2016-08-23 11:34           ` Felipe Ferreri Tonello

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87d1ksdn5e.fsf@linux.intel.com \
    --to=balbi@kernel.org \
    --cc=eu@felipetonello.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=mina86@mina86.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox