> What's the rationale for that ? Already there are platform specific EP handling code for other platforms in epautoconf.c file in usb_ep_autoconfig(). Adding a new gadget_ops is based on a comment in usb_ep_autoconfig(). Instead of changing the code in epautoconf.c as done for few platforms, we thought it's a good idea to add a gadget_ops so that each platform can handle their EP configuration stuffs in their platform files. > Why is ux500 so important that it needs > to handle endpoint configuration by itself ? > Why don't you just add a fifo_mode table for ux500 instead of adding > this hack ? fifo_mode table is a onetime configuration during initialization. We can't optimize this table for different USB configurations(like MSC, serial, ECM as one config and ECM, serial as another config) which user can change at run time by doing soft disconnect and re-connect with a new configuration. In ux500, we would like handle EP configurations separately for the following reasons: * Allocate smaller than 512 bytes maxpacket EP to interrupt EP. * Allocate a particular EP for a particular class. This is mainly for allocating a double buffered and DMA capable EP for a particular class like MSC... * Any other platform specific checks... -- 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