Re: [PATCH] ASoC: constify snd_soc_codec_driver structures

From: Charles Keepax
Date: Thu Sep 01 2016 - 05:47:22 EST


On Wed, Aug 31, 2016 at 11:52:27PM +0200, Julia Lawall wrote:
> Check for snd_soc_codec_driver structures that are only passed to
> snd_soc_register_codec or memcpy (2nd arg), for which the corresponding
> parameters are declared const. Declare as const snd_soc_codec_driver
> structures that have these properties.
>
> The semantic patch that makes this change is as follows:
> (http://coccinelle.lip6.fr/)
>
> // <smpl>
> @r disable optional_qualifier@
> identifier i;
> position p;
> @@
> static struct snd_soc_codec_driver i@p = { ... };
>
> @ok@
> identifier r.i;
> expression e1,e2,e3;
> position p;
> @@
> (
> snd_soc_register_codec(e1,&i@p,e2,e3)
> |
> memcpy(e1,&i@p,e2)
> )
>
> @bad@
> position p != {r.p,ok.p};
> identifier r.i;
> @@
> i@p
>
> @depends on !bad disable optional_qualifier@
> identifier r.i;
> @@
> static
> +const
> struct snd_soc_codec_driver i = { ... };
> // </smpl>
>
> Signed-off-by: Julia Lawall <Julia.Lawall@xxxxxxx>
>
> ---

I haven't looked at every single case individually, but the ones
I have looked at look fine.

Acked-by: Charles Keepax <ckeepax@xxxxxxxxxxxxxxxxxxxxxxxxxxx>

Thanks,
Charles