[alsa-devel] [PATCH] ASoC: wm5102: Use put_unaligned_be16

Vaishali Thakkar vthakkar1994 at gmail.com
Sun Dec 28 12:05:00 CET 2014


On Fri, Dec 26, 2014 at 10:14 AM, Vaishali Thakkar
<vthakkar1994 at gmail.com> wrote:
> 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 at gmail.com>
> ---
>  sound/soc/codecs/wm5102.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/sound/soc/codecs/wm5102.c b/sound/soc/codecs/wm5102.c
> index f602349..fec21f9 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,11 @@ 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(&codec->mutex);
> -       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(&codec->mutex);
>
>         return 0;
> --
> 1.9.1
>

Hello...Can someone please review my patch so that I can have idea
about I am on a right way or not??
I think this is missed by developers.

Thank You.

-- 
Vaishali


More information about the Alsa-devel mailing list