summaryrefslogtreecommitdiff
path: root/drivers/mfd/palmas.c
diff options
context:
space:
mode:
authorMallikarjun Kasoju <mkasoju@nvidia.com>2012-09-21 13:08:56 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2013-09-14 12:36:15 -0700
commitb23c53b324f26e3ad1ef6189403cfcdaf9afff8d (patch)
treea668b88755559cdaaf213588332b945064d6de84 /drivers/mfd/palmas.c
parentdfd8b9abc66bbc888f019525fea2038a3d35671b (diff)
mfd: palmas: add power off functionality
Add power off functionality to turn off palmas PMU Bug 1051970 Reviewed-on: http://git-master/r/134297 (cherry picked from commit 25dfe79ea1203a4a8b4b6a232237d83a9070537f) Change-Id: I28a956320894ff036bf479faa9a31a3f2ae7cadf Signed-off-by: Mallikarjun Kasoju <mkasoju@nvidia.com> Signed-off-by: Deepak Nibade <dnibade@nvidia.com> Reviewed-on: http://git-master/r/143146 Reviewed-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Tested-by: Rohan Somvanshi <rsomvanshi@nvidia.com> Rebase-Id: R651e8c059039cd89116435ae085a9b49fda21d5f
Diffstat (limited to 'drivers/mfd/palmas.c')
-rw-r--r--drivers/mfd/palmas.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/mfd/palmas.c b/drivers/mfd/palmas.c
index 16237b8f25e1..cc2baee06947 100644
--- a/drivers/mfd/palmas.c
+++ b/drivers/mfd/palmas.c
@@ -519,6 +519,15 @@ static void palmas_dt_to_pdata(struct i2c_client *i2c,
palmas_set_pdata_irq_flag(i2c, pdata);
}
+static struct palmas *palmas_dev;
+static void palmas_power_off(void)
+{
+ if (!palmas_dev)
+ return;
+
+ palmas_control_update(palmas_dev, PALMAS_DEV_CTRL, 1, 0);
+}
+
static int palmas_i2c_probe(struct i2c_client *i2c,
const struct i2c_device_id *id)
{
@@ -726,6 +735,10 @@ static int palmas_i2c_probe(struct i2c_client *i2c,
if (ret < 0)
goto err_devices;
+ if (pdata->use_power_off && !pm_power_off)
+ pm_power_off = palmas_power_off;
+
+ palmas_dev = palmas;
return ret;
err_devices: