diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2011-06-16 20:36:55 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-07-01 14:31:06 -0700 |
commit | 2542787430fc46b4e07e0da4c6ec80ed230032e5 (patch) | |
tree | bc989828f8b5f69d5fc8aa4506fc50d8c3daa773 | |
parent | e9c23a255a33cf423336b7cba39b2b6dcc83a6bc (diff) | |
download | op-kernel-dev-2542787430fc46b4e07e0da4c6ec80ed230032e5.zip op-kernel-dev-2542787430fc46b4e07e0da4c6ec80ed230032e5.tar.gz |
usb: gadget: dummy_hcd: use dummy_pullup() instead of open coding
The removed code does the same thing as dummy_pullup(). The only
difference is that in dummy_udc_stop() the first dummy_pullup()
did not call usb_hcd_poll_rh_status().
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r-- | drivers/usb/gadget/dummy_hcd.c | 34 |
1 files changed, 7 insertions, 27 deletions
diff --git a/drivers/usb/gadget/dummy_hcd.c b/drivers/usb/gadget/dummy_hcd.c index d040dc4..cecc25a 100644 --- a/drivers/usb/gadget/dummy_hcd.c +++ b/drivers/usb/gadget/dummy_hcd.c @@ -944,31 +944,21 @@ static int dummy_udc_start(struct usb_gadget_driver *driver, return retval; } - /* khubd will enumerate this in a while */ - spin_lock_irq (&dum->lock); - dum->pullup = 1; - if (dum->gadget.speed == USB_SPEED_SUPER) { + if (dum->gadget.speed == USB_SPEED_SUPER) dum->gadget.is_otg = (dummy_hcd_to_hcd(dum->ss_hcd)->self.otg_port != 0); - set_link_state(dum->ss_hcd); - } else { + else dum->gadget.is_otg = (dummy_hcd_to_hcd(dum->hs_hcd)->self.otg_port != 0); - set_link_state(dum->hs_hcd); - } - spin_unlock_irq (&dum->lock); - - usb_hcd_poll_rh_status((dum->gadget.speed == USB_SPEED_SUPER ? - dummy_hcd_to_hcd(dum->ss_hcd) : - dummy_hcd_to_hcd(dum->hs_hcd))); + /* khubd will enumerate this in a while */ + dummy_pullup(&dum->gadget, 1); return 0; } static int dummy_udc_stop(struct usb_gadget_driver *driver) { struct dummy *dum = &the_controller; - unsigned long flags; if (!dum) return -ENODEV; @@ -978,23 +968,13 @@ static int dummy_udc_stop(struct usb_gadget_driver *driver) dev_dbg (udc_dev(dum), "unregister gadget driver '%s'\n", driver->driver.name); - spin_lock_irqsave (&dum->lock, flags); - dum->pullup = 0; - set_link_state((dum->gadget.speed == USB_SPEED_SUPER ? - dum->ss_hcd : dum->hs_hcd)); - spin_unlock_irqrestore (&dum->lock, flags); + dummy_pullup(&dum->gadget, 0); driver->unbind (&dum->gadget); dum->gadget.dev.driver = NULL; dum->driver = NULL; - spin_lock_irqsave (&dum->lock, flags); - dum->pullup = 0; - set_link_state((dum->gadget.speed == USB_SPEED_SUPER ? - dum->ss_hcd : dum->hs_hcd)); - spin_unlock_irqrestore (&dum->lock, flags); - usb_hcd_poll_rh_status((dum->gadget.speed == USB_SPEED_SUPER ? - dummy_hcd_to_hcd(dum->ss_hcd) : - dummy_hcd_to_hcd(dum->hs_hcd))); + + dummy_pullup(&dum->gadget, 0); return 0; } |