diff options
author | Benoit Goby <benoit@android.com> | 2011-10-25 11:37:33 +0800 |
---|---|---|
committer | Andy Green <andy.green@linaro.org> | 2011-10-25 11:37:33 +0800 |
commit | 32aefb6255f317a3dea78a9e43c895a5a71d85f0 (patch) | |
tree | 7dfbe805875b9cec5cf56899a7940ef0c656de43 /include | |
parent | 03e7c3033d6d585cd975e5c23f2c85a8b3bcf805 (diff) |
usb: gadget: composite: Add usb_remove_config
This allows composite drivers to dynamically change their configuration.
For example, a driver might remove a configuration and register a new
one with a different set of functions.
User should prevent the host from enumerating the device while changing
the configuration:
usb_gadget_disconnect(cdev->gadget);
usb_remove_config(cdev, old_config);
usb_add_config(cdev, new_config, new_conf_bind);
usb_gadget_connect(cdev->gadget);
Change-Id: Icbfb4ce41685fde9bf63d5d58fca1ad242aa69f9
Signed-off-by: Benoit Goby <benoit@android.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/usb/composite.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/linux/usb/composite.h b/include/linux/usb/composite.h index db618dfc9aa..c70fe154877 100644 --- a/include/linux/usb/composite.h +++ b/include/linux/usb/composite.h @@ -251,6 +251,9 @@ int usb_add_config(struct usb_composite_dev *, struct usb_configuration *, int (*)(struct usb_configuration *)); +int usb_remove_config(struct usb_composite_dev *, + struct usb_configuration *); + /** * struct usb_composite_driver - groups configurations into a gadget * @name: For diagnostics, identifies the driver. |