diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/usb/gadget/composite.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/usb/gadget/composite.c b/drivers/usb/gadget/composite.c index 91411a6d741b..402e5bd8b3e5 100644 --- a/drivers/usb/gadget/composite.c +++ b/drivers/usb/gadget/composite.c | |||
@@ -32,7 +32,6 @@ | |||
32 | #define USB_BUFSIZ 1024 | 32 | #define USB_BUFSIZ 1024 |
33 | 33 | ||
34 | static struct usb_composite_driver *composite; | 34 | static struct usb_composite_driver *composite; |
35 | static int (*composite_gadget_bind)(struct usb_composite_dev *cdev); | ||
36 | 35 | ||
37 | /* Some systems will need runtime overrides for the product identifiers | 36 | /* Some systems will need runtime overrides for the product identifiers |
38 | * published in the device descriptor, either numbers or strings or both. | 37 | * published in the device descriptor, either numbers or strings or both. |
@@ -1468,7 +1467,7 @@ static int composite_bind(struct usb_gadget *gadget) | |||
1468 | * serial number), register function drivers, potentially update | 1467 | * serial number), register function drivers, potentially update |
1469 | * power state and consumption, etc | 1468 | * power state and consumption, etc |
1470 | */ | 1469 | */ |
1471 | status = composite_gadget_bind(cdev); | 1470 | status = composite->bind(cdev); |
1472 | if (status < 0) | 1471 | if (status < 0) |
1473 | goto fail; | 1472 | goto fail; |
1474 | 1473 | ||
@@ -1621,7 +1620,9 @@ static struct usb_gadget_driver composite_driver = { | |||
1621 | int usb_composite_probe(struct usb_composite_driver *driver, | 1620 | int usb_composite_probe(struct usb_composite_driver *driver, |
1622 | int (*bind)(struct usb_composite_dev *cdev)) | 1621 | int (*bind)(struct usb_composite_dev *cdev)) |
1623 | { | 1622 | { |
1624 | if (!driver || !driver->dev || !bind || composite) | 1623 | if (!driver || !driver->dev || composite) |
1624 | return -EINVAL; | ||
1625 | if (!bind && !driver->bind) | ||
1625 | return -EINVAL; | 1626 | return -EINVAL; |
1626 | 1627 | ||
1627 | if (!driver->name) | 1628 | if (!driver->name) |
@@ -1632,7 +1633,8 @@ int usb_composite_probe(struct usb_composite_driver *driver, | |||
1632 | composite_driver.driver.name = driver->name; | 1633 | composite_driver.driver.name = driver->name; |
1633 | composite_driver.max_speed = driver->max_speed; | 1634 | composite_driver.max_speed = driver->max_speed; |
1634 | composite = driver; | 1635 | composite = driver; |
1635 | composite_gadget_bind = bind; | 1636 | if (!driver->bind) |
1637 | driver->bind = bind; | ||
1636 | 1638 | ||
1637 | return usb_gadget_probe_driver(&composite_driver, composite_bind); | 1639 | return usb_gadget_probe_driver(&composite_driver, composite_bind); |
1638 | } | 1640 | } |