diff options
Diffstat (limited to 'drivers/usb/gadget/cdc2.c')
-rw-r--r-- | drivers/usb/gadget/cdc2.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drivers/usb/gadget/cdc2.c b/drivers/usb/gadget/cdc2.c index 1f5ba2fd4c1f..2720ab07ef1a 100644 --- a/drivers/usb/gadget/cdc2.c +++ b/drivers/usb/gadget/cdc2.c | |||
@@ -129,7 +129,7 @@ static u8 hostaddr[ETH_ALEN]; | |||
129 | /* | 129 | /* |
130 | * We _always_ have both CDC ECM and CDC ACM functions. | 130 | * We _always_ have both CDC ECM and CDC ACM functions. |
131 | */ | 131 | */ |
132 | static int __ref cdc_do_config(struct usb_configuration *c) | 132 | static int __init cdc_do_config(struct usb_configuration *c) |
133 | { | 133 | { |
134 | int status; | 134 | int status; |
135 | 135 | ||
@@ -151,7 +151,6 @@ static int __ref cdc_do_config(struct usb_configuration *c) | |||
151 | 151 | ||
152 | static struct usb_configuration cdc_config_driver = { | 152 | static struct usb_configuration cdc_config_driver = { |
153 | .label = "CDC Composite (ECM + ACM)", | 153 | .label = "CDC Composite (ECM + ACM)", |
154 | .bind = cdc_do_config, | ||
155 | .bConfigurationValue = 1, | 154 | .bConfigurationValue = 1, |
156 | /* .iConfiguration = DYNAMIC */ | 155 | /* .iConfiguration = DYNAMIC */ |
157 | .bmAttributes = USB_CONFIG_ATT_SELFPOWER, | 156 | .bmAttributes = USB_CONFIG_ATT_SELFPOWER, |
@@ -159,7 +158,7 @@ static struct usb_configuration cdc_config_driver = { | |||
159 | 158 | ||
160 | /*-------------------------------------------------------------------------*/ | 159 | /*-------------------------------------------------------------------------*/ |
161 | 160 | ||
162 | static int __ref cdc_bind(struct usb_composite_dev *cdev) | 161 | static int __init cdc_bind(struct usb_composite_dev *cdev) |
163 | { | 162 | { |
164 | int gcnum; | 163 | int gcnum; |
165 | struct usb_gadget *gadget = cdev->gadget; | 164 | struct usb_gadget *gadget = cdev->gadget; |
@@ -218,7 +217,7 @@ static int __ref cdc_bind(struct usb_composite_dev *cdev) | |||
218 | device_desc.iProduct = status; | 217 | device_desc.iProduct = status; |
219 | 218 | ||
220 | /* register our configuration */ | 219 | /* register our configuration */ |
221 | status = usb_add_config(cdev, &cdc_config_driver); | 220 | status = usb_add_config(cdev, &cdc_config_driver, cdc_do_config); |
222 | if (status < 0) | 221 | if (status < 0) |
223 | goto fail1; | 222 | goto fail1; |
224 | 223 | ||
@@ -245,7 +244,6 @@ static struct usb_composite_driver cdc_driver = { | |||
245 | .name = "g_cdc", | 244 | .name = "g_cdc", |
246 | .dev = &device_desc, | 245 | .dev = &device_desc, |
247 | .strings = dev_strings, | 246 | .strings = dev_strings, |
248 | .bind = cdc_bind, | ||
249 | .unbind = __exit_p(cdc_unbind), | 247 | .unbind = __exit_p(cdc_unbind), |
250 | }; | 248 | }; |
251 | 249 | ||
@@ -255,7 +253,7 @@ MODULE_LICENSE("GPL"); | |||
255 | 253 | ||
256 | static int __init init(void) | 254 | static int __init init(void) |
257 | { | 255 | { |
258 | return usb_composite_register(&cdc_driver); | 256 | return usb_composite_probe(&cdc_driver, cdc_bind); |
259 | } | 257 | } |
260 | module_init(init); | 258 | module_init(init); |
261 | 259 | ||