diff options
-rw-r--r-- | drivers/staging/westbridge/astoria/gadget/cyasgadget.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/staging/westbridge/astoria/gadget/cyasgadget.c b/drivers/staging/westbridge/astoria/gadget/cyasgadget.c index 756ff278f66d..0b00271cbebe 100644 --- a/drivers/staging/westbridge/astoria/gadget/cyasgadget.c +++ b/drivers/staging/westbridge/astoria/gadget/cyasgadget.c @@ -1882,9 +1882,8 @@ static void cyas_ep0_start( * 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 *)) { cyasgadget *dev = cy_as_gadget_controller ; int retval; @@ -1898,7 +1897,7 @@ int usb_gadget_register_driver( * "must not be used in normal operation" */ if (!driver - || !driver->bind + || !bind || !driver->unbind || !driver->setup) return -EINVAL; @@ -1919,7 +1918,7 @@ int usb_gadget_register_driver( cyas_usb_reset(dev) ; /* External usb */ cyas_usb_reinit(dev) ; /* Internal */ - retval = driver->bind(&dev->gadget); + retval = bind(&dev->gadget); if (retval) { #ifndef WESTBRIDGE_NDEBUG cy_as_hal_print_message("%s bind to driver %s --> %d\n", @@ -1938,7 +1937,7 @@ int usb_gadget_register_driver( return 0; } -EXPORT_SYMBOL(usb_gadget_register_driver); +EXPORT_SYMBOL(usb_gadget_probe_driver); static void cyasgadget_nuke( cyasgadget_ep *an_ep |