From: Felipe Balbi <balbi@ti.com>
To: David Laight <David.Laight@ACULAB.COM>
Cc: "'Robert Baldyga'" <r.baldyga@samsung.com>,
"balbi@ti.com" <balbi@ti.com>,
"nicolas.ferre@atmel.com" <nicolas.ferre@atmel.com>,
"robert.jarzmik@free.fr" <robert.jarzmik@free.fr>,
"m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
"devel@driverdev.osuosl.org" <devel@driverdev.osuosl.org>,
"cernekee@gmail.com" <cernekee@gmail.com>,
"michal.simek@xilinx.com" <michal.simek@xilinx.com>,
"stern@rowland.harvard.edu" <stern@rowland.harvard.edu>,
"Peter.Chen@freescale.com" <Peter.Chen@freescale.com>,
"dahlmann.thomas@arcor.de" <dahlmann.thomas@arcor.de>,
"johnyoun@synopsys.com" <johnyoun@synopsys.com>,
"linux-geode@lists.infradead.org"
<linux-geode@lists.infradead.org>,
"haojian.zhuang@gmail.com" <haojian.zhuang@gmail.com>,
"andrzej.p@samsung.com" <andrzej.p@samsung.com>,
"linux-omap@vger.kernel.org" <linux-omap@vger.kernel.org>,
"petr.cvek@tul.cz" <petr.cvek@tul.cz>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"gregkh@linuxfoundation.org" <gregkh@linuxfoundation.org>,
"linux-usb@vger.kernel.org" <linux-usb@vger.kernel.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"linuxppc-dev@lists.ozlabs.org" <linuxppc-dev@lists.ozlabs.org>,
"daniel@zonque.org" <daniel@zonque.org>
Subject: Re: [PATCH v5 02/46] usb: gadget: add endpoint capabilities flags
Date: Fri, 31 Jul 2015 10:58:10 -0500 [thread overview]
Message-ID: <20150731155810.GI31041@saruman.tx.rr.com> (raw)
In-Reply-To: <063D6719AE5E284EB5DD2968C1650D6D1CB71091@AcuExch.aculab.com>
[-- Attachment #1: Type: text/plain, Size: 2003 bytes --]
Hi,
On Fri, Jul 31, 2015 at 03:51:52PM +0000, David Laight wrote:
> From: Robert Baldyga
> > Sent: 31 July 2015 15:00
> > Introduce struct usb_ep_caps which contains information about capabilities
> > of usb endpoints - supported transfer types and directions. This structure
> > should be filled by UDC driver for each of its endpoints, and will be
> > used in epautoconf in new ep matching mechanism which will replace ugly
> > guessing of endpoint capabilities basing on its name.
> >
> > Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
> > ---
> > include/linux/usb/gadget.h | 21 +++++++++++++++++++++
> > 1 file changed, 21 insertions(+)
> >
> > diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h
> > index 68fb5e8..a9a4959 100644
> > --- a/include/linux/usb/gadget.h
> > +++ b/include/linux/usb/gadget.h
> > @@ -141,10 +141,29 @@ struct usb_ep_ops {
> > };
> ...
> > +struct usb_ep_caps {
> > + unsigned type_control:1;
> > + unsigned type_iso:1;
> > + unsigned type_bulk:1;
> > + unsigned type_int:1;
> > + unsigned dir_in:1;
> > + unsigned dir_out:1;
> > +};
>
> With the way this is used (eg below from 13/46)
>
> +
> + if (i == 0) {
> + ep->ep.caps.type_control = true;
> + } else {
> + ep->ep.caps.type_iso = true;
> + ep->ep.caps.type_bulk = true;
> + ep->ep.caps.type_int = true;
> + }
> +
> + ep->ep.caps.dir_in = true;
> + ep->ep.caps.dir_out = true;
>
> I think it would be more obvious if you used a u8 and explicit bitmasks.
> The initialisation (as above) would the be explicitly assigning 'not supported'
> to the other fields.
> The compiler will also generate much better code...
compiler should convert single bit flags into u32 just fine. It's all
static data anyway. Besides, single bit flags allow us to have as many
as we need without ending up with stuff like:
u32 flags;
u32 flags1;
u32 flags2;
etc. Just let the compiler do those conversions for us.
--
balbi
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 819 bytes --]
next prev parent reply other threads:[~2015-07-31 15:59 UTC|newest]
Thread overview: 58+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-31 14:00 [PATCH v5 00/46] usb: gadget: rework ep matching and claiming mechanism Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 01/46] usb: gadget: encapsulate endpoint " Robert Baldyga
2015-08-20 15:35 ` Felipe Balbi
2015-08-20 16:28 ` Robert Baldyga
2015-08-20 16:48 ` Felipe Balbi
2015-08-20 17:16 ` Robert Baldyga
2015-08-20 17:44 ` Felipe Balbi
2015-08-20 20:07 ` John Youn
2015-07-31 14:00 ` [PATCH v5 02/46] usb: gadget: add endpoint capabilities flags Robert Baldyga
2015-07-31 15:51 ` David Laight
2015-07-31 15:58 ` Felipe Balbi [this message]
2015-07-31 14:00 ` [PATCH v5 03/46] usb: gadget: add endpoint capabilities helper macros Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 04/46] staging: emxx_udc: add ep capabilities support Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 05/46] usb: chipidea: udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 06/46] usb: dwc2: gadget: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 07/46] usb: dwc3: " Robert Baldyga
2015-08-04 16:09 ` Felipe Balbi
2015-07-31 14:00 ` [PATCH v5 08/46] usb: gadget: amd5536udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 09/46] usb: gadget: at91_udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 10/46] usb: gadget: bcm63xx_udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 11/46] usb: gadget: bdc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 12/46] usb: gadget: dummy-hcd: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 13/46] usb: gadget: fotg210-udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 14/46] usb: gadget: fsl_qe_udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 15/46] usb: gadget: fsl_udc_core: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 16/46] usb: gadget: fusb300_udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 17/46] usb: gadget: goku_udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 18/46] usb: gadget: gr_udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 19/46] usb: gadget: lpc32xx_udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 20/46] usb: gadget: m66592-udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 21/46] usb: gadget: mv_u3d_core: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 22/46] usb: gadget: mv_udc_core: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 23/46] usb: gadget: net2272: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 24/46] usb: gadget: net2280: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 25/46] usb: gadget: omap_udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 26/46] usb: gadget: pch_udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 27/46] usb: gadget: pxa25x_udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 28/46] usb: gadget: pxa27x_udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 29/46] usb: gadget: r8a66597-udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 30/46] usb: gadget: s3c-hsudc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 31/46] usb: gadget: s3c2410_udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 32/46] usb: gadget: udc-xilinx: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 33/46] usb: isp1760: udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 34/46] usb: musb: gadget: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 35/46] usb: renesas: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 36/46] usb: gadget: atmel_usba_udc: " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 37/46] usb: gadget: epautoconf: add endpoint capabilities flags verification Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 38/46] usb: gadget: epautoconf: remove pxa quirk from ep_matches() Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 39/46] usb: gadget: epautoconf: remove ep and desc configuration " Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 40/46] usb: gadget: epautoconf: rework ep_matches() function Robert Baldyga
2015-08-04 18:30 ` Felipe Balbi
2015-07-31 14:00 ` [PATCH v5 41/46] usb: gadget: add 'ep_match' callback to usb_gadget_ops Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 42/46] usb: gadget: move ep_matches() from epautoconf to udc-core Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 43/46] usb: gadget: move find_ep() from epautoconf to gadget.h Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 44/46] usb: gadget: net2280: add net2280_match_ep() function Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 45/46] usb: gadget: goku_udc: add goku_match_ep() function Robert Baldyga
2015-07-31 14:00 ` [PATCH v5 46/46] usb: musb: gadget: add musb_match_ep() function Robert Baldyga
2015-08-04 17:29 ` [PATCH v5 00/46] usb: gadget: rework ep matching and claiming mechanism Felipe Balbi
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=20150731155810.GI31041@saruman.tx.rr.com \
--to=balbi@ti.com \
--cc=David.Laight@ACULAB.COM \
--cc=Peter.Chen@freescale.com \
--cc=andrzej.p@samsung.com \
--cc=cernekee@gmail.com \
--cc=dahlmann.thomas@arcor.de \
--cc=daniel@zonque.org \
--cc=devel@driverdev.osuosl.org \
--cc=gregkh@linuxfoundation.org \
--cc=haojian.zhuang@gmail.com \
--cc=johnyoun@synopsys.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-geode@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=m.szyprowski@samsung.com \
--cc=michal.simek@xilinx.com \
--cc=nicolas.ferre@atmel.com \
--cc=petr.cvek@tul.cz \
--cc=r.baldyga@samsung.com \
--cc=robert.jarzmik@free.fr \
--cc=stern@rowland.harvard.edu \
/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;
as well as URLs for NNTP newsgroup(s).