Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1501301 > unrolled thread

[PATCH 2/7] ASoC: atmel_wm8904: constify snd_soc_ops structures

Started byJulia Lawall <Julia.Lawall@lip6.fr>
First post2016-10-15 17:20 +0200
Last post2016-10-24 20:10 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  [PATCH 2/7] ASoC: atmel_wm8904: constify snd_soc_ops structures Julia Lawall <Julia.Lawall@lip6.fr> - 2016-10-15 17:20 +0200
    Re: [PATCH 2/7] ASoC: atmel_wm8904: constify snd_soc_ops structures Nicolas Ferre <nicolas.ferre@atmel.com> - 2016-10-18 10:20 +0200
    Applied "ASoC: atmel_wm8904: constify snd_soc_ops structures" to the asoc tree Mark Brown <broonie@kernel.org> - 2016-10-24 20:10 +0200

#1501301 — [PATCH 2/7] ASoC: atmel_wm8904: constify snd_soc_ops structures

FromJulia Lawall <Julia.Lawall@lip6.fr>
Date2016-10-15 17:20 +0200
Subject[PATCH 2/7] ASoC: atmel_wm8904: constify snd_soc_ops structures
Message-ID<ssyUF-Tt-5@gated-at.bofh.it>
Check for snd_soc_ops structures that are only stored in the ops field of a
snd_soc_dai_link structure.  This field is declared const, so snd_soc_ops
structures that have this property can be declared as const also.

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_ops i@p = { ... };

@ok1@
identifier r.i;
struct snd_soc_dai_link e;
position p;
@@
e.ops = &i@p;

@ok2@
identifier r.i, e;
position p;
@@
struct snd_soc_dai_link e[] = { ..., { .ops = &i@p, }, ..., };

@bad@
position p != {r.p,ok1.p,ok2.p};
identifier r.i;
struct snd_soc_ops e;
@@
e@i@p

@depends on !bad disable optional_qualifier@
identifier r.i;
@@
static
+const
 struct snd_soc_ops i = { ... };
// </smpl>

The effect on the layout of the .o file is shown by the following output of
the size command, first before then after the transformation:

   text    data     bss     dec     hex filename
   2611    1536       0    4147    1033 sound/soc/atmel/atmel_wm8904.o
   2675    1480       0    4155    103b sound/soc/atmel/atmel_wm8904.o

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>

---
 sound/soc/atmel/atmel_wm8904.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -u -p a/sound/soc/atmel/atmel_wm8904.c b/sound/soc/atmel/atmel_wm8904.c
--- a/sound/soc/atmel/atmel_wm8904.c
+++ b/sound/soc/atmel/atmel_wm8904.c
@@ -53,7 +53,7 @@ static int atmel_asoc_wm8904_hw_params(s
 	return 0;
 }
 
