mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-11 07:34:31 +00:00
usb: ci_udc: call udc_disconnect() from ci_pullup()
ci_pullup()'s !is_on path contains a cut/paste copy of udc_disconnect(). Remove the duplication by simply calling udc_disconnect() instead. Signed-off-by: Stephen Warren <swarren@nvidia.com>
This commit is contained in:
parent
006c702688
commit
43a8f25b6c
1 changed files with 12 additions and 16 deletions
|
@ -697,6 +697,17 @@ int usb_gadget_handle_interrupts(void)
|
|||
return value;
|
||||
}
|
||||
|
||||
void udc_disconnect(void)
|
||||
{
|
||||
struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor;
|
||||
/* disable pullup */
|
||||
stop_activity();
|
||||
writel(USBCMD_FS2, &udc->usbcmd);
|
||||
udelay(800);
|
||||
if (controller.driver)
|
||||
controller.driver->disconnect(&controller.gadget);
|
||||
}
|
||||
|
||||
static int ci_pullup(struct usb_gadget *gadget, int is_on)
|
||||
{
|
||||
struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor;
|
||||
|
@ -715,27 +726,12 @@ static int ci_pullup(struct usb_gadget *gadget, int is_on)
|
|||
/* Turn on the USB connection by enabling the pullup resistor */
|
||||
writel(USBCMD_ITC(MICRO_8FRAME) | USBCMD_RUN, &udc->usbcmd);
|
||||
} else {
|
||||
stop_activity();
|
||||
writel(USBCMD_FS2, &udc->usbcmd);
|
||||
udelay(800);
|
||||
if (controller.driver)
|
||||
controller.driver->disconnect(gadget);
|
||||
udc_disconnect();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void udc_disconnect(void)
|
||||
{
|
||||
struct ci_udc *udc = (struct ci_udc *)controller.ctrl->hcor;
|
||||
/* disable pullup */
|
||||
stop_activity();
|
||||
writel(USBCMD_FS2, &udc->usbcmd);
|
||||
udelay(800);
|
||||
if (controller.driver)
|
||||
controller.driver->disconnect(&controller.gadget);
|
||||
}
|
||||
|
||||
static int ci_udc_probe(void)
|
||||
{
|
||||
struct ept_queue_head *head;
|
||||
|
|
Loading…
Reference in a new issue