aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-11-03 13:20:38 +0000
committerAndreas Blaesius <skate4life@gmx.de>2016-04-30 11:04:00 +0200
commit391441423a13b2c869da081c720bfce7435f18dc (patch)
tree8cb238a5b48164940f15b04be6e6fc594936f12c /drivers/mfd
parentdf1e6acfe072b32c19b2d883c4547e77bf6614b9 (diff)
downloadkernel_samsung_espresso10-391441423a13b2c869da081c720bfce7435f18dc.zip
kernel_samsung_espresso10-391441423a13b2c869da081c720bfce7435f18dc.tar.gz
kernel_samsung_espresso10-391441423a13b2c869da081c720bfce7435f18dc.tar.bz2
mfd: Disable more pulls on WM8994
Disable more pulls by default on WM8994 for a small current saving. Since some designs do leave SPKMODE floating provide platform data to allow that to be left enabled. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd')
-rw-r--r--drivers/mfd/wm8994-core.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c
index 4e83fa2..6b003e7 100644
--- a/drivers/mfd/wm8994-core.c
+++ b/drivers/mfd/wm8994-core.c
@@ -392,6 +392,7 @@ static int wm8994_device_init(struct wm8994 *wm8994, int irq)
struct wm8994_pdata *pdata = wm8994->dev->platform_data;
const char *devname;
int ret, i;
+ int pulls = 0;
mutex_init(&wm8994->io_lock);
dev_set_drvdata(wm8994->dev, wm8994);
@@ -516,12 +517,16 @@ static int wm8994_device_init(struct wm8994 *wm8994, int irq)
}
wm8994->ldo_ena_always_driven = pdata->ldo_ena_always_driven;
+
+ if (pdata->spkmode_pu)
+ pulls |= WM8994_SPKMODE_PU;
}
- /* Disable LDO pulldowns while the device is active */
+ /* Disable unneeded pulls */
wm8994_set_bits(wm8994, WM8994_PULL_CONTROL_2,
- WM8994_LDO1ENA_PD | WM8994_LDO2ENA_PD,
- 0);
+ WM8994_LDO1ENA_PD | WM8994_LDO2ENA_PD |
+ WM8994_SPKMODE_PU | WM8994_CSNADDR_PD,
+ pulls);
/* In some system designs where the regulators are not in use,
* we can achieve a small reduction in leakage currents by