diff options
Diffstat (limited to 'drivers/usb/musb/da8xx.c')
-rw-r--r-- | drivers/usb/musb/da8xx.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c index 97996af2646e..7c71769d71ff 100644 --- a/drivers/usb/musb/da8xx.c +++ b/drivers/usb/musb/da8xx.c | |||
@@ -410,6 +410,7 @@ static int da8xx_musb_init(struct musb *musb) | |||
410 | { | 410 | { |
411 | void __iomem *reg_base = musb->ctrl_base; | 411 | void __iomem *reg_base = musb->ctrl_base; |
412 | u32 rev; | 412 | u32 rev; |
413 | int ret = -ENODEV; | ||
413 | 414 | ||
414 | musb->mregs += DA8XX_MENTOR_CORE_OFFSET; | 415 | musb->mregs += DA8XX_MENTOR_CORE_OFFSET; |
415 | 416 | ||
@@ -420,8 +421,10 @@ static int da8xx_musb_init(struct musb *musb) | |||
420 | 421 | ||
421 | usb_nop_xceiv_register(); | 422 | usb_nop_xceiv_register(); |
422 | musb->xceiv = usb_get_phy(USB_PHY_TYPE_USB2); | 423 | musb->xceiv = usb_get_phy(USB_PHY_TYPE_USB2); |
423 | if (IS_ERR_OR_NULL(musb->xceiv)) | 424 | if (IS_ERR_OR_NULL(musb->xceiv)) { |
425 | ret = -EPROBE_DEFER; | ||
424 | goto fail; | 426 | goto fail; |
427 | } | ||
425 | 428 | ||
426 | setup_timer(&otg_workaround, otg_timer, (unsigned long)musb); | 429 | setup_timer(&otg_workaround, otg_timer, (unsigned long)musb); |
427 | 430 | ||
@@ -441,7 +444,7 @@ static int da8xx_musb_init(struct musb *musb) | |||
441 | musb->isr = da8xx_musb_interrupt; | 444 | musb->isr = da8xx_musb_interrupt; |
442 | return 0; | 445 | return 0; |
443 | fail: | 446 | fail: |
444 | return -ENODEV; | 447 | return ret; |
445 | } | 448 | } |
446 | 449 | ||
447 | static int da8xx_musb_exit(struct musb *musb) | 450 | static int da8xx_musb_exit(struct musb *musb) |