summaryrefslogtreecommitdiff
path: root/drivers/i2c
diff options
context:
space:
mode:
authorJubeom Kim <jubeomk@nvidia.com>2011-03-17 23:03:07 +0900
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 00:49:07 -0700
commitfe8df6a4c6e9bfc3d7695947096fd73f2e9cf691 (patch)
tree3e5e702af5f0602ad6857ddad10b7ef8e6483cf2 /drivers/i2c
parentde1720d8f6147484d41895efbe09634909e2fd3d (diff)
i2c-tegra: Using suspend_noirq()/resume_noirq() for suspend/resume.
I2C driver needs to be suspended late and resumed early than other drivers. So, I2C driver uses the suspend_noirq/resume_noirq callbacks of struct dev_pm_ops for early/late power management system. Original-Change-Id: Ie2f453b96fb9ab9b16cafec79644fe5d3b982dd3 Reviewed-on: http://git-master/r/23347 Tested-by: Jubeom Kim <jubeomk@nvidia.com> Reviewed-by: Jinyoung Park <jinyoungp@nvidia.com> Reviewed-by: Varun Wadekar <vwadekar@nvidia.com> Reviewed-by: Mayuresh Kulkarni <mkulkarni@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Rebase-Id: R1126fb1683ac4f9138763e7981a0e36769f14738
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/busses/i2c-tegra.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index 6023f0d572a0..0fc903e834ab 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -855,7 +855,7 @@ static int tegra_i2c_remove(struct platform_device *pdev)
}
#ifdef CONFIG_PM_SLEEP
-static int tegra_i2c_suspend(struct device *dev)
+static int tegra_i2c_suspend_noirq(struct device *dev)
{
struct tegra_i2c_dev *i2c_dev = dev_get_drvdata(dev);
@@ -866,7 +866,7 @@ static int tegra_i2c_suspend(struct device *dev)
return 0;
}
-static int tegra_i2c_resume(struct device *dev)
+static int tegra_i2c_resume_noirq(struct device *dev)
{
struct tegra_i2c_dev *i2c_dev = dev_get_drvdata(dev);
int ret;
@@ -887,7 +887,10 @@ static int tegra_i2c_resume(struct device *dev)
return 0;
}
-static SIMPLE_DEV_PM_OPS(tegra_i2c_pm, tegra_i2c_suspend, tegra_i2c_resume);
+static const struct dev_pm_ops tegra_i2c_pm = {
+ .suspend_noirq = tegra_i2c_suspend_noirq,
+ .resume_noirq = tegra_i2c_resume_noirq,
+};
#define TEGRA_I2C_PM (&tegra_i2c_pm)
#else
#define TEGRA_I2C_PM NULL