USB: musb: pm: don't rely fully on clock support

Since clock support is optional across processors, don't make the whole
musb pm paths depend upon it.  Just conditionalize the clock accesses.

Signed-off-by: Bob Liu <lliubbo@gmail.com>
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
Signed-off-by: Felipe Balbi <balbi@ti.com>
This commit is contained in:
Bob Liu 2010-10-23 05:11:58 -05:00 committed by Felipe Balbi
parent 5d726f5add
commit 32d5dc9520

View File

@ -2410,9 +2410,6 @@ static int musb_suspend(struct device *dev)
unsigned long flags;
struct musb *musb = dev_to_musb(&pdev->dev);
if (!musb->clock)
return 0;
spin_lock_irqsave(&musb->lock, flags);
if (is_peripheral_active(musb)) {
@ -2427,10 +2424,12 @@ static int musb_suspend(struct device *dev)
musb_save_context(musb);
if (musb->set_clock)
musb->set_clock(musb->clock, 0);
else
clk_disable(musb->clock);
if (musb->clock) {
if (musb->set_clock)
musb->set_clock(musb->clock, 0);
else
clk_disable(musb->clock);
}
spin_unlock_irqrestore(&musb->lock, flags);
return 0;
}
@ -2440,13 +2439,12 @@ static int musb_resume_noirq(struct device *dev)
struct platform_device *pdev = to_platform_device(dev);
struct musb *musb = dev_to_musb(&pdev->dev);
if (!musb->clock)
return 0;
if (musb->set_clock)
musb->set_clock(musb->clock, 1);
else
clk_enable(musb->clock);
if (musb->clock) {
if (musb->set_clock)
musb->set_clock(musb->clock, 1);
else
clk_enable(musb->clock);
}
musb_restore_context(musb);