[PATCH 7/7] ASoC: tegra: 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/) // @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 = @p; @ok2@ identifier r.i, e; position p; @@ struct snd_soc_dai_link e[] = { ..., { .ops = @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 = { ... }; // The effect on the layout of the .o files is shown by the following output of the size command, first before then after the transformation: textdata bss dec hex filename 31431888 38454151527 sound/soc/tegra/tegra_alc5632.o 31911840 38454151527 sound/soc/tegra/tegra_alc5632.o textdata bss dec hex filename 36722176 768661619d8 sound/soc/tegra/tegra_max98090.o 37202128 768661619d8 sound/soc/tegra/tegra_max98090.o textdata bss dec hex filename 27701856 38450101392 sound/soc/tegra/tegra_rt5640.o 28181808 38450101392 sound/soc/tegra/tegra_rt5640.o textdata bss dec hex filename 44122176 76873561cbc sound/soc/tegra/tegra_rt5677.o 44602128 76873561cbc sound/soc/tegra/tegra_rt5677.o textdata bss dec hex filename 24421536 03978 f8a sound/soc/tegra/tegra_sgtl5000.o 24901480 03970 f82 sound/soc/tegra/tegra_sgtl5000.o textdata bss dec hex filename 21051536 03641 e39 sound/soc/tegra/tegra_wm8753.o 21531480 03633 e31 sound/soc/tegra/tegra_wm8753.o textdata bss dec hex filename 37551888 7686411190b sound/soc/tegra/tegra_wm8903.o 38031840 7686411190b sound/soc/tegra/tegra_wm8903.o textdata bss dec hex filename 21211536 03657 e49 sound/soc/tegra/trimslice.o 21691480 03649 e41 sound/soc/tegra/trimslice.o Signed-off-by: Julia Lawall--- sound/soc/tegra/tegra_alc5632.c |2 +- sound/soc/tegra/tegra_max98090.c |2 +- sound/soc/tegra/tegra_rt5640.c |2 +- sound/soc/tegra/tegra_rt5677.c |2 +- sound/soc/tegra/tegra_sgtl5000.c |2 +- sound/soc/tegra/tegra_wm8753.c |2 +- sound/soc/tegra/tegra_wm8903.c |2 +- sound/soc/tegra/trimslice.c |2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff -u -p a/sound/soc/tegra/tegra_alc5632.c b/sound/soc/tegra/tegra_alc5632.c --- a/sound/soc/tegra/tegra_alc5632.c +++ b/sound/soc/tegra/tegra_alc5632.c @@ -65,7 +65,7 @@ static int tegra_alc5632_asoc_hw_params( return 0; } -static struct snd_soc_ops tegra_alc5632_asoc_ops = { +static const struct snd_soc_ops tegra_alc5632_asoc_ops = { .hw_params = tegra_alc5632_asoc_hw_params, }; diff -u -p a/sound/soc/tegra/tegra_max98090.c b/sound/soc/tegra/tegra_max98090.c --- a/sound/soc/tegra/tegra_max98090.c +++ b/sound/soc/tegra/tegra_max98090.c @@ -93,7 +93,7 @@ static int tegra_max98090_asoc_hw_params return 0; } -static struct snd_soc_ops tegra_max98090_ops = { +static const struct snd_soc_ops tegra_max98090_ops = { .hw_params = tegra_max98090_asoc_hw_params, }; diff -u -p a/sound/soc/tegra/tegra_rt5640.c b/sound/soc/tegra/tegra_rt5640.c --- a/sound/soc/tegra/tegra_rt5640.c +++ b/sound/soc/tegra/tegra_rt5640.c @@ -76,7 +76,7 @@ static int tegra_rt5640_asoc_hw_params(s return 0; } -static struct snd_soc_ops tegra_rt5640_ops = { +static const struct snd_soc_ops tegra_rt5640_ops = { .hw_params = tegra_rt5640_asoc_hw_params, }; diff -u -p a/sound/soc/tegra/tegra_rt5677.c b/sound/soc/tegra/tegra_rt5677.c --- a/sound/soc/tegra/tegra_rt5677.c +++ b/sound/soc/tegra/tegra_rt5677.c @@ -93,7 +93,7 @@ static int tegra_rt5677_event_hp(struct return 0; } -static struct snd_soc_ops tegra_rt5677_ops = { +static const struct snd_soc_ops tegra_rt5677_ops = { .hw_params = tegra_rt5677_asoc_hw_params, }; diff -u -p a/sound/soc/tegra/tegra_sgtl5000.c b/sound/soc/tegra/tegra_sgtl5000.c --- a/sound/soc/tegra/tegra_sgtl5000.c +++ b/sound/soc/tegra/tegra_sgtl5000.c @@ -82,7 +82,7 @@ static int tegra_sgtl5000_hw_params(stru return 0; } -static struct snd_soc_ops tegra_sgtl5000_ops = { +static const struct snd_soc_ops tegra_sgtl5000_ops = { .hw_params = tegra_sgtl5000_hw_params, }; diff -u -p a/sound/soc/tegra/tegra_wm8753.c
[PATCH 7/7] ASoC: tegra: 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/) // @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 = @p; @ok2@ identifier r.i, e; position p; @@ struct snd_soc_dai_link e[] = { ..., { .ops = @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 = { ... }; // The effect on the layout of the .o files is shown by the following output of the size command, first before then after the transformation: textdata bss dec hex filename 31431888 38454151527 sound/soc/tegra/tegra_alc5632.o 31911840 38454151527 sound/soc/tegra/tegra_alc5632.o textdata bss dec hex filename 36722176 768661619d8 sound/soc/tegra/tegra_max98090.o 37202128 768661619d8 sound/soc/tegra/tegra_max98090.o textdata bss dec hex filename 27701856 38450101392 sound/soc/tegra/tegra_rt5640.o 28181808 38450101392 sound/soc/tegra/tegra_rt5640.o textdata bss dec hex filename 44122176 76873561cbc sound/soc/tegra/tegra_rt5677.o 44602128 76873561cbc sound/soc/tegra/tegra_rt5677.o textdata bss dec hex filename 24421536 03978 f8a sound/soc/tegra/tegra_sgtl5000.o 24901480 03970 f82 sound/soc/tegra/tegra_sgtl5000.o textdata bss dec hex filename 21051536 03641 e39 sound/soc/tegra/tegra_wm8753.o 21531480 03633 e31 sound/soc/tegra/tegra_wm8753.o textdata bss dec hex filename 37551888 7686411190b sound/soc/tegra/tegra_wm8903.o 38031840 7686411190b sound/soc/tegra/tegra_wm8903.o textdata bss dec hex filename 21211536 03657 e49 sound/soc/tegra/trimslice.o 21691480 03649 e41 sound/soc/tegra/trimslice.o Signed-off-by: Julia Lawall --- sound/soc/tegra/tegra_alc5632.c |2 +- sound/soc/tegra/tegra_max98090.c |2 +- sound/soc/tegra/tegra_rt5640.c |2 +- sound/soc/tegra/tegra_rt5677.c |2 +- sound/soc/tegra/tegra_sgtl5000.c |2 +- sound/soc/tegra/tegra_wm8753.c |2 +- sound/soc/tegra/tegra_wm8903.c |2 +- sound/soc/tegra/trimslice.c |2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff -u -p a/sound/soc/tegra/tegra_alc5632.c b/sound/soc/tegra/tegra_alc5632.c --- a/sound/soc/tegra/tegra_alc5632.c +++ b/sound/soc/tegra/tegra_alc5632.c @@ -65,7 +65,7 @@ static int tegra_alc5632_asoc_hw_params( return 0; } -static struct snd_soc_ops tegra_alc5632_asoc_ops = { +static const struct snd_soc_ops tegra_alc5632_asoc_ops = { .hw_params = tegra_alc5632_asoc_hw_params, }; diff -u -p a/sound/soc/tegra/tegra_max98090.c b/sound/soc/tegra/tegra_max98090.c --- a/sound/soc/tegra/tegra_max98090.c +++ b/sound/soc/tegra/tegra_max98090.c @@ -93,7 +93,7 @@ static int tegra_max98090_asoc_hw_params return 0; } -static struct snd_soc_ops tegra_max98090_ops = { +static const struct snd_soc_ops tegra_max98090_ops = { .hw_params = tegra_max98090_asoc_hw_params, }; diff -u -p a/sound/soc/tegra/tegra_rt5640.c b/sound/soc/tegra/tegra_rt5640.c --- a/sound/soc/tegra/tegra_rt5640.c +++ b/sound/soc/tegra/tegra_rt5640.c @@ -76,7 +76,7 @@ static int tegra_rt5640_asoc_hw_params(s return 0; } -static struct snd_soc_ops tegra_rt5640_ops = { +static const struct snd_soc_ops tegra_rt5640_ops = { .hw_params = tegra_rt5640_asoc_hw_params, }; diff -u -p a/sound/soc/tegra/tegra_rt5677.c b/sound/soc/tegra/tegra_rt5677.c --- a/sound/soc/tegra/tegra_rt5677.c +++ b/sound/soc/tegra/tegra_rt5677.c @@ -93,7 +93,7 @@ static int tegra_rt5677_event_hp(struct return 0; } -static struct snd_soc_ops tegra_rt5677_ops = { +static const struct snd_soc_ops tegra_rt5677_ops = { .hw_params = tegra_rt5677_asoc_hw_params, }; diff -u -p a/sound/soc/tegra/tegra_sgtl5000.c b/sound/soc/tegra/tegra_sgtl5000.c --- a/sound/soc/tegra/tegra_sgtl5000.c +++ b/sound/soc/tegra/tegra_sgtl5000.c @@ -82,7 +82,7 @@ static int tegra_sgtl5000_hw_params(stru return 0; } -static struct snd_soc_ops tegra_sgtl5000_ops = { +static const struct snd_soc_ops tegra_sgtl5000_ops = { .hw_params = tegra_sgtl5000_hw_params, }; diff -u -p a/sound/soc/tegra/tegra_wm8753.c b/sound/soc/tegra/tegra_wm8753.c ---