> -----Original Message----- > From: Felipe Balbi [mailto:felipe.balbi@xxxxxxxxx] > Sent: Tuesday, December 15, 2009 2:39 PM > To: Greg Kroah-Hartman > Cc: Linux USB Mailing List; David Brownell; Gadiyar, Anand; Gupta, Ajay > Kumar; Arnaud Mandy; Heikki Krogerus; Felipe Balbi > Subject: [patch-v2.6.32+ 3/8] usb: musb: get rid of musb->set_clock > > ... and use clk framework functions only. > > Signed-off-by: Felipe Balbi <felipe.balbi@xxxxxxxxx> > --- > drivers/usb/musb/musb_core.c | 12 +++--------- > drivers/usb/musb/musb_core.h | 2 -- > drivers/usb/musb/omap2430.c | 10 ++-------- > drivers/usb/musb/tusb6010.c | 16 ++++++---------- > 4 files changed, 11 insertions(+), 29 deletions(-) > > diff --git a/drivers/usb/musb/musb_core.c b/drivers/usb/musb/musb_core.c > index 6c65cf4..f5fadf7 100644 > --- a/drivers/usb/musb/musb_core.c > +++ b/drivers/usb/musb/musb_core.c > @@ -1907,7 +1907,6 @@ bad_config: > spin_lock_init(&musb->lock); > musb->board_mode = plat->mode; > musb->board_set_power = plat->set_power; > - musb->set_clock = plat->set_clock; > musb->min_power = plat->min_power; > > /* Clock usage is chip-specific ... functional clock (DaVinci, > @@ -2159,11 +2158,9 @@ static int musb_suspend(struct device *dev) > */ > } > > - if (musb->set_clock) > - musb->set_clock(musb->clock, 0); > - else > - clk_disable(musb->clock); > + clk_disable(musb->clock); > spin_unlock_irqrestore(&musb->lock, flags); > + > return 0; > } > > @@ -2175,10 +2172,7 @@ static int musb_resume_noirq(struct device *dev) > if (!musb->clock) > return 0; > > - if (musb->set_clock) > - musb->set_clock(musb->clock, 1); > - else > - clk_enable(musb->clock); > + clk_enable(musb->clock); > > /* for static cmos like DaVinci, register values were preserved > * unless for some reason the whole soc powered down or the USB > diff --git a/drivers/usb/musb/musb_core.h b/drivers/usb/musb/musb_core.h > index 2ac0e6f..4a43a32 100644 > --- a/drivers/usb/musb/musb_core.h > +++ b/drivers/usb/musb/musb_core.h > @@ -394,8 +394,6 @@ struct musb { > u8 board_mode; /* enum musb_mode */ > int (*board_set_power)(int state); > > - int (*set_clock)(struct clk *clk, int is_active); > - I don't see any patch to fix compilation error in arch/arm/mach-omap2/ usb-musb.c due to this removal. Similarly it would cause compilation error in davinci and Blackfin if They are using set_clock(). -Ajay > u8 min_power; /* vbus for periph, in mA/2 */ > > bool is_host; > diff --git a/drivers/usb/musb/omap2430.c b/drivers/usb/musb/omap2430.c > index 83beeac..b8e2451 100644 > --- a/drivers/usb/musb/omap2430.c > +++ b/drivers/usb/musb/omap2430.c > @@ -273,10 +273,7 @@ int musb_platform_suspend(struct musb *musb) > > otg_set_suspend(musb->xceiv, 1); > > - if (musb->set_clock) > - musb->set_clock(musb->clock, 0); > - else > - clk_disable(musb->clock); > + clk_disable(musb->clock); > > return 0; > } > @@ -290,10 +287,7 @@ static int musb_platform_resume(struct musb *musb) > > otg_set_suspend(musb->xceiv, 0); > > - if (musb->set_clock) > - musb->set_clock(musb->clock, 1); > - else > - clk_enable(musb->clock); > + clk_enable(musb->clock); > > l = omap_readl(OTG_SYSCONFIG); > l &= ~ENABLEWAKEUP; /* disable wakeup */ > diff --git a/drivers/usb/musb/tusb6010.c b/drivers/usb/musb/tusb6010.c > index 88b587c..67ba2b9 100644 > --- a/drivers/usb/musb/tusb6010.c > +++ b/drivers/usb/musb/tusb6010.c > @@ -279,12 +279,10 @@ static int tusb_draw_power(struct otg_transceiver > *x, unsigned mA) > * Keep clock active when enabled. Note that this is not tied to > * drawing VBUS, as with OTG mA can be less than musb->min_power. > */ > - if (musb->set_clock) { > - if (mA) > - musb->set_clock(musb->clock, 1); > - else > - musb->set_clock(musb->clock, 0); > - } > + if (mA) > + clk_enable(musb->clock); > + else > + clk_disable(musb->clock); > > /* tps65030 seems to consume max 100mA, with maybe 60mA available > * (measured on one board) for things other than tps and tusb. > @@ -531,8 +529,7 @@ static void tusb_source_power(struct musb *musb, int > is_on) > devctl = musb_readb(musb->mregs, MUSB_DEVCTL); > > if (is_on) { > - if (musb->set_clock) > - musb->set_clock(musb->clock, 1); > + clk_enable(musb->clock); > timer = OTG_TIMER_MS(OTG_TIME_A_WAIT_VRISE); > musb->xceiv->default_a = 1; > musb->xceiv->state = OTG_STATE_A_WAIT_VRISE; > @@ -571,8 +568,7 @@ static void tusb_source_power(struct musb *musb, int > is_on) > > devctl &= ~MUSB_DEVCTL_SESSION; > conf &= ~TUSB_DEV_CONF_USB_HOST_MODE; > - if (musb->set_clock) > - musb->set_clock(musb->clock, 0); > + clk_disable(musb->clock); > } > prcm &= ~(TUSB_PRCM_MNGMT_15_SW_EN | TUSB_PRCM_MNGMT_33_SW_EN); > > -- > 1.6.6.rc0 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html