Loading drivers/usb/gadget/omap_udc.c +12 −37 Original line number Diff line number Diff line Loading @@ -1309,9 +1309,10 @@ static int omap_pullup(struct usb_gadget *gadget, int is_on) return 0; } static int omap_udc_start(struct usb_gadget_driver *driver, int (*bind)(struct usb_gadget *, struct usb_gadget_driver *)); static int omap_udc_stop(struct usb_gadget_driver *driver); static int omap_udc_start(struct usb_gadget *g, struct usb_gadget_driver *driver) static int omap_udc_stop(struct usb_gadget *g, struct usb_gadget_driver *driver); static struct usb_gadget_ops omap_gadget_ops = { .get_frame = omap_get_frame, Loading @@ -1320,8 +1321,8 @@ static struct usb_gadget_ops omap_gadget_ops = { .vbus_session = omap_vbus_session, .vbus_draw = omap_vbus_draw, .pullup = omap_pullup, .start = omap_udc_start, .stop = omap_udc_stop, .udc_start = omap_udc_start, .udc_stop = omap_udc_stop, }; /*-------------------------------------------------------------------------*/ Loading Loading @@ -2041,28 +2042,15 @@ static inline int machine_without_vbus_sense(void) || cpu_is_omap7xx(); } static int omap_udc_start(struct usb_gadget_driver *driver, int (*bind)(struct usb_gadget *, struct usb_gadget_driver *)) static int omap_udc_start(struct usb_gadget *g, struct usb_gadget_driver *driver) { int status = -ENODEV; struct omap_ep *ep; unsigned long flags; /* basic sanity tests */ if (!udc) return -ENODEV; if (!driver /* FIXME if otg, check: driver->is_otg */ || driver->max_speed < USB_SPEED_FULL || !bind || !driver->setup) return -EINVAL; spin_lock_irqsave(&udc->lock, flags); if (udc->driver) { spin_unlock_irqrestore(&udc->lock, flags); return -EBUSY; } /* reset state */ list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list) { ep->irqs = 0; Loading @@ -2084,15 +2072,6 @@ static int omap_udc_start(struct usb_gadget_driver *driver, if (udc->dc_clk != NULL) omap_udc_enable_clock(1); status = bind(&udc->gadget, driver); if (status) { DBG("bind to %s --> %d\n", driver->driver.name, status); udc->gadget.dev.driver = NULL; udc->driver = NULL; goto done; } DBG("bound to driver %s\n", driver->driver.name); omap_writew(UDC_IRQ_SRC_MASK, UDC_IRQ_SRC); /* connect to bus through transceiver */ Loading Loading @@ -2124,19 +2103,16 @@ static int omap_udc_start(struct usb_gadget_driver *driver, done: if (udc->dc_clk != NULL) omap_udc_enable_clock(0); return status; } static int omap_udc_stop(struct usb_gadget_driver *driver) static int omap_udc_stop(struct usb_gadget *g, struct usb_gadget_driver *driver) { unsigned long flags; int status = -ENODEV; if (!udc) return -ENODEV; if (!driver || driver != udc->driver || !driver->unbind) return -EINVAL; if (udc->dc_clk != NULL) omap_udc_enable_clock(1); Loading @@ -2152,13 +2128,12 @@ static int omap_udc_stop(struct usb_gadget_driver *driver) udc_quiesce(udc); spin_unlock_irqrestore(&udc->lock, flags); driver->unbind(&udc->gadget); udc->gadget.dev.driver = NULL; udc->driver = NULL; if (udc->dc_clk != NULL) omap_udc_enable_clock(0); DBG("unregistered driver '%s'\n", driver->driver.name); return status; } Loading Loading
drivers/usb/gadget/omap_udc.c +12 −37 Original line number Diff line number Diff line Loading @@ -1309,9 +1309,10 @@ static int omap_pullup(struct usb_gadget *gadget, int is_on) return 0; } static int omap_udc_start(struct usb_gadget_driver *driver, int (*bind)(struct usb_gadget *, struct usb_gadget_driver *)); static int omap_udc_stop(struct usb_gadget_driver *driver); static int omap_udc_start(struct usb_gadget *g, struct usb_gadget_driver *driver) static int omap_udc_stop(struct usb_gadget *g, struct usb_gadget_driver *driver); static struct usb_gadget_ops omap_gadget_ops = { .get_frame = omap_get_frame, Loading @@ -1320,8 +1321,8 @@ static struct usb_gadget_ops omap_gadget_ops = { .vbus_session = omap_vbus_session, .vbus_draw = omap_vbus_draw, .pullup = omap_pullup, .start = omap_udc_start, .stop = omap_udc_stop, .udc_start = omap_udc_start, .udc_stop = omap_udc_stop, }; /*-------------------------------------------------------------------------*/ Loading Loading @@ -2041,28 +2042,15 @@ static inline int machine_without_vbus_sense(void) || cpu_is_omap7xx(); } static int omap_udc_start(struct usb_gadget_driver *driver, int (*bind)(struct usb_gadget *, struct usb_gadget_driver *)) static int omap_udc_start(struct usb_gadget *g, struct usb_gadget_driver *driver) { int status = -ENODEV; struct omap_ep *ep; unsigned long flags; /* basic sanity tests */ if (!udc) return -ENODEV; if (!driver /* FIXME if otg, check: driver->is_otg */ || driver->max_speed < USB_SPEED_FULL || !bind || !driver->setup) return -EINVAL; spin_lock_irqsave(&udc->lock, flags); if (udc->driver) { spin_unlock_irqrestore(&udc->lock, flags); return -EBUSY; } /* reset state */ list_for_each_entry(ep, &udc->gadget.ep_list, ep.ep_list) { ep->irqs = 0; Loading @@ -2084,15 +2072,6 @@ static int omap_udc_start(struct usb_gadget_driver *driver, if (udc->dc_clk != NULL) omap_udc_enable_clock(1); status = bind(&udc->gadget, driver); if (status) { DBG("bind to %s --> %d\n", driver->driver.name, status); udc->gadget.dev.driver = NULL; udc->driver = NULL; goto done; } DBG("bound to driver %s\n", driver->driver.name); omap_writew(UDC_IRQ_SRC_MASK, UDC_IRQ_SRC); /* connect to bus through transceiver */ Loading Loading @@ -2124,19 +2103,16 @@ static int omap_udc_start(struct usb_gadget_driver *driver, done: if (udc->dc_clk != NULL) omap_udc_enable_clock(0); return status; } static int omap_udc_stop(struct usb_gadget_driver *driver) static int omap_udc_stop(struct usb_gadget *g, struct usb_gadget_driver *driver) { unsigned long flags; int status = -ENODEV; if (!udc) return -ENODEV; if (!driver || driver != udc->driver || !driver->unbind) return -EINVAL; if (udc->dc_clk != NULL) omap_udc_enable_clock(1); Loading @@ -2152,13 +2128,12 @@ static int omap_udc_stop(struct usb_gadget_driver *driver) udc_quiesce(udc); spin_unlock_irqrestore(&udc->lock, flags); driver->unbind(&udc->gadget); udc->gadget.dev.driver = NULL; udc->driver = NULL; if (udc->dc_clk != NULL) omap_udc_enable_clock(0); DBG("unregistered driver '%s'\n", driver->driver.name); return status; } Loading