[U-Boot] [PATCH v3] usb: new board-specific USB init interface

Marek Vasut marex at denx.de
Thu Sep 5 19:51:56 CEST 2013


Dear Mateusz Zalega,

> On 09/05/13 17:50, Marek Vasut wrote:
> >> v3 changes:
> >> - added 'index' argument to perform selective port initialization
> > 
> > OK, a few general ideas again:
> > 
> > Why not wrap board_usb_init() and board_usb_init_fail() into single call.
> > You now pass some flags to board_usb_init() already, so just add another
> > for the fail case. How does it sound to you?
> 
> Like overengineering. It would lead to "board_usb_init(USB_INIT_ALL,
> USB_INIT_DEVICE, USB_CLEANUP)" calls, which are not very readable.

This is not what I mean, see this:

int board_usb_init(int index, enum board_usb_init_type init)

Add a new "init" type (or maybe change the init field to be flags) that will say 
"OK, do a fail init" ?

> > Moreover, the 'int index' should likely be unsigned int and the special
> > value to init all controllers at once should probably then be 0xffffffff
> 
> Despite our greatest ambitions, I don't think we're likely to use more
> than 2^31-1 USB controllers at a time. Besides, negative values look
> better both in code and debugger session.

Thinking of it further, instead of using negative value here, like I mentioned 
above, why not make the "board_usb_init_type" into a field of flags , then add 
flag to init all controllers at once ?

Best regards,
Marek Vasut


More information about the U-Boot mailing list