2016-10-15 15:15:02

by Julia Lawall

[permalink] [raw]
Subject: [PATCH 0/7] constify snd_soc_ops structures

Constify snd_soc_ops structures.

---

sound/soc/atmel/atmel_wm8904.c | 2 +-
sound/soc/fsl/fsl-asoc-card.c | 2 +-
sound/soc/fsl/imx-wm8962.c | 2 +-
sound/soc/generic/simple-card.c | 2 +-
sound/soc/generic/simple-scu-card.c | 2 +-
sound/soc/intel/boards/bdw-rt5677.c | 2 +-
sound/soc/intel/boards/broadwell.c | 2 +-
sound/soc/intel/boards/bxt_da7219_max98357a.c | 4 ++--
sound/soc/intel/boards/bxt_rt298.c | 4 ++--
sound/soc/intel/boards/bytcr_rt5640.c | 4 ++--
sound/soc/intel/boards/bytcr_rt5651.c | 4 ++--
sound/soc/intel/boards/cht_bsw_max98090_ti.c | 4 ++--
sound/soc/intel/boards/cht_bsw_rt5645.c | 4 ++--
sound/soc/intel/boards/cht_bsw_rt5672.c | 4 ++--
sound/soc/intel/boards/haswell.c | 2 +-
sound/soc/intel/boards/skl_nau88l25_max98357a.c | 6 +++---
sound/soc/intel/boards/skl_nau88l25_ssm4567.c | 6 +++---
sound/soc/intel/boards/skl_rt286.c | 4 ++--
sound/soc/kirkwood/armada-370-db.c | 2 +-
sound/soc/mxs/mxs-sgtl5000.c | 2 +-
sound/soc/qcom/storm.c | 2 +-
sound/soc/rockchip/rk3399_gru_sound.c | 6 +++---
sound/soc/rockchip/rockchip_max98090.c | 2 +-
sound/soc/rockchip/rockchip_rt5645.c | 2 +-
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 +-
32 files changed, 46 insertions(+), 46 deletions(-)


2016-10-15 15:15:14

by Julia Lawall

[permalink] [raw]
Subject: [PATCH 2/7] 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 <[email protected]>

---
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,
};


2016-10-15 15:15:23

by Julia Lawall

[permalink] [raw]
Subject: [PATCH 3/7] ASoC: rockchip: 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 files is shown by the following output
of the size command, first before then after the transformation:

text data bss dec hex filename
5027 2488 416 7931 1efb sound/soc/rockchip/rk3399_gru_sound.o
5219 2312 416 7947 1f0b sound/soc/rockchip/rk3399_gru_sound.o

text data bss dec hex filename
3499 1648 384 5531 159b sound/soc/rockchip/rockchip_max98090.o
3563 1584 384 5531 159b sound/soc/rockchip/rockchip_max98090.o

text data bss dec hex filename
3455 1536 384 5375 14ff sound/soc/rockchip/rockchip_rt5645.o
3519 1480 384 5383 1507 sound/soc/rockchip/rockchip_rt5645.o

Signed-off-by: Julia Lawall <[email protected]>

---
sound/soc/rockchip/rk3399_gru_sound.c | 6 +++---
sound/soc/rockchip/rockchip_max98090.c | 2 +-
sound/soc/rockchip/rockchip_rt5645.c | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)

diff -u -p a/sound/soc/rockchip/rk3399_gru_sound.c b/sound/soc/rockchip/rk3399_gru_sound.c
--- a/sound/soc/rockchip/rk3399_gru_sound.c
+++ b/sound/soc/rockchip/rk3399_gru_sound.c
@@ -228,15 +228,15 @@ static int rockchip_sound_da7219_init(st
return 0;
}

