Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 32d5dc95 authored by Bob Liu's avatar Bob Liu Committed by Felipe Balbi
Browse files

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: default avatarBob Liu <lliubbo@gmail.com>
Signed-off-by: default avatarMike Frysinger <vapier@gentoo.org>
Signed-off-by: default avatarFelipe Balbi <balbi@ti.com>
parent 5d726f5a
Loading
Loading
Loading
Loading
+12 −14
Original line number Original line Diff line number Diff line
@@ -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->clock) {
		if (musb->set_clock)
		if (musb->set_clock)
			musb->set_clock(musb->clock, 0);
			musb->set_clock(musb->clock, 0);
		else
		else
			clk_disable(musb->clock);
			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)
		if (musb->set_clock)
			musb->set_clock(musb->clock, 1);
			musb->set_clock(musb->clock, 1);
		else
		else
			clk_enable(musb->clock);
			clk_enable(musb->clock);
	}


	musb_restore_context(musb);
	musb_restore_context(musb);