]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - drivers/usb/musb-new/musb_core.h
musb: Allow musb_platform_enable to return an error code
[karo-tx-uboot.git] / drivers / usb / musb-new / musb_core.h
index 26957420981774ff4858ec71cc396202a50b5dce..8727f6415e7bc81f5f2273eb4d44afaf2524f6b6 100644 (file)
@@ -231,7 +231,11 @@ struct musb_platform_ops {
        int     (*init)(struct musb *musb);
        int     (*exit)(struct musb *musb);
 
+#ifndef __UBOOT__
        void    (*enable)(struct musb *musb);
+#else
+       int     (*enable)(struct musb *musb);
+#endif
        void    (*disable)(struct musb *musb);
 
        int     (*set_mode)(struct musb *musb, u8 mode);
@@ -546,7 +550,11 @@ static inline void musb_configure_ep0(struct musb *musb)
 
 extern const char musb_driver_name[];
 
+#ifndef __UBOOT__
 extern void musb_start(struct musb *musb);
+#else
+extern int musb_start(struct musb *musb);
+#endif
 extern void musb_stop(struct musb *musb);
 
 extern void musb_write_fifo(struct musb_hw_ep *ep, u16 len, const u8 *src);
@@ -564,11 +572,21 @@ static inline void musb_platform_set_vbus(struct musb *musb, int is_on)
                musb->ops->set_vbus(musb, is_on);
 }
 
+#ifndef __UBOOT__
 static inline void musb_platform_enable(struct musb *musb)
 {
        if (musb->ops->enable)
                musb->ops->enable(musb);
 }
+#else
+static inline int musb_platform_enable(struct musb *musb)
+{
+       if (!musb->ops->enable)
+               return 0;
+
+       return musb->ops->enable(musb);
+}
+#endif
 
 static inline void musb_platform_disable(struct musb *musb)
 {