]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/usb/gadget/net2280.c
Merge branch 'master' into tk71
[mv-sheeva.git] / drivers / usb / gadget / net2280.c
index 9498be87a72450dd2e31c9945351a1924f753c90..d09155b25d73c98d8f7b9dd2028b75433556d3d2 100644 (file)
@@ -1929,7 +1929,8 @@ static void ep0_start (struct net2280 *dev)
  * disconnect is reported.  then a host may connect again, or
  * the driver might get unbound.
  */
-int usb_gadget_register_driver (struct usb_gadget_driver *driver)
+int usb_gadget_probe_driver(struct usb_gadget_driver *driver,
+               int (*bind)(struct usb_gadget *))
 {
        struct net2280          *dev = the_controller;
        int                     retval;
@@ -1941,8 +1942,7 @@ int usb_gadget_register_driver (struct usb_gadget_driver *driver)
         */
        if (!driver
                        || driver->speed != USB_SPEED_HIGH
-                       || !driver->bind
-                       || !driver->setup)
+                       || !bind || !driver->setup)
                return -EINVAL;
        if (!dev)
                return -ENODEV;
@@ -1957,7 +1957,7 @@ int usb_gadget_register_driver (struct usb_gadget_driver *driver)
        driver->driver.bus = NULL;
        dev->driver = driver;
        dev->gadget.dev.driver = &driver->driver;
-       retval = driver->bind (&dev->gadget);
+       retval = bind(&dev->gadget);
        if (retval) {
                DEBUG (dev, "bind to driver %s --> %d\n",
                                driver->driver.name, retval);
@@ -1993,7 +1993,7 @@ err_unbind:
        dev->driver = NULL;
        return retval;
 }
-EXPORT_SYMBOL (usb_gadget_register_driver);
+EXPORT_SYMBOL(usb_gadget_probe_driver);
 
 static void
 stop_activity (struct net2280 *dev, struct usb_gadget_driver *driver)