summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior2012-09-07 09:53:17 +0200
committerFelipe Balbi2012-09-10 14:35:41 +0200
commitffe0b335062505a98d7296dae2c2a197713f87e0 (patch)
treec2fe75a9711026ee65409034dd71579bad64a801 /include
parentstaging: ccg: include all sourced files (diff)
downloadkernel-qcow2-linux-ffe0b335062505a98d7296dae2c2a197713f87e0.tar.gz
kernel-qcow2-linux-ffe0b335062505a98d7296dae2c2a197713f87e0.tar.xz
kernel-qcow2-linux-ffe0b335062505a98d7296dae2c2a197713f87e0.zip
usb: gadget: remove global variable composite in composite.c
This patch removes the global variable composite in composite.c. The private data which was saved there is now passed via an additional argument to the bind() function in struct usb_gadget_driver. Only the "old-style" UDC drivers have to be touched here, new style are doing it right because this change is made in udc-core. Acked-by: Michal Nazarewicz <mina86@mina86.com> Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/usb/composite.h1
-rw-r--r--include/linux/usb/gadget.h6
2 files changed, 5 insertions, 2 deletions
diff --git a/include/linux/usb/composite.h b/include/linux/usb/composite.h
index 19a5adf18bf4..43d6b9ca51b7 100644
--- a/include/linux/usb/composite.h
+++ b/include/linux/usb/composite.h
@@ -303,6 +303,7 @@ struct usb_composite_driver {
/* global suspend hooks */
void (*suspend)(struct usb_composite_dev *);
void (*resume)(struct usb_composite_dev *);
+ struct usb_gadget_driver gadget_driver;
};
extern int usb_composite_probe(struct usb_composite_driver *driver);
diff --git a/include/linux/usb/gadget.h b/include/linux/usb/gadget.h
index 9eb4e712168f..822c1b88f95a 100644
--- a/include/linux/usb/gadget.h
+++ b/include/linux/usb/gadget.h
@@ -474,7 +474,8 @@ struct usb_gadget_ops {
/* Those two are deprecated */
int (*start)(struct usb_gadget_driver *,
- int (*bind)(struct usb_gadget *));
+ int (*bind)(struct usb_gadget *,
+ struct usb_gadget_driver *driver));
int (*stop)(struct usb_gadget_driver *);
};
@@ -821,7 +822,8 @@ static inline int usb_gadget_disconnect(struct usb_gadget *gadget)
struct usb_gadget_driver {
char *function;
enum usb_device_speed max_speed;
- int (*bind)(struct usb_gadget *gadget);
+ int (*bind)(struct usb_gadget *gadget,
+ struct usb_gadget_driver *driver);
void (*unbind)(struct usb_gadget *);
int (*setup)(struct usb_gadget *,
const struct usb_ctrlrequest *);