usb: musb: add reset hook to platform ops
Babble interrupts require us to reset the DSPS glue layer. In order to handle all other recovery tasks independently, add a new hook for platform-specific implementations of the actual reset. Signed-off-by: Daniel Mack <zonque@gmail.com> Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
committed by
Felipe Balbi
parent
8652bcbfa0
commit
1e42d20c88
@@ -192,6 +192,7 @@ struct musb_platform_ops {
|
|||||||
|
|
||||||
int (*set_mode)(struct musb *musb, u8 mode);
|
int (*set_mode)(struct musb *musb, u8 mode);
|
||||||
void (*try_idle)(struct musb *musb, unsigned long timeout);
|
void (*try_idle)(struct musb *musb, unsigned long timeout);
|
||||||
|
void (*reset)(struct musb *musb);
|
||||||
|
|
||||||
int (*vbus_status)(struct musb *musb);
|
int (*vbus_status)(struct musb *musb);
|
||||||
void (*set_vbus)(struct musb *musb, int on);
|
void (*set_vbus)(struct musb *musb, int on);
|
||||||
@@ -552,6 +553,12 @@ static inline void musb_platform_try_idle(struct musb *musb,
|
|||||||
musb->ops->try_idle(musb, timeout);
|
musb->ops->try_idle(musb, timeout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline void musb_platform_reset(struct musb *musb)
|
||||||
|
{
|
||||||
|
if (musb->ops->reset)
|
||||||
|
musb->ops->reset(musb);
|
||||||
|
}
|
||||||
|
|
||||||
static inline int musb_platform_get_vbus_status(struct musb *musb)
|
static inline int musb_platform_get_vbus_status(struct musb *musb)
|
||||||
{
|
{
|
||||||
if (!musb->ops->vbus_status)
|
if (!musb->ops->vbus_status)
|
||||||
|
|||||||
Reference in New Issue
Block a user