Re: [PATCH 1/1] USB: MUSB: Be sure that we enable musb->clock

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



* Felipe Balbi <felipe.balbi@xxxxxxxxx> [080403 17:01]:
> On Thu, Apr 03, 2008 at 06:56:01AM -0500, ext Felipe Balbi wrote:
> > 
> > 
> > On Thu,  3 Apr 2008 14:38:30 +0300, Felipe Balbi <felipe.balbi@xxxxxxxxx>
> > wrote:
> > 
> > The following is better as I'm also disabling the clock on suspend to
> > conserve power.
> 
> The spinlock wasn't needed, stupid brain-fart.
> Sorry for that.
> 
> Tony, updated patch below:

Pushing today.

Tony

> From cb08008da5e4a514d7b4784cbaf599ac119376ff Mon Sep 17 00:00:00 2001
> From: Felipe Balbi <felipe.balbi@xxxxxxxxx>
> Date: Thu, 3 Apr 2008 14:35:33 +0300
> Subject: [PATCH] USB: MUSB: Be sure that we enable musb->clock
> 
> If CONFIG_OMAP_RESET_CLOCKS is enabled, musb->clock would
> be disabled because nobody was enabling it.
> 
> Be sure that omap2430.c enables musb->clock to avoid problems
> later.
> 
> Signed-off-by: Felipe Balbi <felipe.balbi@xxxxxxxxx>
> ---
>  drivers/usb/musb/omap2430.c |   16 ++++++++++++++++
>  1 files changed, 16 insertions(+), 0 deletions(-)
> 
> diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c
> index 8041dde..c21d93a 100644
> --- a/drivers/usb/musb/omap2430.c
> +++ b/drivers/usb/musb/omap2430.c
> @@ -246,6 +246,9 @@ int __init musb_platform_init(struct musb *musb)
>  
>  int musb_platform_suspend(struct musb *musb)
>  {
> +	if (!musb->clock)
> +		return 0;
> +
>  	/* in any role */
>  	OTG_FORCESTDBY_REG &= ~ENABLEFORCE; /* disable MSTANDBY */
>  	OTG_SYSCONFIG_REG &= FORCESTDBY;	/* enable force standby */
> @@ -257,14 +260,27 @@ int musb_platform_suspend(struct musb *musb)
>  	if (musb->xceiv.set_suspend)
>  		musb->xceiv.set_suspend(&musb->xceiv, 1);
>  
> +	if (musb->set_clock)
> +		musb->set_clock(musb->clock, 0);
> +	else
> +		clk_disable(musb->clock);
> +
>  	return 0;
>  }
>  
>  int musb_platform_resume(struct musb *musb)
>  {
> +	if (!musb->clock)
> +		return 0;
> +
>  	if (musb->xceiv.set_suspend)
>  		musb->xceiv.set_suspend(&musb->xceiv, 0);
>  
> +	if (musb->set_clock)
> +		musb->set_clock(musb->clock, 1);
> +	else
> +		clk_enable(musb->clock);
> +
>  	OTG_FORCESTDBY_REG &= ~ENABLEFORCE; /* disable MSTANDBY */
>  	OTG_SYSCONFIG_REG |= SMARTSTDBY;	/* enable smart standby */
>  	OTG_SYSCONFIG_REG &= ~AUTOIDLE;		/* disable auto idle */
> -- 
> 1.5.5.rc2.25.g5fbd
> 
> 
> 
> -- 
> 	- Balbi
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Arm (vger)]     [ARM Kernel]     [ARM MSM]     [Linux Tegra]     [Linux WPAN Networking]     [Linux Wireless Networking]     [Maemo Users]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux