Hi, On Wed, May 29, 2013 at 06:37:03PM +0530, Ravi Babu wrote: > Adding babble_recovery operation as part of musb->ops, used > to recover from babble condition during babble interrupt. > > Signed-off-by: Ravi Babu <ravib...@ti.com> > --- > drivers/usb/musb/musb_core.c | 6 ++++++ > drivers/usb/musb/musb_core.h | 7 +++++++ > 2 files changed, 13 insertions(+), 0 deletions(-) > > diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c > index ab6fa39..411c29d 100644 > --- a/drivers/usb/musb/musb_core.c > +++ b/drivers/usb/musb/musb_core.c > @@ -857,6 +857,12 @@ b_host: > } > } > > + /* handle babble condition */ > + if (int_usb & MUSB_INTR_BABBLE) { > + pr_info("babble: restarting the musb controller.."); > + musb_babble_recovery(musb); > + } > + > #if 0 > /* REVISIT ... this would be for multiplexing periodic endpoints, or > * supporting transfer phasing to prevent exceeding ISO bandwidth > diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h > index f96e899..bf37dc9 100644 > --- a/drivers/usb/musb/musb_core.h > +++ b/drivers/usb/musb/musb_core.h > @@ -213,6 +213,8 @@ struct musb_platform_ops { > int (*adjust_channel_params)(struct dma_channel *channel, > u16 packet_sz, u8 *mode, > dma_addr_t *dma_addr, u32 *len); > + > + void (*babble_recovery)(struct musb *musb);
I don't get why can't 'babble_recovery' be generic. Why do we need each glue layer to implement it ? -- balbi
signature.asc
Description: Digital signature