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

Commit 1222de7c authored by Paul Mundt's avatar Paul Mundt
Browse files

Merge branch 'sh/runtime-pm-misery' into sh-fixes-for-linus

parents db7eba29 5c2de444
Loading
Loading
Loading
Loading
+2 −10
Original line number Diff line number Diff line
@@ -24,7 +24,6 @@
#include <linux/ioport.h>
#include <linux/io.h>
#include <linux/clk.h>
#include <linux/pm_runtime.h>
#include <linux/irq.h>
#include <linux/err.h>
#include <linux/clocksource.h>
@@ -153,12 +152,10 @@ static int sh_cmt_enable(struct sh_cmt_priv *p, unsigned long *rate)
{
	int ret;

	/* wake up device and enable clock */
	pm_runtime_get_sync(&p->pdev->dev);
	/* enable clock */
	ret = clk_enable(p->clk);
	if (ret) {
		dev_err(&p->pdev->dev, "cannot enable clock\n");
		pm_runtime_put_sync(&p->pdev->dev);
		return ret;
	}

@@ -190,9 +187,8 @@ static void sh_cmt_disable(struct sh_cmt_priv *p)
	/* disable interrupts in CMT block */
	sh_cmt_write(p, CMCSR, 0);

	/* stop clock and mark device as idle */
	/* stop clock */
	clk_disable(p->clk);
	pm_runtime_put_sync(&p->pdev->dev);
}

/* private flags */
@@ -664,7 +660,6 @@ static int __devinit sh_cmt_probe(struct platform_device *pdev)

	if (p) {
		dev_info(&pdev->dev, "kept as earlytimer\n");
		pm_runtime_enable(&pdev->dev);
		return 0;
	}

@@ -679,9 +674,6 @@ static int __devinit sh_cmt_probe(struct platform_device *pdev)
		kfree(p);
		platform_set_drvdata(pdev, NULL);
	}

	if (!is_early_platform_device(pdev))
		pm_runtime_enable(&pdev->dev);
	return ret;
}

+2 −10
Original line number Diff line number Diff line
@@ -25,7 +25,6 @@
#include <linux/delay.h>
#include <linux/io.h>
#include <linux/clk.h>
#include <linux/pm_runtime.h>
#include <linux/irq.h>
#include <linux/err.h>
#include <linux/clocksource.h>
@@ -110,12 +109,10 @@ static int sh_tmu_enable(struct sh_tmu_priv *p)
{
	int ret;

	/* wake up device and enable clock */
	pm_runtime_get_sync(&p->pdev->dev);
	/* enable clock */
	ret = clk_enable(p->clk);
	if (ret) {
		dev_err(&p->pdev->dev, "cannot enable clock\n");
		pm_runtime_put_sync(&p->pdev->dev);
		return ret;
	}

@@ -144,9 +141,8 @@ static void sh_tmu_disable(struct sh_tmu_priv *p)
	/* disable interrupts in TMU block */
	sh_tmu_write(p, TCR, 0x0000);

	/* stop clock and mark device as idle */
	/* stop clock */
	clk_disable(p->clk);
	pm_runtime_put_sync(&p->pdev->dev);
}

static void sh_tmu_set_next(struct sh_tmu_priv *p, unsigned long delta,
@@ -415,7 +411,6 @@ static int __devinit sh_tmu_probe(struct platform_device *pdev)

	if (p) {
		dev_info(&pdev->dev, "kept as earlytimer\n");
		pm_runtime_enable(&pdev->dev);
		return 0;
	}

@@ -430,9 +425,6 @@ static int __devinit sh_tmu_probe(struct platform_device *pdev)
		kfree(p);
		platform_set_drvdata(pdev, NULL);
	}

	if (!is_early_platform_device(pdev))
		pm_runtime_enable(&pdev->dev);
	return ret;
}

+6 −1
Original line number Diff line number Diff line
@@ -1144,6 +1144,8 @@ static int __init sh_dmae_probe(struct platform_device *pdev)
	/* platform data */
	shdev->pdata = pdata;

	platform_set_drvdata(pdev, shdev);

	pm_runtime_enable(&pdev->dev);
	pm_runtime_get_sync(&pdev->dev);

@@ -1256,7 +1258,6 @@ static int __init sh_dmae_probe(struct platform_device *pdev)

	pm_runtime_put(&pdev->dev);

	platform_set_drvdata(pdev, shdev);
	dma_async_device_register(&shdev->common);

	return err;
@@ -1278,6 +1279,8 @@ static int __init sh_dmae_probe(struct platform_device *pdev)

	if (dmars)
		iounmap(shdev->dmars);

	platform_set_drvdata(pdev, NULL);
emapdmars:
	iounmap(shdev->chan_reg);
	synchronize_rcu();
@@ -1316,6 +1319,8 @@ static int __exit sh_dmae_remove(struct platform_device *pdev)
		iounmap(shdev->dmars);
	iounmap(shdev->chan_reg);

	platform_set_drvdata(pdev, NULL);

	synchronize_rcu();
	kfree(shdev);