diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2010-08-12 11:43:53 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-10-22 13:21:25 -0400 |
commit | b0fca50f5a94a268ed02cfddf44448051ed9343f (patch) | |
tree | bc398947bcf6355f05ec33e4fea6a0b1927384ac /drivers/usb/gadget/amd5536udc.c | |
parent | e12995ec8f8d99f2a339541fc28998af2d60af0f (diff) |
usb gadget: don't save bind callback in struct usb_gadget_driver
To accomplish this the function to register a gadget driver takes the bind
function as a second argument. To make things clearer rename the function
to resemble platform_driver_probe.
This fixes many section mismatches like
WARNING: drivers/usb/gadget/g_printer.o(.data+0xc): Section mismatch in
reference from the variable printer_driver to the function
.init.text:printer_bind()
The variable printer_driver references
the function __init printer_bind()
All callers are fixed.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
[m.nazarewicz@samsung.com: added dbgp]
Signed-off-by: Michał Nazarewicz <m.nazarewicz@samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/gadget/amd5536udc.c')
-rw-r--r-- | drivers/usb/gadget/amd5536udc.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/usb/gadget/amd5536udc.c b/drivers/usb/gadget/amd5536udc.c index 731150d4b1d9..fadebfd53b47 100644 --- a/drivers/usb/gadget/amd5536udc.c +++ b/drivers/usb/gadget/amd5536udc.c | |||
@@ -1954,13 +1954,14 @@ static int setup_ep0(struct udc *dev) | |||
1954 | } | 1954 | } |
1955 | 1955 | ||
1956 | /* Called by gadget driver to register itself */ | 1956 | /* Called by gadget driver to register itself */ |
1957 | int usb_gadget_register_driver(struct usb_gadget_driver *driver) | 1957 | int usb_gadget_probe_driver(struct usb_gadget_driver *driver, |
1958 | int (*bind)(struct usb_gadget *)) | ||
1958 | { | 1959 | { |
1959 | struct udc *dev = udc; | 1960 | struct udc *dev = udc; |
1960 | int retval; | 1961 | int retval; |
1961 | u32 tmp; | 1962 | u32 tmp; |
1962 | 1963 | ||
1963 | if (!driver || !driver->bind || !driver->setup | 1964 | if (!driver || !bind || !driver->setup |
1964 | || driver->speed != USB_SPEED_HIGH) | 1965 | || driver->speed != USB_SPEED_HIGH) |
1965 | return -EINVAL; | 1966 | return -EINVAL; |
1966 | if (!dev) | 1967 | if (!dev) |
@@ -1972,7 +1973,7 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver) | |||
1972 | dev->driver = driver; | 1973 | dev->driver = driver; |
1973 | dev->gadget.dev.driver = &driver->driver; | 1974 | dev->gadget.dev.driver = &driver->driver; |
1974 | 1975 | ||
1975 | retval = driver->bind(&dev->gadget); | 1976 | retval = bind(&dev->gadget); |
1976 | 1977 | ||
1977 | /* Some gadget drivers use both ep0 directions. | 1978 | /* Some gadget drivers use both ep0 directions. |
1978 | * NOTE: to gadget driver, ep0 is just one endpoint... | 1979 | * NOTE: to gadget driver, ep0 is just one endpoint... |
@@ -2000,7 +2001,7 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver) | |||
2000 | 2001 | ||
2001 | return 0; | 2002 | return 0; |
2002 | } | 2003 | } |
2003 | EXPORT_SYMBOL(usb_gadget_register_driver); | 2004 | EXPORT_SYMBOL(usb_gadget_probe_driver); |
2004 | 2005 | ||
2005 | /* shutdown requests and disconnect from gadget */ | 2006 | /* shutdown requests and disconnect from gadget */ |
2006 | static void | 2007 | static void |