Re: [PATCH RESEND] usb: otg: OMAP4: Fix the omap4430_phy_set_clk function

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

 



Hi,

On Mon, Jul 02, 2012 at 08:10:49PM +0300, Ruslan Bilovol wrote:
> Hi,
> 
> 
> On Mon, Jul 2, 2012 at 11:13 AM, Felipe Balbi <balbi@xxxxxx> wrote:
> >
> > Hi,
> >
> > On Tue, Jun 12, 2012 at 08:36:21PM +0300, Ruslan Bilovol wrote:
> > > If the clocks are enabled and we want to enable them again
> > > omap4430_phy_set_clk disables them.
> > >
> > > Fix this - so now if we try to enable already enabled clocks
> > > it works correctly.
> > >
> > > Signed-off-by: Ruslan Bilovol <ruslan.bilovol@xxxxxx>
> > > ---
> > >  arch/arm/mach-omap2/omap_phy_internal.c |    2 +-
> > >  1 files changed, 1 insertions(+), 1 deletions(-)
> > >
> > > diff --git a/arch/arm/mach-omap2/omap_phy_internal.c
> > > b/arch/arm/mach-omap2/omap_phy_internal.c
> > > index 4c90477..0196683 100644
> > > --- a/arch/arm/mach-omap2/omap_phy_internal.c
> > > +++ b/arch/arm/mach-omap2/omap_phy_internal.c
> > > @@ -97,7 +97,7 @@ int omap4430_phy_set_clk(struct device *dev, int on)
> > >               clk_enable(clk48m);
> > >               clk_enable(clk32k);
> > >               state = 1;
> > > -     } else if (state) {
> > > +     } else if (!on && state) {
> >
> > why don't you let clocks be enabled twice then ? That would cut down the
> > churn.
> 
> Currently we have unbalanced call of this function.
> I meet first during musb initialization - it tries to disable the phy
> that leads to disabling already disabled clocks.
> Next goal is to use internal clocks counter and to throw static
> variable 'state'.

don't even go that way... what you need is to fix the unbalanced calls
instead of hacking around some generic API.

-- 
balbi

Attachment: signature.asc
Description: Digital signature


[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