Run the data through cpu_to_be16() so it's at least clear what we're up to.
Signed-off-by: Mark Brown broonie@opensource.wolfsonmicro.com --- sound/soc/soc-cache.c | 7 +++---- 1 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/sound/soc/soc-cache.c b/sound/soc/soc-cache.c index abdf8d1..a4b1f6c 100644 --- a/sound/soc/soc-cache.c +++ b/sound/soc/soc-cache.c @@ -107,12 +107,11 @@ static unsigned int snd_soc_7_9_read(struct snd_soc_codec *codec, static int snd_soc_7_9_write(struct snd_soc_codec *codec, unsigned int reg, unsigned int value) { - u8 data[2]; + u16 data;
- data[0] = (reg << 1) | ((value >> 8) & 0x0001); - data[1] = value & 0x00ff; + data = cpu_to_be16((reg << 9) | (value & 0x1ff));
- return do_hw_write(codec, reg, value, data, 2); + return do_hw_write(codec, reg, value, &data, 2); }
static int snd_soc_8_8_write(struct snd_soc_codec *codec, unsigned int reg,