-static struct snd_soc_ops rockchip_sound_max98357a_ops = {
+static const struct snd_soc_ops rockchip_sound_max98357a_ops = {
.hw_params = rockchip_sound_max98357a_hw_params,
};

-static struct snd_soc_ops rockchip_sound_rt5514_ops = {
+static const struct snd_soc_ops rockchip_sound_rt5514_ops = {
.hw_params = rockchip_sound_rt5514_hw_params,
};

-static struct snd_soc_ops rockchip_sound_da7219_ops = {
+static const struct snd_soc_ops rockchip_sound_da7219_ops = {
.hw_params = rockchip_sound_da7219_hw_params,
};

diff -u -p a/sound/soc/rockchip/rockchip_max98090.c b/sound/soc/rockchip/rockchip_max98090.c
--- a/sound/soc/rockchip/rockchip_max98090.c
+++ b/sound/soc/rockchip/rockchip_max98090.c
@@ -119,7 +119,7 @@ static int rk_aif1_hw_params(struct snd_
return ret;
}

-static struct snd_soc_ops rk_aif1_ops = {
+static const struct snd_soc_ops rk_aif1_ops = {
.hw_params = rk_aif1_hw_params,
};

diff -u -p a/sound/soc/rockchip/rockchip_rt5645.c b/sound/soc/rockchip/rockchip_rt5645.c
--- a/sound/soc/rockchip/rockchip_rt5645.c
+++ b/sound/soc/rockchip/rockchip_rt5645.c
@@ -135,7 +135,7 @@ static int rk_init(struct snd_soc_pcm_ru
&headset_jack);
}

-static struct snd_soc_ops rk_aif1_ops = {
+static const struct snd_soc_ops rk_aif1_ops = {
.hw_params = rk_aif1_hw_params,
};


2016-10-15 15:15:31

by Julia Lawall

[permalink] [raw]
Subject: [PATCH 4/7] ASoC: qcom: storm: 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
1420 512 0 1932 78c sound/soc/qcom/storm.o
1484 456 0 1940 794 sound/soc/qcom/storm.o

Signed-off-by: Julia Lawall <[email protected]>

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

diff -u -p a/sound/soc/qcom/storm.c b/sound/soc/qcom/storm.c
--- a/sound/soc/qcom/storm.c
+++ b/sound/soc/qcom/storm.c
@@ -58,7 +58,7 @@ static int storm_ops_hw_params(struct sn
return 0;
}

-static struct snd_soc_ops storm_soc_ops = {
+static const struct snd_soc_ops storm_soc_ops = {
.hw_params = storm_ops_hw_params,
};


2016-10-15 15:15:40

by Julia Lawall

[permalink] [raw]
Subject: [PATCH 6/7] ASoC: 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 files is shown by the following output of
the size command, first before then after the transformation:

text data bss dec hex filename
8748 1024 0 9772 262c sound/soc/fsl/fsl-asoc-card.o
8812 952 0 9764 2624 sound/soc/fsl/fsl-asoc-card.o

text data bss dec hex filename
4165 264 8 4437 1155 sound/soc/fsl/imx-wm8962.o
4229 200 8 4437 1155 sound/soc/fsl/imx-wm8962.o

Signed-off-by: Julia Lawall <[email protected]>

---
sound/soc/fsl/fsl-asoc-card.c | 2 +-
sound/soc/fsl/imx-wm8962.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff -u -p a/sound/soc/fsl/fsl-asoc-card.c b/sound/soc/fsl/fsl-asoc-card.c
--- a/sound/soc/fsl/fsl-asoc-card.c
+++ b/sound/soc/fsl/fsl-asoc-card.c
@@ -183,7 +183,7 @@ static int fsl_asoc_card_hw_params(struc
return 0;
}

-static struct snd_soc_ops fsl_asoc_card_ops = {
+static const struct snd_soc_ops fsl_asoc_card_ops = {
.hw_params = fsl_asoc_card_hw_params,
};

diff -u -p a/sound/soc/fsl/imx-wm8962.c b/sound/soc/fsl/imx-wm8962.c
--- a/sound/soc/fsl/imx-wm8962.c
+++ b/sound/soc/fsl/imx-wm8962.c
@@ -61,7 +61,7 @@ static int imx_hifi_hw_params(struct snd
return 0;
}

-static struct snd_soc_ops imx_hifi_ops = {
+static const struct snd_soc_ops imx_hifi_ops = {
.hw_params = imx_hifi_hw_params,
};


2016-10-15 15:14:54

by Julia Lawall

[permalink] [raw]
Subject: [PATCH 1/7] ASoC: intel: broadwell: 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
3865 2784 384 7033 1b79 sound/soc/intel/boards/broadwell.o
3929 2720 384 7033 1b79 sound/soc/intel/boards/broadwell.o

Signed-off-by: Julia Lawall <[email protected]>

---
sound/soc/intel/boards/broadwell.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff -u -p a/sound/soc/intel/boards/broadwell.c b/sound/soc/intel/boards/broadwell.c
--- a/sound/soc/intel/boards/broadwell.c
+++ b/sound/soc/intel/boards/broadwell.c
@@ -126,7 +126,7 @@ static int broadwell_rt286_hw_params(str
return ret;
}

-static struct snd_soc_ops broadwell_rt286_ops = {
+static const struct snd_soc_ops broadwell_rt286_ops = {
.hw_params = broadwell_rt286_hw_params,
};


2016-10-15 15:16:13

by Julia Lawall

[permalink] [raw]
Subject: [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/)

// <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 files is shown by the following output of
the size command, first before then after the transformation:

text data bss dec hex filename
3143 1888 384 5415 1527 sound/soc/tegra/tegra_alc5632.o
3191 1840 384 5415 1527 sound/soc/tegra/tegra_alc5632.o

text data bss dec hex filename
3672 2176 768 6616 19d8 sound/soc/tegra/tegra_max98090.o
3720 2128 768 6616 19d8 sound/soc/tegra/tegra_max98090.o

text data bss dec hex filename
2770 1856 384 5010 1392 sound/soc/tegra/tegra_rt5640.o
2818 1808 384 5010 1392 sound/soc/tegra/tegra_rt5640.o

text data bss dec hex filename
4412 2176 768 7356 1cbc sound/soc/tegra/tegra_rt5677.o
4460 2128 768 7356 1cbc sound/soc/tegra/tegra_rt5677.o

text data bss dec hex filename
2442 1536 0 3978 f8a sound/soc/tegra/tegra_sgtl5000.o
2490 1480 0 3970 f82 sound/soc/tegra/tegra_sgtl5000.o

text data bss dec hex filename
2105 1536 0 3641 e39 sound/soc/tegra/tegra_wm8753.o
2153 1480 0 3633 e31 sound/soc/tegra/tegra_wm8753.o

text data bss dec hex filename
3755 1888 768 6411 190b sound/soc/tegra/tegra_wm8903.o
3803 1840 768 6411 190b sound/soc/tegra/tegra_wm8903.o

text data bss dec hex filename
2121 1536 0 3657 e49 sound/soc/tegra/trimslice.o
2169 1480 0 3649 e41 sound/soc/tegra/trimslice.o

Signed-off-by: Julia Lawall <[email protected]>

---
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
--- a/sound/soc/tegra/tegra_wm8753.c
+++ b/sound/soc/tegra/tegra_wm8753.c
@@ -89,7 +89,7 @@ static int tegra_wm8753_hw_params(struct
return 0;
}

-static struct snd_soc_ops tegra_wm8753_ops = {
+static const struct snd_soc_ops tegra_wm8753_ops = {
.hw_params = tegra_wm8753_hw_params,
};

diff -u -p a/sound/soc/tegra/tegra_wm8903.c b/sound/soc/tegra/tegra_wm8903.c
--- a/sound/soc/tegra/tegra_wm8903.c
+++ b/sound/soc/tegra/tegra_wm8903.c
@@ -96,7 +96,7 @@ static int tegra_wm8903_hw_params(struct
return 0;
}

-static struct snd_soc_ops tegra_wm8903_ops = {
+static const struct snd_soc_ops tegra_wm8903_ops = {
.hw_params = tegra_wm8903_hw_params,
};

diff -u -p a/sound/soc/tegra/trimslice.c b/sound/soc/tegra/trimslice.c
--- a/sound/soc/tegra/trimslice.c
+++ b/sound/soc/tegra/trimslice.c
@@ -74,7 +74,7 @@ static int trimslice_asoc_hw_params(stru
return 0;
}

-static struct snd_soc_ops trimslice_asoc_ops = {
+static const struct snd_soc_ops trimslice_asoc_ops = {
.hw_params = trimslice_asoc_hw_params,
};


2016-10-15 15:16:23

by Julia Lawall

[permalink] [raw]
Subject: [PATCH 5/7] ASoC: 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 files is shown by the following output
of the size command, first before then after the transformation:

text data bss dec hex filename
4500 696 0 5196 144c sound/soc/generic/simple-card.o
4564 632 0 5196 144c sound/soc/generic/simple-card.o

text data bss dec hex filename
3018 608 0 3626 e2a sound/soc/generic/simple-scu-card.o
3074 544 0 3618 e22 sound/soc/generic/simple-scu-card.o

text data bss dec hex filename
4148 2448 768 7364 1cc4 sound/soc/intel/boards/bdw-rt5677.o
4212 2384 768 7364 1cc4 sound/soc/intel/boards/bdw-rt5677.o

text data bss dec hex filename
5403 4628 384 10415 28af sound/soc/intel/boards/bxt_da7219_max98357a.o
5531 4516 384 10431 28bf sound/soc/intel/boards/bxt_da7219_max98357a.o

text data bss dec hex filename
5275 4496 384 10155 27ab sound/soc/intel/boards/bxt_rt298.o
5403 4368 384 10155 27ab sound/soc/intel/boards/bxt_rt298.o

text data bss dec hex filename
10017 2344 48 12409 3079 sound/soc/intel/boards/bytcr_rt5640.o
10145 2232 48 12425 3089 sound/soc/intel/boards/bytcr_rt5640.o

text data bss dec hex filename
3719 2356 0 6075 17bb sound/soc/intel/boards/bytcr_rt5651.o
3847 2244 0 6091 17cb sound/soc/intel/boards/bytcr_rt5651.o

text data bss dec hex filename
3598 2392 0 5990 1766 sound/soc/intel/boards/cht_bsw_max98090_ti.o
3726 2280 0 6006 1776 sound/soc/intel/boards/cht_bsw_max98090_ti.o

text data bss dec hex filename
5343 3624 16 8983 2317 sound/soc/intel/boards/cht_bsw_rt5645.o
5471 3496 16 8983 2317 sound/soc/intel/boards/cht_bsw_rt5645.o

text data bss dec hex filename
4662 2592 384 7638 1dd6 sound/soc/intel/boards/cht_bsw_rt5672.o
4790 2464 384 7638 1dd6 sound/soc/intel/boards/cht_bsw_rt5672.o

text data bss dec hex filename
1595 2528 0 4123 101b sound/soc/intel/boards/haswell.o
1659 2472 0 4131 1023 sound/soc/intel/boards/haswell.o

text data bss dec hex filename
6272 4760 416 11448 2cb8 sound/soc/intel/boards/skl_nau88l25_max98357a.o
6464 4568 416 11448 2cb8 sound/soc/intel/boards/skl_nau88l25_max98357a.o

text data bss dec hex filename
7075 4888 416 12379 305b sound/soc/intel/boards/skl_nau88l25_ssm4567.o
7267 4696 416 12379 305b sound/soc/intel/boards/skl_nau88l25_ssm4567.o

text data bss dec hex filename
5659 4496 384 10539 292b sound/soc/intel/boards/skl_rt286.o
5787 4368 384 10539 292b sound/soc/intel/boards/skl_rt286.o

text data bss dec hex filename
1721 2048 0 3769 eb9 sound/soc/kirkwood/armada-370-db.o
1769 1976 0 3745 ea1 sound/soc/kirkwood/armada-370-db.o

text data bss dec hex filename
1363 1792 0 3155 c53 sound/soc/mxs/mxs-sgtl5000.o
1427 1728 0 3155 c53 sound/soc/mxs/mxs-sgtl5000.o

Signed-off-by: Julia Lawall <[email protected]>

---
sound/soc/generic/simple-card.c | 2 +-
sound/soc/generic/simple-scu-card.c | 2 +-
sound/soc/intel/boards/bdw-rt5677.c | 2 +-
sound/soc/intel/boards/bxt_da7219_max98357a.c | 4 ++--
sound/soc/intel/boards/bxt_rt298.c | 4 ++--
sound/soc/intel/boards/bytcr_rt5640.c | 4 ++--
sound/soc/intel/boards/bytcr_rt5651.c | 4 ++--
sound/soc/intel/boards/cht_bsw_max98090_ti.c | 4 ++--
sound/soc/intel/boards/cht_bsw_rt5645.c | 4 ++--
sound/soc/intel/boards/cht_bsw_rt5672.c | 4 ++--
sound/soc/intel/boards/haswell.c | 2 +-
sound/soc/intel/boards/skl_nau88l25_max98357a.c | 6 +++---
sound/soc/intel/boards/skl_nau88l25_ssm4567.c | 6 +++---
sound/soc/intel/boards/skl_rt286.c | 4 ++--
sound/soc/kirkwood/armada-370-db.c | 2 +-
sound/soc/mxs/mxs-sgtl5000.c | 2 +-
16 files changed, 28 insertions(+), 28 deletions(-)

diff -u -p a/sound/soc/generic/simple-card.c b/sound/soc/generic/simple-card.c
--- a/sound/soc/generic/simple-card.c
+++ b/sound/soc/generic/simple-card.c
@@ -174,7 +174,7 @@ err:
return ret;
}

-static struct snd_soc_ops asoc_simple_card_ops = {
+static const struct snd_soc_ops asoc_simple_card_ops = {
.startup = asoc_simple_card_startup,
.shutdown = asoc_simple_card_shutdown,
.hw_params = asoc_simple_card_hw_params,
diff -u -p a/sound/soc/generic/simple-scu-card.c b/sound/soc/generic/simple-scu-card.c
--- a/sound/soc/generic/simple-scu-card.c
+++ b/sound/soc/generic/simple-scu-card.c
@@ -59,7 +59,7 @@ static void asoc_simple_card_shutdown(st
clk_disable_unprepare(dai_props->clk);
}

-static struct snd_soc_ops asoc_simple_card_ops = {
+static const struct snd_soc_ops asoc_simple_card_ops = {
.startup = asoc_simple_card_startup,
.shutdown = asoc_simple_card_shutdown,
};
diff -u -p a/sound/soc/kirkwood/armada-370-db.c b/sound/soc/kirkwood/armada-370-db.c
--- a/sound/soc/kirkwood/armada-370-db.c
+++ b/sound/soc/kirkwood/armada-370-db.c
@@ -42,7 +42,7 @@ static int a370db_hw_params(struct snd_p
return snd_soc_dai_set_sysclk(codec_dai, 0, freq, SND_SOC_CLOCK_IN);
}

-static struct snd_soc_ops a370db_ops = {
+static const struct snd_soc_ops a370db_ops = {
.hw_params = a370db_hw_params,
};

diff -u -p a/sound/soc/mxs/mxs-sgtl5000.c b/sound/soc/mxs/mxs-sgtl5000.c
--- a/sound/soc/mxs/mxs-sgtl5000.c
+++ b/sound/soc/mxs/mxs-sgtl5000.c
@@ -68,7 +68,7 @@ static int mxs_sgtl5000_hw_params(struct
return 0;
}

-static struct snd_soc_ops mxs_sgtl5000_hifi_ops = {
+static const struct snd_soc_ops mxs_sgtl5000_hifi_ops = {
.hw_params = mxs_sgtl5000_hw_params,
};

diff -u -p a/sound/soc/intel/boards/bdw-rt5677.c b/sound/soc/intel/boards/bdw-rt5677.c
--- a/sound/soc/intel/boards/bdw-rt5677.c
+++ b/sound/soc/intel/boards/bdw-rt5677.c
@@ -156,7 +156,7 @@ static int bdw_rt5677_hw_params(struct s
return ret;
}

-static struct snd_soc_ops bdw_rt5677_ops = {
+static const struct snd_soc_ops bdw_rt5677_ops = {
.hw_params = bdw_rt5677_hw_params,
};

diff -u -p a/sound/soc/intel/boards/bxt_da7219_max98357a.c b/sound/soc/intel/boards/bxt_da7219_max98357a.c
--- a/sound/soc/intel/boards/bxt_da7219_max98357a.c
+++ b/sound/soc/intel/boards/bxt_da7219_max98357a.c
@@ -248,7 +248,7 @@ static int broxton_da7219_hw_free(struct
return ret;
}

-static struct snd_soc_ops broxton_da7219_ops = {
+static const struct snd_soc_ops broxton_da7219_ops = {
.hw_params = broxton_da7219_hw_params,
.hw_free = broxton_da7219_hw_free,
};
@@ -295,7 +295,7 @@ static int broxton_refcap_startup(struct
&constraints_16000);
};

-static struct snd_soc_ops broxton_refcap_ops = {
+static const struct snd_soc_ops broxton_refcap_ops = {
.startup = broxton_refcap_startup,
};

diff -u -p a/sound/soc/intel/boards/bxt_rt298.c b/sound/soc/intel/boards/bxt_rt298.c
--- a/sound/soc/intel/boards/bxt_rt298.c
+++ b/sound/soc/intel/boards/bxt_rt298.c
@@ -181,7 +181,7 @@ static int broxton_rt298_hw_params(struc
return ret;
}

-static struct snd_soc_ops broxton_rt298_ops = {
+static const struct snd_soc_ops broxton_rt298_ops = {
.hw_params = broxton_rt298_hw_params,
};

@@ -230,7 +230,7 @@ static int broxton_dmic_startup(struct s
SNDRV_PCM_HW_PARAM_RATE, &constraints_rates);
}

-static struct snd_soc_ops broxton_dmic_ops = {
+static const struct snd_soc_ops broxton_dmic_ops = {
.startup = broxton_dmic_startup,
};

diff -u -p a/sound/soc/intel/boards/bytcr_rt5640.c b/sound/soc/intel/boards/bytcr_rt5640.c
--- a/sound/soc/intel/boards/bytcr_rt5640.c
+++ b/sound/soc/intel/boards/bytcr_rt5640.c
@@ -597,11 +597,11 @@ static int byt_rt5640_aif1_startup(struc
SNDRV_PCM_HW_PARAM_RATE, 48000);
}

-static struct snd_soc_ops byt_rt5640_aif1_ops = {
+static const struct snd_soc_ops byt_rt5640_aif1_ops = {
.startup = byt_rt5640_aif1_startup,
};

-static struct snd_soc_ops byt_rt5640_be_ssp2_ops = {
+static const struct snd_soc_ops byt_rt5640_be_ssp2_ops = {
.hw_params = byt_rt5640_aif1_hw_params,
};

diff -u -p a/sound/soc/intel/boards/bytcr_rt5651.c b/sound/soc/intel/boards/bytcr_rt5651.c
--- a/sound/soc/intel/boards/bytcr_rt5651.c
+++ b/sound/soc/intel/boards/bytcr_rt5651.c
@@ -219,11 +219,11 @@ static int byt_rt5651_aif1_startup(struc
&constraints_48000);
}

-static struct snd_soc_ops byt_rt5651_aif1_ops = {
+static const struct snd_soc_ops byt_rt5651_aif1_ops = {
.startup = byt_rt5651_aif1_startup,
};

-static struct snd_soc_ops byt_rt5651_be_ssp2_ops = {
+static const struct snd_soc_ops byt_rt5651_be_ssp2_ops = {
.hw_params = byt_rt5651_aif1_hw_params,
};

diff -u -p a/sound/soc/intel/boards/cht_bsw_max98090_ti.c b/sound/soc/intel/boards/cht_bsw_max98090_ti.c
--- a/sound/soc/intel/boards/cht_bsw_max98090_ti.c
+++ b/sound/soc/intel/boards/cht_bsw_max98090_ti.c
@@ -204,11 +204,11 @@ static int cht_max98090_headset_init(str
return ts3a227e_enable_jack_detect(component, &ctx->jack);
}

-static struct snd_soc_ops cht_aif1_ops = {
+static const struct snd_soc_ops cht_aif1_ops = {
.startup = cht_aif1_startup,
};

-static struct snd_soc_ops cht_be_ssp2_ops = {
+static const struct snd_soc_ops cht_be_ssp2_ops = {
.hw_params = cht_aif1_hw_params,
};

diff -u -p a/sound/soc/intel/boards/cht_bsw_rt5645.c b/sound/soc/intel/boards/cht_bsw_rt5645.c
--- a/sound/soc/intel/boards/cht_bsw_rt5645.c
+++ b/sound/soc/intel/boards/cht_bsw_rt5645.c
@@ -250,11 +250,11 @@ static int cht_aif1_startup(struct snd_p
SNDRV_PCM_HW_PARAM_RATE, 48000);
}

-static struct snd_soc_ops cht_aif1_ops = {
+static const struct snd_soc_ops cht_aif1_ops = {
.startup = cht_aif1_startup,
};

-static struct snd_soc_ops cht_be_ssp2_ops = {
+static const struct snd_soc_ops cht_be_ssp2_ops = {
.hw_params = cht_aif1_hw_params,
};

diff -u -p a/sound/soc/intel/boards/cht_bsw_rt5672.c b/sound/soc/intel/boards/cht_bsw_rt5672.c
--- a/sound/soc/intel/boards/cht_bsw_rt5672.c
+++ b/sound/soc/intel/boards/cht_bsw_rt5672.c
@@ -225,11 +225,11 @@ static int cht_aif1_startup(struct snd_p
SNDRV_PCM_HW_PARAM_RATE, 48000);
}

-static struct snd_soc_ops cht_aif1_ops = {
+static const struct snd_soc_ops cht_aif1_ops = {
.startup = cht_aif1_startup,
};

-static struct snd_soc_ops cht_be_ssp2_ops = {
+static const struct snd_soc_ops cht_be_ssp2_ops = {
.hw_params = cht_aif1_hw_params,
};

diff -u -p a/sound/soc/intel/boards/haswell.c b/sound/soc/intel/boards/haswell.c
--- a/sound/soc/intel/boards/haswell.c
+++ b/sound/soc/intel/boards/haswell.c
@@ -81,7 +81,7 @@ static int haswell_rt5640_hw_params(stru
return ret;
}

-static struct snd_soc_ops haswell_rt5640_ops = {
+static const struct snd_soc_ops haswell_rt5640_ops = {
.hw_params = haswell_rt5640_hw_params,
};

diff -u -p a/sound/soc/intel/boards/skl_nau88l25_max98357a.c b/sound/soc/intel/boards/skl_nau88l25_max98357a.c
--- a/sound/soc/intel/boards/skl_nau88l25_max98357a.c
+++ b/sound/soc/intel/boards/skl_nau88l25_max98357a.c
@@ -332,7 +332,7 @@ static int skylake_nau8825_hw_params(str
return ret;
}

-static struct snd_soc_ops skylake_nau8825_ops = {
+static const struct snd_soc_ops skylake_nau8825_ops = {
.hw_params = skylake_nau8825_hw_params,
};

@@ -382,7 +382,7 @@ static int skylake_dmic_startup(struct s
SNDRV_PCM_HW_PARAM_RATE, &constraints_rates);
}

-static struct snd_soc_ops skylake_dmic_ops = {
+static const struct snd_soc_ops skylake_dmic_ops = {
.startup = skylake_dmic_startup,
};

@@ -416,7 +416,7 @@ static int skylake_refcap_startup(struct
&constraints_16000);
}

-static struct snd_soc_ops skylaye_refcap_ops = {
+static const struct snd_soc_ops skylaye_refcap_ops = {
.startup = skylake_refcap_startup,
};

diff -u -p a/sound/soc/intel/boards/skl_nau88l25_ssm4567.c b/sound/soc/intel/boards/skl_nau88l25_ssm4567.c
--- a/sound/soc/intel/boards/skl_nau88l25_ssm4567.c
+++ b/sound/soc/intel/boards/skl_nau88l25_ssm4567.c
@@ -394,7 +394,7 @@ static int skylake_nau8825_hw_params(str
return ret;
}

-static struct snd_soc_ops skylake_nau8825_ops = {
+static const struct snd_soc_ops skylake_nau8825_ops = {
.hw_params = skylake_nau8825_hw_params,
};

@@ -430,7 +430,7 @@ static int skylake_dmic_startup(struct s
SNDRV_PCM_HW_PARAM_RATE, &constraints_rates);
}

-static struct snd_soc_ops skylake_dmic_ops = {
+static const struct snd_soc_ops skylake_dmic_ops = {
.startup = skylake_dmic_startup,
};

@@ -464,7 +464,7 @@ static int skylake_refcap_startup(struct
&constraints_16000);
}

-static struct snd_soc_ops skylaye_refcap_ops = {
+static const struct snd_soc_ops skylaye_refcap_ops = {
.startup = skylake_refcap_startup,
};

diff -u -p a/sound/soc/intel/boards/skl_rt286.c b/sound/soc/intel/boards/skl_rt286.c
--- a/sound/soc/intel/boards/skl_rt286.c
+++ b/sound/soc/intel/boards/skl_rt286.c
@@ -250,7 +250,7 @@ static int skylake_rt286_hw_params(struc
return ret;
}

-static struct snd_soc_ops skylake_rt286_ops = {
+static const struct snd_soc_ops skylake_rt286_ops = {
.hw_params = skylake_rt286_hw_params,
};

@@ -289,7 +289,7 @@ static int skylake_dmic_startup(struct s
SNDRV_PCM_HW_PARAM_RATE, &constraints_rates);
}

-static struct snd_soc_ops skylake_dmic_ops = {
+static const struct snd_soc_ops skylake_dmic_ops = {
.startup = skylake_dmic_startup,
};


2016-10-17 02:21:03

by Keyon Jie

[permalink] [raw]
Subject: Re: [alsa-devel] [PATCH 1/7] ASoC: intel: broadwell: constify snd_soc_ops structures


On 2016年10月15日 22:55, Julia Lawall wrote:
> 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
> 3865 2784 384 7033 1b79 sound/soc/intel/boards/broadwell.o
> 3929 2720 384 7033 1b79 sound/soc/intel/boards/broadwell.o
>
> Signed-off-by: Julia Lawall <[email protected]>

Thanks. That works for me.

Acked-by: Jie Yang <[email protected]>

thanks,
~Keyon

>
> ---
> sound/soc/intel/boards/broadwell.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff -u -p a/sound/soc/intel/boards/broadwell.c b/sound/soc/intel/boards/broadwell.c
> --- a/sound/soc/intel/boards/broadwell.c
> +++ b/sound/soc/intel/boards/broadwell.c
> @@ -126,7 +126,7 @@ static int broadwell_rt286_hw_params(str
> return ret;
> }
>
> -static struct snd_soc_ops broadwell_rt286_ops = {
> +static const struct snd_soc_ops broadwell_rt286_ops = {
> .hw_params = broadwell_rt286_hw_params,
> };
>
>
> _______________________________________________
> Alsa-devel mailing list
> [email protected]
> http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>

2016-10-18 08:13:35

by Nicolas Ferre

[permalink] [raw]
Subject: Re: [PATCH 2/7] ASoC: atmel_wm8904: constify snd_soc_ops structures

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 <[email protected]>

Acked-by: Nicolas Ferre <[email protected]>

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

2016-10-24 17:34:43

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH 5/7] ASoC: constify snd_soc_ops structures

On Sat, Oct 15, 2016 at 04:55:49PM +0200, Julia Lawall wrote:

> ---
> sound/soc/generic/simple-card.c | 2 +-
> sound/soc/generic/simple-scu-card.c | 2 +-
> sound/soc/intel/boards/bdw-rt5677.c | 2 +-
> sound/soc/intel/boards/bxt_da7219_max98357a.c | 4 ++--
> sound/soc/intel/boards/bxt_rt298.c | 4 ++--
> sound/soc/intel/boards/bytcr_rt5640.c | 4 ++--
> sound/soc/intel/boards/bytcr_rt5651.c | 4 ++--
> sound/soc/intel/boards/cht_bsw_max98090_ti.c | 4 ++--
> sound/soc/intel/boards/cht_bsw_rt5645.c | 4 ++--
> sound/soc/intel/boards/cht_bsw_rt5672.c | 4 ++--
> sound/soc/intel/boards/haswell.c | 2 +-
> sound/soc/intel/boards/skl_nau88l25_max98357a.c | 6 +++---
> sound/soc/intel/boards/skl_nau88l25_ssm4567.c | 6 +++---
> sound/soc/intel/boards/skl_rt286.c | 4 ++--
> sound/soc/kirkwood/armada-370-db.c | 2 +-
> sound/soc/mxs/mxs-sgtl5000.c | 2 +-
> 16 files changed, 28 insertions(+), 28 deletions(-)

You split out a few drivers as separate patches but not these ones -
what's special about these ones?


Attachments:
(No filename) (1.20 kB)
signature.asc (473.00 B)
Download all attachments

2016-10-24 18:01:49

by Mark Brown

[permalink] [raw]
Subject: Applied "ASoC: constify snd_soc_ops structures" to the asoc tree

The patch

ASoC: 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 ddba7fa4cfd16b10adcbe24fa1d3b7de470af863 Mon Sep 17 00:00:00 2001
From: Julia Lawall <[email protected]>
Date: Sat, 15 Oct 2016 16:55:50 +0200
Subject: [PATCH] ASoC: 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 files is shown by the following output of
the size command, first before then after the transformation:

text data bss dec hex filename
8748 1024 0 9772 262c sound/soc/fsl/fsl-asoc-card.o
8812 952 0 9764 2624 sound/soc/fsl/fsl-asoc-card.o

text data bss dec hex filename
4165 264 8 4437 1155 sound/soc/fsl/imx-wm8962.o
4229 200 8 4437 1155 sound/soc/fsl/imx-wm8962.o

Signed-off-by: Julia Lawall <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
---
sound/soc/fsl/fsl-asoc-card.c | 2 +-
sound/soc/fsl/imx-wm8962.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/sound/soc/fsl/fsl-asoc-card.c b/sound/soc/fsl/fsl-asoc-card.c
index dffd549a0e2a..9998aea23597 100644
--- a/sound/soc/fsl/fsl-asoc-card.c
+++ b/sound/soc/fsl/fsl-asoc-card.c
@@ -183,7 +183,7 @@ static int fsl_asoc_card_hw_params(struct snd_pcm_substream *substream,
return 0;
}

-static struct snd_soc_ops fsl_asoc_card_ops = {
+static const struct snd_soc_ops fsl_asoc_card_ops = {
.hw_params = fsl_asoc_card_hw_params,
};

diff --git a/sound/soc/fsl/imx-wm8962.c b/sound/soc/fsl/imx-wm8962.c
index 201a70d1027a..1b60958e2080 100644
--- a/sound/soc/fsl/imx-wm8962.c
+++ b/sound/soc/fsl/imx-wm8962.c
@@ -61,7 +61,7 @@ static int imx_hifi_hw_params(struct snd_pcm_substream *substream,
return 0;
}

-static struct snd_soc_ops imx_hifi_ops = {
+static const struct snd_soc_ops imx_hifi_ops = {
.hw_params = imx_hifi_hw_params,
};

--
2.8.1

2016-10-24 18:01:54

by Mark Brown

[permalink] [raw]
Subject: Applied "ASoC: tegra: constify snd_soc_ops structures" to the asoc tree

The patch

ASoC: tegra: 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 8a7a282b780154c2669ce7d4f47a15bf3d287d49 Mon Sep 17 00:00:00 2001
From: Julia Lawall <[email protected]>
Date: Sat, 15 Oct 2016 16:55:51 +0200
Subject: [PATCH] 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/)

// <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 files is shown by the following output of
the size command, first before then after the transformation:

text data bss dec hex filename
3143 1888 384 5415 1527 sound/soc/tegra/tegra_alc5632.o
3191 1840 384 5415 1527 sound/soc/tegra/tegra_alc5632.o

text data bss dec hex filename
3672 2176 768 6616 19d8 sound/soc/tegra/tegra_max98090.o
3720 2128 768 6616 19d8 sound/soc/tegra/tegra_max98090.o

text data bss dec hex filename
2770 1856 384 5010 1392 sound/soc/tegra/tegra_rt5640.o
2818 1808 384 5010 1392 sound/soc/tegra/tegra_rt5640.o

text data bss dec hex filename
4412 2176 768 7356 1cbc sound/soc/tegra/tegra_rt5677.o
4460 2128 768 7356 1cbc sound/soc/tegra/tegra_rt5677.o

text data bss dec hex filename
2442 1536 0 3978 f8a sound/soc/tegra/tegra_sgtl5000.o
2490 1480 0 3970 f82 sound/soc/tegra/tegra_sgtl5000.o

text data bss dec hex filename
2105 1536 0 3641 e39 sound/soc/tegra/tegra_wm8753.o
2153 1480 0 3633 e31 sound/soc/tegra/tegra_wm8753.o

text data bss dec hex filename
3755 1888 768 6411 190b sound/soc/tegra/tegra_wm8903.o
3803 1840 768 6411 190b sound/soc/tegra/tegra_wm8903.o

text data bss dec hex filename
2121 1536 0 3657 e49 sound/soc/tegra/trimslice.o
2169 1480 0 3649 e41 sound/soc/tegra/trimslice.o

Signed-off-by: Julia Lawall <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
---
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 --git a/sound/soc/tegra/tegra_alc5632.c b/sound/soc/tegra/tegra_alc5632.c
index deb597f7c302..eead6e7f205b 100644
--- 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(struct snd_pcm_substream *substream,
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 --git a/sound/soc/tegra/tegra_max98090.c b/sound/soc/tegra/tegra_max98090.c
index 902da36581d1..a403db6d563e 100644
--- 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(struct snd_pcm_substream *substream,
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 --git a/sound/soc/tegra/tegra_rt5640.c b/sound/soc/tegra/tegra_rt5640.c
index e5ef4e9c4ac5..25b9fc03ba62 100644
--- 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(struct snd_pcm_substream *substream,
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 --git a/sound/soc/tegra/tegra_rt5677.c b/sound/soc/tegra/tegra_rt5677.c
index 1470873ecde6..ebf58d0e0f10 100644
--- 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 snd_soc_dapm_widget *w,
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 --git a/sound/soc/tegra/tegra_sgtl5000.c b/sound/soc/tegra/tegra_sgtl5000.c
index 1e76869dd488..4bbab098f50b 100644
--- a/sound/soc/tegra/tegra_sgtl5000.c
+++ b/sound/soc/tegra/tegra_sgtl5000.c
@@ -82,7 +82,7 @@ static int tegra_sgtl5000_hw_params(struct snd_pcm_substream *substream,
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 --git a/sound/soc/tegra/tegra_wm8753.c b/sound/soc/tegra/tegra_wm8753.c
index f0cd01dbfc38..bdedd1028569 100644
--- a/sound/soc/tegra/tegra_wm8753.c
+++ b/sound/soc/tegra/tegra_wm8753.c
@@ -89,7 +89,7 @@ static int tegra_wm8753_hw_params(struct snd_pcm_substream *substream,
return 0;
}

-static struct snd_soc_ops tegra_wm8753_ops = {
+static const struct snd_soc_ops tegra_wm8753_ops = {
.hw_params = tegra_wm8753_hw_params,
};

diff --git a/sound/soc/tegra/tegra_wm8903.c b/sound/soc/tegra/tegra_wm8903.c
index e485278e027a..2013e9c4bba0 100644
--- a/sound/soc/tegra/tegra_wm8903.c
+++ b/sound/soc/tegra/tegra_wm8903.c
@@ -96,7 +96,7 @@ static int tegra_wm8903_hw_params(struct snd_pcm_substream *substream,
return 0;
}

-static struct snd_soc_ops tegra_wm8903_ops = {
+static const struct snd_soc_ops tegra_wm8903_ops = {
.hw_params = tegra_wm8903_hw_params,
};

diff --git a/sound/soc/tegra/trimslice.c b/sound/soc/tegra/trimslice.c
index 2cea203c4f5f..870f84ab5005 100644
--- a/sound/soc/tegra/trimslice.c
+++ b/sound/soc/tegra/trimslice.c
@@ -74,7 +74,7 @@ static int trimslice_asoc_hw_params(struct snd_pcm_substream *substream,
return 0;
}

-static struct snd_soc_ops trimslice_asoc_ops = {
+static const struct snd_soc_ops trimslice_asoc_ops = {
.hw_params = trimslice_asoc_hw_params,
};

--
2.8.1

2016-10-24 18:01:52

by Mark Brown

[permalink] [raw]
Subject: Applied "ASoC: rockchip: constify snd_soc_ops structures" to the asoc tree

The patch

ASoC: rockchip: 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 705e9994a437bbdaf655612f3526e3567db56bdd Mon Sep 17 00:00:00 2001
From: Julia Lawall <[email protected]>
Date: Sat, 15 Oct 2016 16:55:47 +0200
Subject: [PATCH] ASoC: rockchip: 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 files is shown by the following output
of the size command, first before then after the transformation:

text data bss dec hex filename
5027 2488 416 7931 1efb sound/soc/rockchip/rk3399_gru_sound.o
5219 2312 416 7947 1f0b sound/soc/rockchip/rk3399_gru_sound.o

text data bss dec hex filename
3499 1648 384 5531 159b sound/soc/rockchip/rockchip_max98090.o
3563 1584 384 5531 159b sound/soc/rockchip/rockchip_max98090.o

text data bss dec hex filename
3455 1536 384 5375 14ff sound/soc/rockchip/rockchip_rt5645.o
3519 1480 384 5383 1507 sound/soc/rockchip/rockchip_rt5645.o

Signed-off-by: Julia Lawall <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
---
sound/soc/rockchip/rk3399_gru_sound.c | 6 +++---
sound/soc/rockchip/rockchip_max98090.c | 2 +-
sound/soc/rockchip/rockchip_rt5645.c | 2 +-
3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/sound/soc/rockchip/rk3399_gru_sound.c b/sound/soc/rockchip/rk3399_gru_sound.c
index 0cbd23555ba4..3475c61a5fa0 100644
--- a/sound/soc/rockchip/rk3399_gru_sound.c
+++ b/sound/soc/rockchip/rk3399_gru_sound.c
@@ -228,15 +228,15 @@ static int rockchip_sound_da7219_init(struct snd_soc_pcm_runtime *rtd)
return 0;
}

-static struct snd_soc_ops rockchip_sound_max98357a_ops = {
+static const struct snd_soc_ops rockchip_sound_max98357a_ops = {
.hw_params = rockchip_sound_max98357a_hw_params,
};

-static struct snd_soc_ops rockchip_sound_rt5514_ops = {
+static const struct snd_soc_ops rockchip_sound_rt5514_ops = {
.hw_params = rockchip_sound_rt5514_hw_params,
};

-static struct snd_soc_ops rockchip_sound_da7219_ops = {
+static const struct snd_soc_ops rockchip_sound_da7219_ops = {
.hw_params = rockchip_sound_da7219_hw_params,
};

diff --git a/sound/soc/rockchip/rockchip_max98090.c b/sound/soc/rockchip/rockchip_max98090.c
index e70ffad07184..789d6f1e2b5f 100644
--- a/sound/soc/rockchip/rockchip_max98090.c
+++ b/sound/soc/rockchip/rockchip_max98090.c
@@ -119,7 +119,7 @@ static int rk_aif1_hw_params(struct snd_pcm_substream *substream,
return ret;
}

-static struct snd_soc_ops rk_aif1_ops = {
+static const struct snd_soc_ops rk_aif1_ops = {
.hw_params = rk_aif1_hw_params,
};

diff --git a/sound/soc/rockchip/rockchip_rt5645.c b/sound/soc/rockchip/rockchip_rt5645.c
index 440a8026346a..9e0c17805807 100644
--- a/sound/soc/rockchip/rockchip_rt5645.c
+++ b/sound/soc/rockchip/rockchip_rt5645.c
@@ -135,7 +135,7 @@ static int rk_init(struct snd_soc_pcm_runtime *runtime)
&headset_jack);
}

-static struct snd_soc_ops rk_aif1_ops = {
+static const struct snd_soc_ops rk_aif1_ops = {
.hw_params = rk_aif1_hw_params,
};

--
2.8.1

2016-10-24 18:02:03

by Mark Brown

[permalink] [raw]
Subject: Applied "ASoC: intel: broadwell: constify snd_soc_ops structures" to the asoc tree

The patch

ASoC: intel: broadwell: 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 d5bc18c148fd3d3ab7cbd3d976f7e27226f74dd8 Mon Sep 17 00:00:00 2001
From: Julia Lawall <[email protected]>
Date: Sat, 15 Oct 2016 16:55:45 +0200
Subject: [PATCH] ASoC: intel: broadwell: 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
3865 2784 384 7033 1b79 sound/soc/intel/boards/broadwell.o
3929 2720 384 7033 1b79 sound/soc/intel/boards/broadwell.o

Signed-off-by: Julia Lawall <[email protected]>
Acked-by: Jie Yang <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
---
sound/soc/intel/boards/broadwell.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/intel/boards/broadwell.c b/sound/soc/intel/boards/broadwell.c
index 7486a0022fde..5bb64d164877 100644
--- a/sound/soc/intel/boards/broadwell.c
+++ b/sound/soc/intel/boards/broadwell.c
@@ -126,7 +126,7 @@ static int broadwell_rt286_hw_params(struct snd_pcm_substream *substream,
return ret;
}

-static struct snd_soc_ops broadwell_rt286_ops = {
+static const struct snd_soc_ops broadwell_rt286_ops = {
.hw_params = broadwell_rt286_hw_params,
};

--
2.8.1

2016-10-24 18:01:46

by Mark Brown

[permalink] [raw]
Subject: Applied "ASoC: qcom: storm: constify snd_soc_ops structures" to the asoc tree

The patch

ASoC: qcom: storm: 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 251fc7a58eca13e4af385cc6458b5533596ddb10 Mon Sep 17 00:00:00 2001
From: Julia Lawall <[email protected]>
Date: Sat, 15 Oct 2016 16:55:48 +0200
Subject: [PATCH] ASoC: qcom: storm: 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
1420 512 0 1932 78c sound/soc/qcom/storm.o
1484 456 0 1940 794 sound/soc/qcom/storm.o

Signed-off-by: Julia Lawall <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
---
sound/soc/qcom/storm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/soc/qcom/storm.c b/sound/soc/qcom/storm.c
index 2d833bffdba0..8fcac2ac3aa6 100644
--- a/sound/soc/qcom/storm.c
+++ b/sound/soc/qcom/storm.c
@@ -58,7 +58,7 @@ static int storm_ops_hw_params(struct snd_pcm_substream *substream,
return 0;
}

-static struct snd_soc_ops storm_soc_ops = {
+static const struct snd_soc_ops storm_soc_ops = {
.hw_params = storm_ops_hw_params,
};

--
2.8.1

2016-10-24 18:02:55

by Mark Brown

[permalink] [raw]
Subject: Applied "ASoC: atmel_wm8904: constify snd_soc_ops structures" to the asoc tree

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 <[email protected]>
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 <[email protected]>
Acked-by: Nicolas Ferre <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
---
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

2016-10-24 19:48:42

by Julia Lawall

[permalink] [raw]
Subject: Re: [PATCH 5/7] ASoC: constify snd_soc_ops structures



On Mon, 24 Oct 2016, Mark Brown wrote:

> On Sat, Oct 15, 2016 at 04:55:49PM +0200, Julia Lawall wrote:
>
> > ---
> > sound/soc/generic/simple-card.c | 2 +-
> > sound/soc/generic/simple-scu-card.c | 2 +-
> > sound/soc/intel/boards/bdw-rt5677.c | 2 +-
> > sound/soc/intel/boards/bxt_da7219_max98357a.c | 4 ++--
> > sound/soc/intel/boards/bxt_rt298.c | 4 ++--
> > sound/soc/intel/boards/bytcr_rt5640.c | 4 ++--
> > sound/soc/intel/boards/bytcr_rt5651.c | 4 ++--
> > sound/soc/intel/boards/cht_bsw_max98090_ti.c | 4 ++--
> > sound/soc/intel/boards/cht_bsw_rt5645.c | 4 ++--
> > sound/soc/intel/boards/cht_bsw_rt5672.c | 4 ++--
> > sound/soc/intel/boards/haswell.c | 2 +-
> > sound/soc/intel/boards/skl_nau88l25_max98357a.c | 6 +++---
> > sound/soc/intel/boards/skl_nau88l25_ssm4567.c | 6 +++---
> > sound/soc/intel/boards/skl_rt286.c | 4 ++--
> > sound/soc/kirkwood/armada-370-db.c | 2 +-
> > sound/soc/mxs/mxs-sgtl5000.c | 2 +-
> > 16 files changed, 28 insertions(+), 28 deletions(-)
>
> You split out a few drivers as separate patches but not these ones -
> what's special about these ones?

They all have the same set of maintainers. The split out drivers have
some other set of maintainers.

julia

2016-10-25 05:55:33

by Julia Lawall

[permalink] [raw]
Subject: Re: [PATCH 5/7] ASoC: constify snd_soc_ops structures



On Mon, 24 Oct 2016, Mark Brown wrote:

> On Sat, Oct 15, 2016 at 04:55:49PM +0200, Julia Lawall wrote:
>
> > ---
> > sound/soc/generic/simple-card.c | 2 +-
> > sound/soc/generic/simple-scu-card.c | 2 +-
> > sound/soc/intel/boards/bdw-rt5677.c | 2 +-
> > sound/soc/intel/boards/bxt_da7219_max98357a.c | 4 ++--
> > sound/soc/intel/boards/bxt_rt298.c | 4 ++--
> > sound/soc/intel/boards/bytcr_rt5640.c | 4 ++--
> > sound/soc/intel/boards/bytcr_rt5651.c | 4 ++--
> > sound/soc/intel/boards/cht_bsw_max98090_ti.c | 4 ++--
> > sound/soc/intel/boards/cht_bsw_rt5645.c | 4 ++--
> > sound/soc/intel/boards/cht_bsw_rt5672.c | 4 ++--
> > sound/soc/intel/boards/haswell.c | 2 +-
> > sound/soc/intel/boards/skl_nau88l25_max98357a.c | 6 +++---
> > sound/soc/intel/boards/skl_nau88l25_ssm4567.c | 6 +++---
> > sound/soc/intel/boards/skl_rt286.c | 4 ++--
> > sound/soc/kirkwood/armada-370-db.c | 2 +-
> > sound/soc/mxs/mxs-sgtl5000.c | 2 +-
> > 16 files changed, 28 insertions(+), 28 deletions(-)
>
> You split out a few drivers as separate patches but not these ones -
> what's special about these ones?

If it's preferred, I could send them all one file at a time, or when the
maintainers are very similar just send one patch to all the maintainers.

julia

2016-10-25 08:04:48

by Joe Perches

[permalink] [raw]
Subject: Re: [PATCH 5/7] ASoC: constify snd_soc_ops structures

On Tue, 2016-10-25 at 07:55 +0200, Julia Lawall wrote:
> On Mon, 24 Oct 2016, Mark Brown wrote:
> > On Sat, Oct 15, 2016 at 04:55:49PM +0200, Julia Lawall wrote:
> > > ---
> > > sound/soc/generic/simple-card.c | 2 +-
[...]
> > > sound/soc/mxs/mxs-sgtl5000.c | 2 +-
> > > 16 files changed, 28 insertions(+), 28 deletions(-)
> >
> > You split out a few drivers as separate patches but not these ones -
> > what's special about these ones?
>
> If it's preferred, I could send them all one file at a time, or when the
> maintainers are very similar just send one patch to all the maintainers.

Whatever works.
There's no single style appropriate for the entire kernel.

2016-10-25 08:40:11

by Julia Lawall

[permalink] [raw]
Subject: Re: [PATCH 5/7] ASoC: constify snd_soc_ops structures



On Tue, 25 Oct 2016, Joe Perches wrote:

> On Tue, 2016-10-25 at 07:55 +0200, Julia Lawall wrote:
> > On Mon, 24 Oct 2016, Mark Brown wrote:
> > > On Sat, Oct 15, 2016 at 04:55:49PM +0200, Julia Lawall wrote:
> > > > ---
> > > > sound/soc/generic/simple-card.c | 2 +-
> [...]
> > > > sound/soc/mxs/mxs-sgtl5000.c | 2 +-
> > > > 16 files changed, 28 insertions(+), 28 deletions(-)
> > >
> > > You split out a few drivers as separate patches but not these
ones -
> > > what's special about these ones?
> >
>u > If it's preferred, I could send them all one file at a time, or when
the
> > maintainers are very similar just send one patch to all the maintainers.
>
> Whatever works.
> There's no single style appropriate for the entire kernel.

Actually, I was wondering for this kind of patch specifically.

thanks,
julia

2016-10-25 14:09:21

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH 5/7] ASoC: constify snd_soc_ops structures

On Tue, Oct 25, 2016 at 07:55:00AM +0200, Julia Lawall wrote:
> On Mon, 24 Oct 2016, Mark Brown wrote:

> > You split out a few drivers as separate patches but not these ones -
> > what's special about these ones?

> If it's preferred, I could send them all one file at a time, or when the
> maintainers are very similar just send one patch to all the maintainers.

For something like this it doesn't matter so much, it was mainly just
the consistency that was bothering me.


Attachments:
(No filename) (475.00 B)
signature.asc (473.00 B)
Download all attachments