[PATCH] mfd: Disable more pulls on WM8994

November 03rd, 2011 - 08:50 am ET by Mark Brown | Report spam
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>

drivers/mfd/wm8994-core.c | 11 ++++++++
include/linux/mfd/wm8994/pdata.h | 6 ++++++
2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c
index 772027d..fe7f071 100644
a/drivers/mfd/wm8994-core.c
+++ b/drivers/mfd/wm8994-core.c
@@ -337,6 +337,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;

dev_set_drvdata(wm8994->dev, wm8994);

@@ -479,12 +480,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
diff --git a/include/linux/mfd/wm8994/pdata.h b/include/linux/mfd/wm8994/pdata.h
index ea32f30..54e2fef 100644
a/include/linux/mfd/wm8994/pdata.h
+++ b/include/linux/mfd/wm8994/pdata.h
@@ -174,6 +174,12 @@ struct wm8994_pdata {
* consumption will rise.
*/
bool ldo_ena_always_driven;
+
+ /*
+ * SPKMODE must be pulled internally by the device on this
+ * system.
+ */
+ bool spkmode_pu;
};

#endif
1.7.7.1

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
email Follow the discussionReplies 1 replyReplies Make a reply

Replies

#1 Samuel Ortiz
November 13th, 2011 - 07:20 pm ET | Report spam
Hi Mark,

On Thu, Nov 03, 2011 at 01:41:14PM +0000, Mark Brown wrote:
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.


All right, patch applied.

Cheers,
Samuel.

Intel Open Source Technology Centre
http://oss.intel.com/
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

Similar topics