]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/usb/gadget/lh7a40x_udc.c
Merge branch 'for-linus' of git://git.kernel.dk/linux-2.6-block
[karo-tx-linux.git] / drivers / usb / gadget / lh7a40x_udc.c
index fded3fca793b5850add32e2cb9798740cf6e02f3..6b58bd8ce62395bbbef54803e51380c0ed138b3b 100644 (file)
@@ -408,7 +408,8 @@ static void udc_enable(struct lh7a40x_udc *dev)
 /*
   Register entry point for the peripheral controller driver.
 */
-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 lh7a40x_udc *dev = the_controller;
        int retval;
@@ -417,7 +418,7 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver)
 
        if (!driver
                        || driver->speed != USB_SPEED_FULL
-                       || !driver->bind
+                       || !bind
                        || !driver->disconnect
                        || !driver->setup)
                return -EINVAL;
@@ -431,7 +432,7 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver)
        dev->gadget.dev.driver = &driver->driver;
 
        device_add(&dev->gadget.dev);
-       retval = driver->bind(&dev->gadget);
+       retval = bind(&dev->gadget);
        if (retval) {
                printk(KERN_WARNING "%s: bind to driver %s --> error %d\n",
                       dev->gadget.name, driver->driver.name, retval);
@@ -453,8 +454,7 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver)
 
        return 0;
 }
-
-EXPORT_SYMBOL(usb_gadget_register_driver);
+EXPORT_SYMBOL(usb_gadget_probe_driver);
 
 /*
   Unregister entry point for the peripheral controller driver.