-static struct snd_soc_ops atmel_asoc_wm8904_ops = {
+static const struct snd_soc_ops atmel_asoc_wm8904_ops = {
 	.hw_params = atmel_asoc_wm8904_hw_params,
 };
 

[toc] | [next] | [standalone]


#1502782

FromNicolas Ferre <nicolas.ferre@atmel.com>
Date2016-10-18 10:20 +0200
Message-ID<stxMR-7wa-11@gated-at.bofh.it>
In reply to#1501301
Le 15/10/2016 à 16:55, Julia Lawall a écrit :
> Check for snd_soc_ops structures that are only stored in the ops field of a
> snd_soc_dai_link structure.  This field is declared const, so snd_soc_ops
> structures that have this property can be declared as const also.
> 
> 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_ops i@p = { ... };
> 
> @ok1@
> identifier r.i;
> struct snd_soc_dai_link e;
> position p;
> @@
> e.ops = &i@p;
> 
> @ok2@
> identifier r.i, e;
> position p;
> @@
> struct snd_soc_dai_link e[] = { ..., { .ops = &i@p, }, ..., };
> 
> @bad@
> position p != {r.p,ok1.p,ok2.p};
> identifier r.i;
> struct snd_soc_ops e;
> @@
> e@i@p
> 
> @depends on !bad disable optional_qualifier@
> identifier r.i;
> @@
> static
> +const
>  struct snd_soc_ops i = { ... };
> // </smpl>
> 
> The effect on the layout of the .o file is shown by the following output of
> the size command, first before then after the transformation:
> 
>    text    data     bss     dec     hex filename
>    2611    1536       0    4147    1033 sound/soc/atmel/atmel_wm8904.o
>    2675    1480       0    4155    103b sound/soc/atmel/atmel_wm8904.o
> 
> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>

Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>

Thanks,

> 
> ---
>  sound/soc/atmel/atmel_wm8904.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff -u -p a/sound/soc/atmel/atmel_wm8904.c b/sound/soc/atmel/atmel_wm8904.c
> --- a/sound/soc/atmel/atmel_wm8904.c
> +++ b/sound/soc/atmel/atmel_wm8904.c
> @@ -53,7 +53,7 @@ static int atmel_asoc_wm8904_hw_params(s
>  	return 0;
>  }
>  
> -static struct snd_soc_ops atmel_asoc_wm8904_ops = {
> +static const struct snd_soc_ops atmel_asoc_wm8904_ops = {
>  	.hw_params = atmel_asoc_wm8904_hw_params,
>  };
>  
> 
> 


-- 
Nicolas Ferre

[toc] | [prev] | [next] | [standalone]


#1507540 — Applied "ASoC: atmel_wm8904: constify snd_soc_ops structures" to the asoc tree

FromMark Brown <broonie@kernel.org>
Date2016-10-24 20:10 +0200
SubjectApplied "ASoC: atmel_wm8904: constify snd_soc_ops structures" to the asoc tree
Message-ID<svRRa-2Kt-115@gated-at.bofh.it>
In reply to#1501301
The patch

   ASoC: atmel_wm8904: constify snd_soc_ops structures

has been applied to the asoc tree at

   git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git 

All being well this means that it will be integrated into the linux-next
tree (usually sometime in the next 24 hours) and sent to Linus during
the next merge window (or sooner if it is a bug fix), however if
problems are discovered then the patch may be dropped or reverted.  

You may get further e-mails resulting from automated or manual testing
and review of the tree, please engage with people reporting problems and
send followup patches addressing any issues that are reported if needed.

If any updates are required or you are submitting further changes they
should be sent as incremental updates against current git, existing
patches will not be replaced.

Please add any relevant lists and maintainers to the CCs when replying
to this mail.

Thanks,
Mark

From 28549313da65cc8711401ee5466c526bd67de5f1 Mon Sep 17 00:00:00 2001
From: Julia Lawall <Julia.Lawall@lip6.fr>
Date: Sat, 15 Oct 2016 16:55:46 +0200
Subject: [PATCH] ASoC: atmel_wm8904: constify snd_soc_ops structures

Check for snd_soc_ops structures that are only stored in the ops field of a
snd_soc_dai_link structure.  This field is declared const, so snd_soc_ops
structures that have this property can be declared as const also.

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_ops i@p = { ... };

@ok1@
identifier r.i;
struct snd_soc_dai_link e;
position p;
@@
e.ops = &i@p;

@ok2@
identifier r.i, e;
position p;
@@
struct snd_soc_dai_link e[] = { ..., { .ops = &i@p, }, ..., };

@bad@
position p != {r.p,ok1.p,ok2.p};
identifier r.i;
struct snd_soc_ops e;
@@
e@i@p

@depends on !bad disable optional_qualifier@
identifier r.i;
@@
static
+const
 struct snd_soc_ops i = { ... };
// </smpl>

The effect on the layout of the .o file is shown by the following output of
the size command, first before then after the transformation:

   text    data     bss     dec     hex filename
   2611    1536       0    4147    1033 sound/soc/atmel/atmel_wm8904.o
   2675    1480       0    4155    103b sound/soc/atmel/atmel_wm8904.o

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
---
 sound/soc/atmel/atmel_wm8904.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/atmel/atmel_wm8904.c b/sound/soc/atmel/atmel_wm8904.c
index fdd28ed3e0b9..fbc10f61eb55 100644
--- a/sound/soc/atmel/atmel_wm8904.c
+++ b/sound/soc/atmel/atmel_wm8904.c
@@ -53,7 +53,7 @@ static int atmel_asoc_wm8904_hw_params(struct snd_pcm_substream *substream,
 	return 0;
 }
 
-static struct snd_soc_ops atmel_asoc_wm8904_ops = {
+static const struct snd_soc_ops atmel_asoc_wm8904_ops = {
 	.hw_params = atmel_asoc_wm8904_hw_params,
 };
 
-- 
2.8.1

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web