usb: gadget: move bind callback into driver struct usb_composite_driver
It was moved to be an argument in 07a18bd716
("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>
This commit is contained in:

committed by
Felipe Balbi

parent
e473093114
commit
fac3a43e0a
@@ -32,7 +32,6 @@
|
||||
#define USB_BUFSIZ 1024
|
||||
|
||||
static struct usb_composite_driver *composite;
|
||||
static int (*composite_gadget_bind)(struct usb_composite_dev *cdev);
|
||||
|
||||
/* Some systems will need runtime overrides for the product identifiers
|
||||
* published in the device descriptor, either numbers or strings or both.
|
||||
@@ -1468,7 +1467,7 @@ static int composite_bind(struct usb_gadget *gadget)
|
||||
* serial number), register function drivers, potentially update
|
||||
* power state and consumption, etc
|
||||
*/
|
||||
status = composite_gadget_bind(cdev);
|
||||
status = composite->bind(cdev);
|
||||
if (status < 0)
|
||||
goto fail;
|
||||
|
||||
@@ -1621,7 +1620,9 @@ static struct usb_gadget_driver composite_driver = {
|
||||
int usb_composite_probe(struct usb_composite_driver *driver,
|
||||
int (*bind)(struct usb_composite_dev *cdev))
|
||||
{
|
||||
if (!driver || !driver->dev || !bind || composite)
|
||||
if (!driver || !driver->dev || composite)
|
||||
return -EINVAL;
|
||||
if (!bind && !driver->bind)
|
||||
return -EINVAL;
|
||||
|
||||
if (!driver->name)
|
||||
@@ -1632,7 +1633,8 @@ int usb_composite_probe(struct usb_composite_driver *driver,
|
||||
composite_driver.driver.name = driver->name;
|
||||
composite_driver.max_speed = driver->max_speed;
|
||||
composite = driver;
|
||||
composite_gadget_bind = bind;
|
||||
if (!driver->bind)
|
||||
driver->bind = bind;
|
||||
|
||||
return usb_gadget_probe_driver(&composite_driver, composite_bind);
|
||||
}
|
||||
|
Reference in New Issue
Block a user