aboutsummaryrefslogtreecommitdiffstats
path: root/usb/usb-gadget-composite-added-disconnect-callback.patch
diff options
Diffstat (limited to 'usb/usb-gadget-composite-added-disconnect-callback.patch')
-rw-r--r--usb/usb-gadget-composite-added-disconnect-callback.patch45
1 files changed, 45 insertions, 0 deletions
diff --git a/usb/usb-gadget-composite-added-disconnect-callback.patch b/usb/usb-gadget-composite-added-disconnect-callback.patch
new file mode 100644
index 00000000000000..89c20beef8e829
--- /dev/null
+++ b/usb/usb-gadget-composite-added-disconnect-callback.patch
@@ -0,0 +1,45 @@
+From m.nazarewicz@samsung.com Mon Jun 21 14:44:36 2010
+From: Michal Nazarewicz <m.nazarewicz@samsung.com>
+Date: Mon, 21 Jun 2010 13:57:08 +0200
+Subject: USB: gadget: composite: added disconnect callback
+To: linux-usb@vger.kernel.org
+Cc: David Brownell <dbrownell@users.sourceforge.net>, Greg KH <greg@kroah.com>, Kyungmin Park <kyungmin.park@samsung.com>, Marek Szyprowski <m.szyprowski@samsung.com>, linux-kernel@vger.kernel.org
+Message-ID: <98f552c7e1dd2d68b6eb27675f7fa3f5b211c29e.1277119876.git.m.nazarewicz@samsung.com>
+
+
+Added a disconnect() callback to composite devices which
+is called by composite glue when its disconnect callback
+is called by gadget.
+
+Signed-off-by: Michal Nazarewicz <m.nazarewicz@samsung.com>
+Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
+Acked-by: David Brownell <dbrownell@users.sourceforge.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/usb/gadget/composite.c | 2 ++
+ include/linux/usb/composite.h | 2 ++
+ 2 files changed, 4 insertions(+)
+
+--- a/drivers/usb/gadget/composite.c
++++ b/drivers/usb/gadget/composite.c
+@@ -956,6 +956,8 @@ static void composite_disconnect(struct
+ spin_lock_irqsave(&cdev->lock, flags);
+ if (cdev->config)
+ reset_config(cdev);
++ if (composite->disconnect)
++ composite->disconnect(cdev);
+ spin_unlock_irqrestore(&cdev->lock, flags);
+ }
+
+--- a/include/linux/usb/composite.h
++++ b/include/linux/usb/composite.h
+@@ -276,6 +276,8 @@ struct usb_composite_driver {
+ int (*bind)(struct usb_composite_dev *);
+ int (*unbind)(struct usb_composite_dev *);
+
++ void (*disconnect)(struct usb_composite_dev *);
++
+ /* global suspend hooks */
+ void (*suspend)(struct usb_composite_dev *);
+ void (*resume)(struct usb_composite_dev *);