linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
From: r.baldyga@samsung.com (Robert Baldyga)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v4 04/46] staging: emxx_udc: add ep capabilities support
Date: Thu, 30 Jul 2015 09:15:38 +0200	[thread overview]
Message-ID: <55B9CF1A.1070107@samsung.com> (raw)
In-Reply-To: <20150729152029.GB32418@saruman.tx.rr.com>

On 07/29/2015 05:20 PM, Felipe Balbi wrote:
> On Mon, Jul 27, 2015 at 11:16:14AM +0200, Robert Baldyga wrote:
>> Convert endpoint configuration to new capabilities model.
>>
>> Fixed typo in "epc-nulk" to "epc-bulk".
>>
>> Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
>> ---
>>  drivers/staging/emxx_udc/emxx_udc.c | 60 ++++++++++++++++++-------------------
>>  1 file changed, 29 insertions(+), 31 deletions(-)
>>
>> diff --git a/drivers/staging/emxx_udc/emxx_udc.c b/drivers/staging/emxx_udc/emxx_udc.c
>> index 3b7aa36..0d64bee 100644
>> --- a/drivers/staging/emxx_udc/emxx_udc.c
>> +++ b/drivers/staging/emxx_udc/emxx_udc.c
>> @@ -3153,36 +3153,33 @@ static const struct usb_gadget_ops nbu2ss_gadget_ops = {
>>  	.ioctl			= nbu2ss_gad_ioctl,
>>  };
>>  
>> -static const char g_ep0_name[] = "ep0";
>> -static const char g_ep1_name[] = "ep1-bulk";
>> -static const char g_ep2_name[] = "ep2-bulk";
>> -static const char g_ep3_name[] = "ep3in-int";
>> -static const char g_ep4_name[] = "ep4-iso";
>> -static const char g_ep5_name[] = "ep5-iso";
>> -static const char g_ep6_name[] = "ep6-bulk";
>> -static const char g_ep7_name[] = "ep7-bulk";
>> -static const char g_ep8_name[] = "ep8in-int";
>> -static const char g_ep9_name[] = "ep9-iso";
>> -static const char g_epa_name[] = "epa-iso";
>> -static const char g_epb_name[] = "epb-bulk";
>> -static const char g_epc_name[] = "epc-nulk";
>> -static const char g_epd_name[] = "epdin-int";
>> -
>> -static const char *gp_ep_name[NUM_ENDPOINTS] = {
>> -	g_ep0_name,
>> -	g_ep1_name,
>> -	g_ep2_name,
>> -	g_ep3_name,
>> -	g_ep4_name,
>> -	g_ep5_name,
>> -	g_ep6_name,
>> -	g_ep7_name,
>> -	g_ep8_name,
>> -	g_ep9_name,
>> -	g_epa_name,
>> -	g_epb_name,
>> -	g_epc_name,
>> -	g_epd_name,
>> +static const struct {
>> +	const char *name;
>> +	const struct usb_ep_caps caps;
>> +} ep_info[NUM_ENDPOINTS] = {
>> +#define EP_INFO(_name, _type, _dir) \
>> +	{ \
>> +		.name = _name, \
>> +		.caps = USB_EP_CAPS(USB_EP_CAPS_TYPE_ ## _type, \
>> +				USB_EP_CAPS_DIR_ ## _dir), \
>> +	}
>> +
>> +	EP_INFO("ep0",		CONTROL, ALL),
>> +	EP_INFO("ep1-bulk",	BULK,	ALL),
>> +	EP_INFO("ep2-bulk",	BULK,	ALL),
>> +	EP_INFO("ep3in-int",	INT,	IN),
>> +	EP_INFO("ep4-iso",	INT,	ALL),
>> +	EP_INFO("ep5-iso",	ISO,	ALL),
>> +	EP_INFO("ep6-bulk",	ISO,	ALL),
>> +	EP_INFO("ep7-bulk",	BULK,	ALL),
>> +	EP_INFO("ep8in-int",	INT,	IN),
>> +	EP_INFO("ep9-iso",	ISO,	ALL),
>> +	EP_INFO("epa-iso",	ISO,	ALL),
>> +	EP_INFO("epb-bulk",	BULK,	ALL),
>> +	EP_INFO("epc-bulk",	BULK,	ALL),
>> +	EP_INFO("epdin-int",	INT,	IN),
> 
> IMO, this is pointless obfuscation. It just makes it a pain to grep
> source around. Why don't you have UDC drivers initialize the 1-bit flags
> directly ?
> 

Do you mean something like this? It just makes it a pain to scroll this
source ;)

static const struct {
	const char *name;
	const struct usb_ep_caps caps;
} ep_info[NUM_ENDPOINTS] = {
	{
		.name = "ep0",
		.caps = {
			.type_control = true,
			.dir_in = true,
			.dir_out = true,
		},
	},
	{
		.name = "ep1-bulk",
		.caps = {
			.type_bulk = true,
			.dir_in = true,
			.dir_out = true,
		},
	},
	{
		.name = "ep2-bulk",
		.caps = {
			.type_bulk = true,
			.dir_in = true,
			.dir_out = true,
		},
	},
	{
		.name = "ep3in-int",
		.caps = {
			.type_int = true,
			.dir_in = true,
		},
	},
	{
		.name = "ep4-iso",
		.caps = {
			.type_iso = true,
			.dir_in = true,
			.dir_out = true,
		},
	},
	{
		.name = "ep5-iso",
		.caps = {
			.type_iso = true,
			.dir_in = true,
			.dir_out = true,
		},
	},
	{
		.name = "ep6-bulk",
		.caps = {
			.type_bulk = true,
			.dir_in = true,
			.dir_out = true,
		},
	},
	{
		.name = "ep7-bulk",
		.caps = {
			.type_bulk = true,
			.dir_in = true,
			.dir_out = true,
		},
	},
	{
		.name = "ep8in-int",
		.caps = {
			.type_int = true,
			.dir_in = true,
		},
	},
	{
		.name = "ep9-iso",
		.caps = {
			.type_iso = true,
			.dir_in = true,
			.dir_out = true,
		},
	},
	{
		.name = "epa-iso",
		.caps = {
			.type_iso = true,
			.dir_in = true,
			.dir_out = true,
		},
	},
	{
		.name = "epb-bulk",
		.caps = {
			.type_bulk = true,
			.dir_in = true,
			.dir_out = true,
		},
	},
	{
		.name = "epc-bulk",
		.caps = {
			.type_bulk = true,
			.dir_in = true,
			.dir_out = true,
		},
	},
	{
		.name = epdin-int,
		.caps = {
			.type_int = true,
			.dir_in = true,
		},
	},
};

Thanks,
Robert

  reply	other threads:[~2015-07-30  7:15 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-07-27  9:16 [PATCH v4 00/46] usb: gadget: rework ep matching and claiming mechanism Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 01/46] usb: gadget: encapsulate endpoint " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 02/46] usb: gadget: add endpoint capabilities flags Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 03/46] usb: gadget: add endpoint capabilities helper macros Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 04/46] staging: emxx_udc: add ep capabilities support Robert Baldyga
2015-07-29 15:20   ` Felipe Balbi
2015-07-30  7:15     ` Robert Baldyga [this message]
2015-07-30 14:08       ` Felipe Balbi
2015-07-27  9:16 ` [PATCH v4 05/46] usb: chipidea: udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 06/46] usb: dwc2: gadget: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 07/46] usb: dwc3: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 08/46] usb: gadget: amd5536udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 09/46] usb: gadget: at91_udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 10/46] usb: gadget: bcm63xx_udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 11/46] usb: gadget: bdc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 12/46] usb: gadget: dummy-hcd: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 13/46] usb: gadget: fotg210-udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 14/46] usb: gadget: fsl_qe_udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 15/46] usb: gadget: fsl_udc_core: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 16/46] usb: gadget: fusb300_udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 17/46] usb: gadget: goku_udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 18/46] usb: gadget: gr_udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 19/46] usb: gadget: lpc32xx_udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 20/46] usb: gadget: m66592-udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 21/46] usb: gadget: mv_u3d_core: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 22/46] usb: gadget: mv_udc_core: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 23/46] usb: gadget: net2272: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 24/46] usb: gadget: net2280: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 25/46] usb: gadget: omap_udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 26/46] usb: gadget: pch_udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 27/46] usb: gadget: pxa25x_udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 28/46] usb: gadget: pxa27x_udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 29/46] usb: gadget: r8a66597-udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 30/46] usb: gadget: s3c-hsudc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 31/46] usb: gadget: s3c2410_udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 32/46] usb: gadget: udc-xilinx: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 33/46] usb: isp1760: udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 34/46] usb: musb: gadget: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 35/46] usb: renesas: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 36/46] usb: gadget: atmel_usba_udc: " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 37/46] usb: gadget: epautoconf: add endpoint capabilities flags verification Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 38/46] usb: gadget: epautoconf: remove pxa quirk from ep_matches() Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 39/46] usb: gadget: epautoconf: remove ep and desc configuration " Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 40/46] usb: gadget: epautoconf: rework ep_matches() function Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 41/46] usb: gadget: add 'ep_match' callback to usb_gadget_ops Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 42/46] usb: gadget: move ep_matches() from epautoconf to udc-core Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 43/46] usb: gadget: move find_ep() from epautoconf to gadget.h Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 44/46] usb: gadget: net2280: add net2280_match_ep() function Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 45/46] usb: gadget: goku_udc: add goku_match_ep() function Robert Baldyga
2015-07-27  9:16 ` [PATCH v4 46/46] usb: musb: gadget: add musb_match_ep() function Robert Baldyga

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=55B9CF1A.1070107@samsung.com \
    --to=r.baldyga@samsung.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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).