aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrzej Pietrasiewicz <andrzej.p@samsung.com>2013-09-26 08:38:15 -0400
committerFelipe Balbi <balbi@ti.com>2013-10-01 10:50:22 -0400
commit092a4bd069fcca09f345a79c8abdc945cf6b1b57 (patch)
tree762316f09bdc5a52baeecad450d275ba3f145827
parenta346941152878d8cab198fb10ba45dd706ed5ea1 (diff)
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>
-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 = {
991 .su_mutex = __MUTEX_INITIALIZER(gadget_subsys.su_mutex), 991 .su_mutex = __MUTEX_INITIALIZER(gadget_subsys.su_mutex),
992}; 992};
993 993
994void unregister_gadget_item(struct config_item *item)
995{
996 struct gadget_info *gi = to_gadget_info(item);
997
998 unregister_gadget(gi);
999}
1000EXPORT_SYMBOL(unregister_gadget_item);
1001
994static int __init gadget_cfs_init(void) 1002static int __init gadget_cfs_init(void)
995{ 1003{
996 int ret; 1004 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 @@
1#ifndef USB__GADGET__CONFIGFS__H
2#define USB__GADGET__CONFIGFS__H
3
4void unregister_gadget_item(struct config_item *item);
5
6#endif /* USB__GADGET__CONFIGFS__H */