Commit b3f5525c authored by avinash philip's avatar avinash philip Committed by Tony Lindgren
Browse files

ARM: OMAP2+: gpmc: Converts GPMC driver to pm_runtime capable



Support for pm_runtime add to GPMC driver.

Signed-off-by: default avatarPhilip Avinash <avinashphilip@ti.com>
Signed-off-by: default avatarPekon Gupta <pekon@ti.com>
Signed-off-by: default avatarTony Lindgren <tony@atomide.com>
parent f34f3716
Loading
Loading
Loading
Loading
+6 −2
Original line number Diff line number Diff line
@@ -30,6 +30,7 @@
#include <linux/of_mtd.h>
#include <linux/of_device.h>
#include <linux/mtd/nand.h>
#include <linux/pm_runtime.h>

#include <linux/platform_data/mtd-nand-omap2.h>

@@ -1608,7 +1609,8 @@ static int gpmc_probe(struct platform_device *pdev)
		return PTR_ERR(gpmc_l3_clk);
	}

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

	gpmc_dev = &pdev->dev;

@@ -1648,7 +1650,7 @@ static int gpmc_probe(struct platform_device *pdev)

	rc = gpmc_probe_dt(pdev);
	if (rc < 0) {
		clk_disable_unprepare(gpmc_l3_clk);
		pm_runtime_put_sync(&pdev->dev);
		clk_put(gpmc_l3_clk);
		dev_err(gpmc_dev, "failed to probe DT parameters\n");
		return rc;
@@ -1661,6 +1663,8 @@ static int gpmc_remove(struct platform_device *pdev)
{
	gpmc_free_irq();
	gpmc_mem_exit();
	pm_runtime_put_sync(&pdev->dev);
	pm_runtime_disable(&pdev->dev);
	gpmc_dev = NULL;
	return 0;
}