]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/usb/musb/davinci.c
usb: musb: fix dependency on transceiver driver
[karo-tx-linux.git] / drivers / usb / musb / davinci.c
index b1c01cad28b26183a6201e70394a4097d7d1bd35..e040d9103735181aa03f4f7bd24eabbaf12f8b78 100644 (file)
@@ -380,11 +380,14 @@ static int davinci_musb_init(struct musb *musb)
 {
        void __iomem    *tibase = musb->ctrl_base;
        u32             revision;
+       int             ret = -ENODEV;
 
        usb_nop_xceiv_register();
        musb->xceiv = usb_get_phy(USB_PHY_TYPE_USB2);
-       if (IS_ERR_OR_NULL(musb->xceiv))
+       if (IS_ERR_OR_NULL(musb->xceiv)) {
+               ret = -EPROBE_DEFER;
                goto unregister;
+       }
 
        musb->mregs += DAVINCI_BASE_OFFSET;
 
@@ -438,7 +441,7 @@ fail:
        usb_put_phy(musb->xceiv);
 unregister:
        usb_nop_xceiv_unregister();
-       return -ENODEV;
+       return ret;
 }
 
 static int davinci_musb_exit(struct musb *musb)