diff options
Diffstat (limited to 'drivers/usb/gadget/s3c2410_udc.c')
-rw-r--r-- | drivers/usb/gadget/s3c2410_udc.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/drivers/usb/gadget/s3c2410_udc.c b/drivers/usb/gadget/s3c2410_udc.c index ea2b3c7ebee5..c2448950a8d8 100644 --- a/drivers/usb/gadget/s3c2410_udc.c +++ b/drivers/usb/gadget/s3c2410_udc.c | |||
@@ -1632,15 +1632,15 @@ static void s3c2410_udc_enable(struct s3c2410_udc *dev) | |||
1632 | } | 1632 | } |
1633 | 1633 | ||
1634 | /* | 1634 | /* |
1635 | * usb_gadget_register_driver | 1635 | * usb_gadget_probe_driver |
1636 | */ | 1636 | */ |
1637 | int usb_gadget_register_driver(struct usb_gadget_driver *driver) | 1637 | int usb_gadget_probe_driver(struct usb_gadget_driver *driver, |
1638 | int (*bind)(struct usb_gadget *)) | ||
1638 | { | 1639 | { |
1639 | struct s3c2410_udc *udc = the_controller; | 1640 | struct s3c2410_udc *udc = the_controller; |
1640 | int retval; | 1641 | int retval; |
1641 | 1642 | ||
1642 | dprintk(DEBUG_NORMAL, "usb_gadget_register_driver() '%s'\n", | 1643 | dprintk(DEBUG_NORMAL, "%s() '%s'\n", __func__, driver->driver.name); |
1643 | driver->driver.name); | ||
1644 | 1644 | ||
1645 | /* Sanity checks */ | 1645 | /* Sanity checks */ |
1646 | if (!udc) | 1646 | if (!udc) |
@@ -1649,10 +1649,9 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver) | |||
1649 | if (udc->driver) | 1649 | if (udc->driver) |
1650 | return -EBUSY; | 1650 | return -EBUSY; |
1651 | 1651 | ||
1652 | if (!driver->bind || !driver->setup | 1652 | if (!bind || !driver->setup || driver->speed < USB_SPEED_FULL) { |
1653 | || driver->speed < USB_SPEED_FULL) { | ||
1654 | printk(KERN_ERR "Invalid driver: bind %p setup %p speed %d\n", | 1653 | printk(KERN_ERR "Invalid driver: bind %p setup %p speed %d\n", |
1655 | driver->bind, driver->setup, driver->speed); | 1654 | bind, driver->setup, driver->speed); |
1656 | return -EINVAL; | 1655 | return -EINVAL; |
1657 | } | 1656 | } |
1658 | #if defined(MODULE) | 1657 | #if defined(MODULE) |
@@ -1675,7 +1674,7 @@ int usb_gadget_register_driver(struct usb_gadget_driver *driver) | |||
1675 | dprintk(DEBUG_NORMAL, "binding gadget driver '%s'\n", | 1674 | dprintk(DEBUG_NORMAL, "binding gadget driver '%s'\n", |
1676 | driver->driver.name); | 1675 | driver->driver.name); |
1677 | 1676 | ||
1678 | if ((retval = driver->bind (&udc->gadget)) != 0) { | 1677 | if ((retval = bind(&udc->gadget)) != 0) { |
1679 | device_del(&udc->gadget.dev); | 1678 | device_del(&udc->gadget.dev); |
1680 | goto register_error; | 1679 | goto register_error; |
1681 | } | 1680 | } |
@@ -1690,6 +1689,7 @@ register_error: | |||
1690 | udc->gadget.dev.driver = NULL; | 1689 | udc->gadget.dev.driver = NULL; |
1691 | return retval; | 1690 | return retval; |
1692 | } | 1691 | } |
1692 | EXPORT_SYMBOL(usb_gadget_probe_driver); | ||
1693 | 1693 | ||
1694 | /* | 1694 | /* |
1695 | * usb_gadget_unregister_driver | 1695 | * usb_gadget_unregister_driver |
@@ -2049,7 +2049,6 @@ static void __exit udc_exit(void) | |||
2049 | } | 2049 | } |
2050 | 2050 | ||
2051 | EXPORT_SYMBOL(usb_gadget_unregister_driver); | 2051 | EXPORT_SYMBOL(usb_gadget_unregister_driver); |
2052 | EXPORT_SYMBOL(usb_gadget_register_driver); | ||
2053 | 2052 | ||
2054 | module_init(udc_init); | 2053 | module_init(udc_init); |
2055 | module_exit(udc_exit); | 2054 | module_exit(udc_exit); |