
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