summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVaishali Thakkar <vthakkar1994@gmail.com>2015-01-08 04:29:39 +0100
committerMark Brown <broonie@kernel.org>2015-01-08 19:06:54 +0100
commita6b3db2c837a2db359bf7f846346680883dbb032 (patch)
tree72bd88ec13a07a1c99e9bc1be76f6fd2c2d46baa
parentLinux 3.19-rc1 (diff)
downloadlinux-a6b3db2c837a2db359bf7f846346680883dbb032.tar.xz
linux-a6b3db2c837a2db359bf7f846346680883dbb032.zip
ASoC: wm5102: Use put_unaligned_be16
This patch introduces the use of function put_unaligned_be16. This is done using Coccinelle and semantic patch used is as follows: @a@ typedef u16, __be16, uint16_t; {u16,__be16,uint16_t} e16; identifier tmp; expression ptr; expression y,e; type T; @@ - tmp = cpu_to_be16(y); <+... when != tmp ( - memcpy(ptr, (T)&tmp, \(2\|sizeof(u16)\|sizeof(__be16)\|sizeof(uint16_t)\|sizeof(e16)\)); + put_unaligned_be16(y,ptr); | - memcpy(ptr, (T)&tmp, ...); + put_unaligned_be16(y,ptr); ) ...+> ? tmp = e @@ type T; identifier a.tmp; @@ - T tmp; ...when != tmp Signed-off-by: Vaishali Thakkar <vthakkar1994@gmail.com> Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> -- Changes Since v2: Make the patch compatible for current code sound/soc/codecs/wm5102.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) Signed-off-by: Mark Brown <broonie@kernel.org>
-rw-r--r--sound/soc/codecs/wm5102.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/soc/codecs/wm5102.c b/sound/soc/codecs/wm5102.c
index f439ae052128..7dbac8a98f6d 100644
--- a/sound/soc/codecs/wm5102.c
+++ b/sound/soc/codecs/wm5102.c
@@ -28,6 +28,7 @@
#include <linux/mfd/arizona/core.h>
#include <linux/mfd/arizona/registers.h>
+#include <asm/unaligned.h>
#include "arizona.h"
#include "wm5102.h"
@@ -617,11 +618,10 @@ static int wm5102_out_comp_coeff_get(struct snd_kcontrol *kcontrol,
{
struct snd_soc_codec *codec = snd_soc_kcontrol_codec(kcontrol);
struct arizona *arizona = dev_get_drvdata(codec->dev->parent);
- uint16_t data;
mutex_lock(&arizona->dac_comp_lock);
- data = cpu_to_be16(arizona->dac_comp_coeff);
- memcpy(ucontrol->value.bytes.data, &data, sizeof(data));
+ put_unaligned_be16(arizona->dac_comp_coeff,
+ ucontrol->value.bytes.data);
mutex_unlock(&arizona->dac_comp_lock);
return 0;