Hi Balbi >> + >> +#define EP_CONTEXT_ALIGNMENT 32 >> +#define MV_U3D_TRB_ALIGNMENT 16 >> +#define MV_U3D_DMA_BOUNDARY 4096 >> + >> +#define EP_DIR_IN 1 >> +#define EP_DIR_OUT 0 >> + >> +#define DMA_ADDR_INVALID (~(dma_addr_t)0) > > NAK, use generic map/unmap routines > Sorry, I cannot catch it. Could you explain more? >> + u32 itpinfo1; >> + u32 rsvd8[61]; >> + struct epxcr epcr[16]; >> + u32 rsvd9[64]; >> + u32 phyaddr; >> + u32 phydata; >> +}; > > you're assuming endianess here. Is it safe for Marvell ? > Thanks for the reminder. Actually, we support little endian only. > >> +}; >> + >> +/* request data structure */ >> +struct mv_req { >> + struct usb_request req; >> + struct trb *trb, *head, *tail; > > why do you need head and tail pointers ? > >> + struct mv_ep *ep; >> + struct list_head queue; > > what's this queue ? > The queue is to manage all of the usb request that is waiting for transfer, since the request cannot be queue to the controller until the ep is free. >> + struct list_head list; /* add to list of ep's request */ >> + unsigned trb_count; >> + unsigned chain; >> + unsigned mapped:1; >> +}; > > Overall comment: Add kernel doc to all structures on this comment. > What's the meaning of kernel doc? And where should I put? Thanks, Yu Xu -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html