usb_add_config — add a configuration to a device.
| int usb_add_config ( | struct usb_composite_dev * cdev, | 
| struct usb_configuration * config, | |
| int (*bind) (struct usb_configuration *)); | 
cdevwraps the USB gadget
configthe configuration, with bConfigurationValue assigned
bindthe configuration's bind function
   One of the main tasks of a composite bind() routine is to
   add each of the configurations it supports, using this routine.
   
   This function returns the value of the configuration's bind(), which
   is zero for success else a negative errno value.  Binding configurations
   assigns global resources including string IDs, and per-configuration
   resources such as interface IDs and endpoints.