[U-Boot] [RFC PATCH 3/3] ARM: atmel: add RNDIS gadget support

Marek Vasut marex at denx.de
Wed Sep 4 03:55:59 CEST 2013


Dear Bo Shen,

> Hi Marek Vasut,
> 
> On 09/04/2013 06:31 AM, Marek Vasut wrote:
> 
> [snip]
> 
> >> +#ifdef CONFIG_USB_GADGET_ATMEL_USBA
> >> +#define EP(nam, idx, maxpkt, maxbk, dma, isoc)		\
> >> +	[idx] = {					\
> >> +		.name	= nam,				\
> >> +		.index	= idx,				\
> >> +		.fifo_size	= maxpkt,		\
> >> +		.nr_banks	= maxbk,		\
> >> +		.can_dma	= dma,			\
> >> +		.can_isoc	= isoc,			\
> >> +	}
> >> +
> >> +static struct usba_ep_data usba_udc_ep[] = {
> >> +	EP("ep0", 0, 64, 1, 0, 0),
> >> +	EP("ep1", 1, 1024, 3, 1, 0),
> >> +	EP("ep2", 2, 1024, 3, 1, 0),
> >> +	EP("ep3", 3, 1024, 2, 1, 0),
> >> +	EP("ep4", 4, 1024, 2, 1, 0),
> >> +	EP("ep5", 5, 1024, 2, 1, 0),
> >> +	EP("ep6", 6, 1024, 2, 1, 0),
> >> +	EP("ep7", 7, 1024, 2, 1, 0),
> >> +	EP("ep8", 8, 1024, 2, 0, 0),
> >> +	EP("ep9", 9, 1024, 2, 0, 0),
> >> +	EP("ep10", 10, 1024, 2, 0, 0),
> >> +	EP("ep11", 11, 1024, 2, 0, 0),
> >> +	EP("ep12", 12, 1024, 2, 0, 0),
> >> +	EP("ep13", 13, 1024, 2, 0, 0),
> >> +	EP("ep14", 14, 1024, 2, 0, 0),
> >> +	EP("ep15", 15, 1024, 2, 0, 0),
> >> +};
> > 
> > Can this not be part of the driver itself ?
> 
> I have considered to put this in driver, however, different Atmel SoC
> have different attributes for each endpoint and different number of
> endpoint.
> 
> for example;
> at91sam9x5: EP("ep1", 1, 1024, 2, 1, 1)
> sama5d3x: EP("ep1", 1, 1024, 3, 1, 0)
> 
> So, if I put this in driver, there will be many #ifdef. If newly SoC
> added, maybe we will need to add #ifdef again. So, I put it here.

Can you not pull it into some header file at least? Having it in the board file 
will clearly result in duplication.

Best regards,
Marek Vasut


More information about the U-Boot mailing list