mfd: Add WM8994 bulk register write operation
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Thu, 10 Mar 2011 13:54:07 +0000 (13:54 +0000)
committerSamuel Ortiz <sameo@linux.intel.com>
Wed, 23 Mar 2011 09:42:07 +0000 (10:42 +0100)
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
drivers/mfd/wm8994-core.c
include/linux/mfd/wm8994/core.h

index e673bda21f5de261382c282caa43446789e82594..5220af26419e3dd7ea1b8f76b059b6e1b56dba57 100644 (file)
@@ -137,6 +137,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
  *
index ef4f0b6083a39ae55450a289cc70269df6937e62..cb7d3ae7da8ff61b2e6545070dc3fae2c97b3348 100644 (file)
@@ -88,6 +88,8 @@ int wm8994_set_bits(struct wm8994 *wm8994, unsigned short reg,
                    unsigned short mask, unsigned short val);
 int wm8994_bulk_read(struct wm8994 *wm8994, unsigned short reg,
                     int count, u16 *buf);
+int wm8994_bulk_write(struct wm8994 *wm8994, unsigned short reg,
+                    int count, u16 *buf);
 
 
 /* Helper to save on boilerplate */
This page took 0.041846 seconds and 5 git commands to generate.