1. NAME

usb_add_config - add a configuration to a device.

2. SYNOPSIS

int usb_add_config(struct usb_composite_dev *  cdev , struct usb_configuration *  config , int (* bind ) (struct usb_configuration *));

3. ARGUMENTS

cdev
    wraps the USB gadget

config
    the configuration, with bConfigurationValue assigned

bind
    the configurationAqs bind function

4. CONTEXT

single threaded during gadget setup

5. DESCRIPTION

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 configurationAqs 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.

6. AUTHOR

David Brownell <>
    Author.

7. COPYRIGHT