Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a6b3db2c authored by Vaishali Thakkar's avatar Vaishali Thakkar Committed by Mark Brown
Browse files

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: default avatarVaishali Thakkar <vthakkar1994@gmail.com>
Acked-by: default avatarCharles 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: default avatarMark Brown <broonie@kernel.org>
parent 97bf6af1
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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;