USB: gadget: composite: Add userspace notifications for USB state changes
Add switch to notify current USB configuration. This can be used to detect
USB connect and disconnect events.
Broadcast a change via the usb_composite class when a USB function is
enabled or disabled.
Rename usb_function.hidden to usb_function.disabled.
Signed-off-by: Mike Lockwood <lockwood@android.com>
diff --git a/drivers/usb/gadget/android.c b/drivers/usb/gadget/android.c
index 3c4d44d..6e3c32e 100644
--- a/drivers/usb/gadget/android.c
+++ b/drivers/usb/gadget/android.c
@@ -208,7 +208,7 @@
{
struct usb_function *f;
list_for_each_entry(f, &android_config_driver.functions, list) {
- if (product_has_function(p, f) == !!f->hidden)
+ if (product_has_function(p, f) == !!f->disabled)
return 0;
}
return 1;
@@ -323,8 +323,8 @@
int disable = !enable;
int product_id;
- if (!!f->hidden != disable) {
- f->hidden = disable;
+ if (!!f->disabled != disable) {
+ usb_function_set_enabled(f, !disable);
#ifdef CONFIG_USB_ANDROID_RNDIS
if (!strcmp(f->name, "rndis")) {
@@ -347,7 +347,7 @@
*/
list_for_each_entry(func, &android_config_driver.functions, list) {
if (!strcmp(func->name, "usb_mass_storage")) {
- func->hidden = enable;
+ usb_function_set_enabled(f, !enable);
break;
}
}