diff options
author | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-03-10 13:54:07 +0000 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2011-03-23 10:42:07 +0100 |
commit | e93c53870c6d77c40de8981da238af947d6aa084 (patch) | |
tree | 4244c06a357838473962a59c199d012a846f22c0 /drivers/mfd/wm8994-core.c | |
parent | 09b034191acd1f95a749630fe366a84d3029930c (diff) | |
download | blackbird-op-linux-e93c53870c6d77c40de8981da238af947d6aa084.tar.gz blackbird-op-linux-e93c53870c6d77c40de8981da238af947d6aa084.zip |
mfd: Add WM8994 bulk register write operation
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd/wm8994-core.c')
-rw-r--r-- | drivers/mfd/wm8994-core.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/drivers/mfd/wm8994-core.c b/drivers/mfd/wm8994-core.c index e673bda21f5d..5220af26419e 100644 --- a/drivers/mfd/wm8994-core.c +++ b/drivers/mfd/wm8994-core.c @@ -138,6 +138,29 @@ int wm8994_reg_write(struct wm8994 *wm8994, unsigned short reg, EXPORT_SYMBOL_GPL(wm8994_reg_write); /** + * wm8994_bulk_write: Write multiple WM8994 registers + * + * @wm8994: Device to write to + * @reg: First register + * @count: Number of registers + * @buf: Buffer to write from. + */ +int wm8994_bulk_write(struct wm8994 *wm8994, unsigned short reg, + int count, u16 *buf) +{ + int ret; + + mutex_lock(&wm8994->io_lock); + + ret = wm8994_write(wm8994, reg, count * 2, buf); + + mutex_unlock(&wm8994->io_lock); + + return ret; +} +EXPORT_SYMBOL_GPL(wm8994_bulk_write); + +/** * wm8994_set_bits: Set the value of a bitfield in a WM8994 register * * @wm8994: Device to write to. |