Skip to content

Commit

Permalink
USB: musb: pm: don't rely fully on clock support
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Bob Liu authored and Felipe Balbi committed Nov 5, 2010
1 parent 5d726f5 commit 32d5dc9
Showing 1 changed file with 12 additions and 14 deletions.
26 changes: 12 additions & 14 deletions drivers/usb/musb/musb_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)) {
Expand All @@ -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;
}
Expand All @@ -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);

Expand Down

0 comments on commit 32d5dc9

Please sign in to comment.