]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - drivers/usb/gadget/s3c-hsotg.c
Merge tag 'v2.6.37' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
[mv-sheeva.git] / drivers / usb / gadget / s3c-hsotg.c
index a229744a8c7dfa4d5f284165800a455d8f687b26..ef825c3baed966b69a00a454f254f1814bb29650 100644 (file)
@@ -2523,7 +2523,8 @@ static int s3c_hsotg_corereset(struct s3c_hsotg *hsotg)
        return 0;
 }
 
-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 s3c_hsotg *hsotg = our_hsotg;
        int ret;
@@ -2543,7 +2544,7 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver)
                dev_err(hsotg->dev, "%s: bad speed\n", __func__);
        }
 
-       if (!driver->bind || !driver->setup) {
+       if (!bind || !driver->setup) {
                dev_err(hsotg->dev, "%s: missing entry points\n", __func__);
                return -EINVAL;
        }
@@ -2562,7 +2563,7 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver)
                goto err;
        }
 
-       ret = driver->bind(&hsotg->gadget);
+       ret = bind(&hsotg->gadget);
        if (ret) {
                dev_err(hsotg->dev, "failed bind %s\n", driver->driver.name);
 
@@ -2687,7 +2688,7 @@ err:
        hsotg->gadget.dev.driver = NULL;
        return ret;
 }
-EXPORT_SYMBOL(usb_gadget_register_driver);
+EXPORT_SYMBOL(usb_gadget_probe_driver);
 
 int usb_gadget_unregister_driver(struct usb_gadget_driver *driver)
 {