diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2012-09-06 14:11:01 -0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2012-09-10 08:32:58 -0400 |
commit | fac3a43e0ab20dbf5e845c6221ead0d073984f41 (patch) | |
tree | a735712fb538d90bf87ecebb982df19b1b93649e /drivers | |
parent | e4730931143398ec32088af32e985ec413739c10 (diff) |
usb: gadget: move bind callback into driver struct usb_composite_driver
It was moved to be an argument in 07a18bd716ed5 ("usb gadget: don't
save bind callback in struct usb_composite_driver"). The reason was to
avoid the section missmatch. The warning was shown because ->bind is
marked as __init becuase it is a one time init. The warning can be also
suppresed by whitelisting the variable i.e. rename it to lets say _probe.
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 '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 | } |