summaryrefslogtreecommitdiffstats
path: root/drivers/usb/gadget
diff options
context:
space:
mode:
authorAndrzej Pietrasiewicz2013-09-26 14:38:15 +0200
committerFelipe Balbi2013-10-01 16:50:22 +0200
commit092a4bd069fcca09f345a79c8abdc945cf6b1b57 (patch)
tree762316f09bdc5a52baeecad450d275ba3f145827 /drivers/usb/gadget
parentusb: gadget: Use ERR_CAST inlined function instead of ERR_PTR(PTR_ERR(...)) (diff)
downloadkernel-qcow2-linux-092a4bd069fcca09f345a79c8abdc945cf6b1b57.tar.gz
kernel-qcow2-linux-092a4bd069fcca09f345a79c8abdc945cf6b1b57.tar.xz
kernel-qcow2-linux-092a4bd069fcca09f345a79c8abdc945cf6b1b57.zip
usb: gadget: configfs: add a method to unregister the gadget
Add a method to unregister the gadget using its config_item. There can be functions (e.g. mass storage), which in some circumstances need the gadget stopped. Add a method of stopping the gadget. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@samsung.com> Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/gadget')
-rw-r--r--drivers/usb/gadget/configfs.c8
-rw-r--r--drivers/usb/gadget/configfs.h6
2 files changed, 14 insertions, 0 deletions
diff --git a/drivers/usb/gadget/configfs.c b/drivers/usb/gadget/configfs.c
index 1bfacbfca1d8..25885112fa35 100644
--- a/drivers/usb/gadget/configfs.c
+++ b/drivers/usb/gadget/configfs.c
@@ -991,6 +991,14 @@ static struct configfs_subsystem gadget_subsys = {
.su_mutex = __MUTEX_INITIALIZER(gadget_subsys.su_mutex),
};
+void unregister_gadget_item(struct config_item *item)
+{
+ struct gadget_info *gi = to_gadget_info(item);
+
+ unregister_gadget(gi);
+}
+EXPORT_SYMBOL(unregister_gadget_item);
+
static int __init gadget_cfs_init(void)
{
int ret;
diff --git a/drivers/usb/gadget/configfs.h b/drivers/usb/gadget/configfs.h
new file mode 100644
index 000000000000..a7b564a913d1
--- /dev/null
+++ b/drivers/usb/gadget/configfs.h
@@ -0,0 +1,6 @@
+#ifndef USB__GADGET__CONFIGFS__H
+#define USB__GADGET__CONFIGFS__H
+
+void unregister_gadget_item(struct config_item *item);
+
+#endif /* USB__GADGET__CONFIGFS__H */