From 85e7652d89293a6dab42bfd31f276f8bc072d4c5 Mon Sep 17 00:00:00 2001 From: Lars-Peter Clausen Date: Wed, 23 Nov 2011 11:40:40 +0100 Subject: ASoC: Constify snd_soc_dai_ops structs Commit 1ee46ebd("ASoC: Make the DAI ops constant in the DAI structure") introduced the possibility to have constant DAI ops structures, yet this is barley used in both existing drivers and also new drivers being submitted, although none of them modifies its DAI ops structure. The later is not surprising since existing drivers are often used as templates for new drivers. So this patch just constifies all existing snd_soc_dai_ops structs to eliminate the issue altogether. The patch was generated with the following coccinelle semantic patch: // @@ identifier ops; @@ -struct snd_soc_dai_ops ops = +const struct snd_soc_dai_ops ops = { ... }; // Signed-off-by: Lars-Peter Clausen Signed-off-by: Mark Brown --- sound/soc/codecs/wm8741.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'sound/soc/codecs/wm8741.c') diff --git a/sound/soc/codecs/wm8741.c b/sound/soc/codecs/wm8741.c index 57ad22aacc51..e51f4f0a93f4 100644 --- a/sound/soc/codecs/wm8741.c +++ b/sound/soc/codecs/wm8741.c @@ -382,7 +382,7 @@ static int wm8741_set_dai_fmt(struct snd_soc_dai *codec_dai, #define WM8741_FORMATS (SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S20_3LE |\ SNDRV_PCM_FMTBIT_S24_LE | SNDRV_PCM_FMTBIT_S32_LE) -static struct snd_soc_dai_ops wm8741_dai_ops = { +static const struct snd_soc_dai_ops wm8741_dai_ops = { .startup = wm8741_startup, .hw_params = wm8741_hw_params, .set_sysclk = wm8741_set_dai_sysclk, -- cgit From 997c2ea916edb516f23d6e1848cd1f4a10e62740 Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Sun, 27 Nov 2011 12:14:37 +0000 Subject: ASoC: Remove unneeded platform_device.h inclusions from CODECs They've not been needed for a long time if they were ever required. Signed-off-by: Mark Brown --- sound/soc/codecs/wm8741.c | 1 - 1 file changed, 1 deletion(-) (limited to 'sound/soc/codecs/wm8741.c') diff --git a/sound/soc/codecs/wm8741.c b/sound/soc/codecs/wm8741.c index e51f4f0a93f4..bf471dc57114 100644 --- a/sound/soc/codecs/wm8741.c +++ b/sound/soc/codecs/wm8741.c @@ -18,7 +18,6 @@ #include #include #include -#include #include #include #include -- cgit From 5aefb306e35541d35c8d5838ae97f3f9d8ad1a12 Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Sat, 3 Dec 2011 17:17:05 +0000 Subject: ASoC: Convert WM8741 to devm_kzalloc() Signed-off-by: Mark Brown --- sound/soc/codecs/wm8741.c | 16 ++++------------ 1 file changed, 4 insertions(+), 12 deletions(-) (limited to 'sound/soc/codecs/wm8741.c') diff --git a/sound/soc/codecs/wm8741.c b/sound/soc/codecs/wm8741.c index bf471dc57114..24d8ec53f35b 100644 --- a/sound/soc/codecs/wm8741.c +++ b/sound/soc/codecs/wm8741.c @@ -503,7 +503,8 @@ static int wm8741_i2c_probe(struct i2c_client *i2c, struct wm8741_priv *wm8741; int ret; - wm8741 = kzalloc(sizeof(struct wm8741_priv), GFP_KERNEL); + wm8741 = devm_kzalloc(&i2c->dev, sizeof(struct wm8741_priv), + GFP_KERNEL); if (wm8741 == NULL) return -ENOMEM; @@ -512,20 +513,13 @@ static int wm8741_i2c_probe(struct i2c_client *i2c, ret = snd_soc_register_codec(&i2c->dev, &soc_codec_dev_wm8741, &wm8741_dai, 1); - if (ret != 0) - goto err; return ret; - -err: - kfree(wm8741); - return ret; } static int wm8741_i2c_remove(struct i2c_client *client) { snd_soc_unregister_codec(&client->dev); - kfree(i2c_get_clientdata(client)); return 0; } @@ -553,7 +547,8 @@ static int __devinit wm8741_spi_probe(struct spi_device *spi) struct wm8741_priv *wm8741; int ret; - wm8741 = kzalloc(sizeof(struct wm8741_priv), GFP_KERNEL); + wm8741 = devm_kzalloc(&spi->dev, sizeof(struct wm8741_priv), + GFP_KERNEL); if (wm8741 == NULL) return -ENOMEM; @@ -562,15 +557,12 @@ static int __devinit wm8741_spi_probe(struct spi_device *spi) ret = snd_soc_register_codec(&spi->dev, &soc_codec_dev_wm8741, &wm8741_dai, 1); - if (ret < 0) - kfree(wm8741); return ret; } static int __devexit wm8741_spi_remove(struct spi_device *spi) { snd_soc_unregister_codec(&spi->dev); - kfree(spi_get_drvdata(spi)); return 0; } -- cgit From 0e62780f5f27f24a30d5a08ed731088115e1fe80 Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Sat, 3 Dec 2011 17:15:06 +0000 Subject: ASoC: Convert WM8741 to table based DAPM and control init Signed-off-by: Mark Brown --- sound/soc/codecs/wm8741.c | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) (limited to 'sound/soc/codecs/wm8741.c') diff --git a/sound/soc/codecs/wm8741.c b/sound/soc/codecs/wm8741.c index 24d8ec53f35b..3941f50bf187 100644 --- a/sound/soc/codecs/wm8741.c +++ b/sound/soc/codecs/wm8741.c @@ -85,24 +85,13 @@ SND_SOC_DAPM_OUTPUT("VOUTRP"), SND_SOC_DAPM_OUTPUT("VOUTRN"), }; -static const struct snd_soc_dapm_route intercon[] = { +static const struct snd_soc_dapm_route wm8741_dapm_routes[] = { { "VOUTLP", NULL, "DACL" }, { "VOUTLN", NULL, "DACL" }, { "VOUTRP", NULL, "DACR" }, { "VOUTRN", NULL, "DACR" }, }; -static int wm8741_add_widgets(struct snd_soc_codec *codec) -{ - struct snd_soc_dapm_context *dapm = &codec->dapm; - - snd_soc_dapm_new_controls(dapm, wm8741_dapm_widgets, - ARRAY_SIZE(wm8741_dapm_widgets)); - snd_soc_dapm_add_routes(dapm, intercon, ARRAY_SIZE(intercon)); - - return 0; -} - static struct { int value; int ratio; @@ -456,10 +445,6 @@ static int wm8741_probe(struct snd_soc_codec *codec) snd_soc_update_bits(codec, WM8741_DACRMSB_ATTENUATION, WM8741_UPDATERM, WM8741_UPDATERM); - snd_soc_add_controls(codec, wm8741_snd_controls, - ARRAY_SIZE(wm8741_snd_controls)); - wm8741_add_widgets(codec); - dev_dbg(codec->dev, "Successful registration\n"); return ret; @@ -488,6 +473,13 @@ static struct snd_soc_codec_driver soc_codec_dev_wm8741 = { .reg_cache_size = ARRAY_SIZE(wm8741_reg_defaults), .reg_word_size = sizeof(u16), .reg_cache_default = wm8741_reg_defaults, + + .controls = wm8741_snd_controls, + .num_controls = ARRAY_SIZE(wm8741_snd_controls), + .dapm_widgets = wm8741_dapm_widgets, + .num_dapm_widgets = ARRAY_SIZE(wm8741_dapm_widgets), + .dapm_routes = wm8741_dapm_routes, + .num_dapm_routes = ARRAY_SIZE(wm8741_dapm_routes), }; static const struct of_device_id wm8741_of_match[] = { -- cgit