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:
parent
5d726f5add
commit
32d5dc9520
1 changed files with 12 additions and 14 deletions
|
@ -2410,9 +2410,6 @@ static int musb_suspend(struct device *dev)
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
struct musb *musb = dev_to_musb(&pdev->dev);
|
struct musb *musb = dev_to_musb(&pdev->dev);
|
||||||
|
|
||||||
if (!musb->clock)
|
|
||||||
return 0;
|
|
||||||
|
|
||||||
spin_lock_irqsave(&musb->lock, flags);
|
spin_lock_irqsave(&musb->lock, flags);
|
||||||
|
|
||||||
if (is_peripheral_active(musb)) {
|
if (is_peripheral_active(musb)) {
|
||||||
|
@ -2427,10 +2424,12 @@ static int musb_suspend(struct device *dev)
|
||||||
|
|
||||||
musb_save_context(musb);
|
musb_save_context(musb);
|
||||||
|
|
||||||
if (musb->set_clock)
|
if (musb->clock) {
|
||||||
musb->set_clock(musb->clock, 0);
|
if (musb->set_clock)
|
||||||
else
|
musb->set_clock(musb->clock, 0);
|
||||||
clk_disable(musb->clock);
|
else
|
||||||
|
clk_disable(musb->clock);
|
||||||
|
}
|
||||||
spin_unlock_irqrestore(&musb->lock, flags);
|
spin_unlock_irqrestore(&musb->lock, flags);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -2440,13 +2439,12 @@ static int musb_resume_noirq(struct device *dev)
|
||||||
struct platform_device *pdev = to_platform_device(dev);
|
struct platform_device *pdev = to_platform_device(dev);
|
||||||
struct musb *musb = dev_to_musb(&pdev->dev);
|
struct musb *musb = dev_to_musb(&pdev->dev);
|
||||||
|
|
||||||
if (!musb->clock)
|
if (musb->clock) {
|
||||||
return 0;
|
if (musb->set_clock)
|
||||||
|
musb->set_clock(musb->clock, 1);
|
||||||
if (musb->set_clock)
|
else
|
||||||
musb->set_clock(musb->clock, 1);
|
clk_enable(musb->clock);
|
||||||
else
|
}
|
||||||
clk_enable(musb->clock);
|
|
||||||
|
|
||||||
musb_restore_context(musb);
|
musb_restore_context(musb);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue