summaryrefslogtreecommitdiff
path: root/drivers/i2c
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2014-02-03 17:51:56 +0530
committerLaxman Dewangan <ldewangan@nvidia.com>2014-02-05 07:31:37 -0800
commit2da5f80109360a09277920ba6dd8ebb01e27c8e0 (patch)
tree50ee2fb4f53996f0314ef08054976b10855f2f13 /drivers/i2c
parent463839ae99e2692f8f626a939f8f1e87ec7cb603 (diff)
i2c: tegra: call adapter lock in shutdown callback
Call the adapter shutdown to cancel any further i2c transfer from shutdown callback. This will be require to stop any transfer on bus after shutdown happen. Bug 1443347 Change-Id: I4bf7de911c76b1c0032f1d82ffd956a099351cd8 Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-on: http://git-master/r/362874 (cherry picked from commit 2376afbfd638fbe37d61158154dc8ba85a099b31) Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com> Change-Id: I72437b5b53e14926fa1652c5df34ab7efa93f46a Reviewed-on: http://git-master/r/363716
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/busses/i2c-tegra.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-tegra.c b/drivers/i2c/busses/i2c-tegra.c
index 40dc68fcb678..7db71537c2cf 100644
--- a/drivers/i2c/busses/i2c-tegra.c
+++ b/drivers/i2c/busses/i2c-tegra.c
@@ -1607,7 +1607,11 @@ static void tegra_i2c_shutdown(struct platform_device *pdev)
{
struct tegra_i2c_dev *i2c_dev = platform_get_drvdata(pdev);
- i2c_dev->is_shutdown = true;
+ if (i2c_dev->bit_banging_xfer_after_shutdown) {
+ dev_info(i2c_dev->dev, "Bus is shutdown down..\n");
+ i2c_shutdown_adapter(&i2c_dev->adapter);
+ i2c_dev->is_shutdown = true;
+ }
}
#ifdef CONFIG_PM_SLEEP