[alsa-devel] [PATCH v3][RESEND] media: i2c: tda1997: replace codec to component
From: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
Now we can replace Codec to Component. Let's do it.
Note: xxx_codec_xxx() -> xxx_component_xxx() .idle_bias_off = 0 -> .idle_bias_on = 1 .ignore_pmdown_time = 0 -> .use_pmdown_time = 1 - -> .endianness = 1 - -> .non_legacy_dai_naming = 1
Signed-off-by: Kuninori Morimoto kuninori.morimoto.gx@renesas.com --- Tim, Mauro
2 weeks passed. I re-send. This replace patch is needed for ALSA SoC, otherwise it can't probe anymore.
v2 -> v3
- fixup driver name (= tda1997)
drivers/media/i2c/tda1997x.c | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-)
diff --git a/drivers/media/i2c/tda1997x.c b/drivers/media/i2c/tda1997x.c index 3021913..33d7fcf 100644 --- a/drivers/media/i2c/tda1997x.c +++ b/drivers/media/i2c/tda1997x.c @@ -2444,7 +2444,7 @@ static int tda1997x_pcm_startup(struct snd_pcm_substream *substream, struct snd_soc_dai *dai) { struct tda1997x_state *state = snd_soc_dai_get_drvdata(dai); - struct snd_soc_codec *codec = dai->codec; + struct snd_soc_component *component = dai->component; struct snd_pcm_runtime *rtd = substream->runtime; int rate, err;
@@ -2452,11 +2452,11 @@ static int tda1997x_pcm_startup(struct snd_pcm_substream *substream, err = snd_pcm_hw_constraint_minmax(rtd, SNDRV_PCM_HW_PARAM_RATE, rate, rate); if (err < 0) { - dev_err(codec->dev, "failed to constrain samplerate to %dHz\n", + dev_err(component->dev, "failed to constrain samplerate to %dHz\n", rate); return err; } - dev_info(codec->dev, "set samplerate constraint to %dHz\n", rate); + dev_info(component->dev, "set samplerate constraint to %dHz\n", rate);
return 0; } @@ -2479,20 +2479,22 @@ static int tda1997x_pcm_startup(struct snd_pcm_substream *substream, .ops = &tda1997x_dai_ops, };
-static int tda1997x_codec_probe(struct snd_soc_codec *codec) +static int tda1997x_codec_probe(struct snd_soc_component *component) { return 0; }
-static int tda1997x_codec_remove(struct snd_soc_codec *codec) +static void tda1997x_codec_remove(struct snd_soc_component *component) { - return 0; }
-static struct snd_soc_codec_driver tda1997x_codec_driver = { - .probe = tda1997x_codec_probe, - .remove = tda1997x_codec_remove, - .reg_word_size = sizeof(u16), +static struct snd_soc_component_driver tda1997x_codec_driver = { + .probe = tda1997x_codec_probe, + .remove = tda1997x_codec_remove, + .idle_bias_on = 1, + .use_pmdown_time = 1, + .endianness = 1, + .non_legacy_dai_naming = 1, };
static int tda1997x_probe(struct i2c_client *client, @@ -2737,7 +2739,7 @@ static int tda1997x_probe(struct i2c_client *client, else formats = SNDRV_PCM_FMTBIT_S16_LE; tda1997x_audio_dai.capture.formats = formats; - ret = snd_soc_register_codec(&state->client->dev, + ret = devm_snd_soc_register_component(&state->client->dev, &tda1997x_codec_driver, &tda1997x_audio_dai, 1); if (ret) { @@ -2782,7 +2784,6 @@ static int tda1997x_remove(struct i2c_client *client) struct tda1997x_platform_data *pdata = &state->pdata;
if (pdata->audout_format) { - snd_soc_unregister_codec(&client->dev); mutex_destroy(&state->audio_lock); }
On Sun, Apr 22, 2018 at 7:10 PM, Kuninori Morimoto kuninori.morimoto.gx@renesas.com wrote:
From: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
Now we can replace Codec to Component. Let's do it.
Note: xxx_codec_xxx() -> xxx_component_xxx() .idle_bias_off = 0 -> .idle_bias_on = 1 .ignore_pmdown_time = 0 -> .use_pmdown_time = 1 - -> .endianness = 1 - -> .non_legacy_dai_naming = 1
Signed-off-by: Kuninori Morimoto kuninori.morimoto.gx@renesas.com
Tim, Mauro
2 weeks passed. I re-send. This replace patch is needed for ALSA SoC, otherwise it can't probe anymore.
v2 -> v3
- fixup driver name (= tda1997)
Kuninori,
Could you add some detail to the commit explaining why we need to replace codec to component? I don't really know what that means. Please refer to a commit if the ASoC API is changing in some way we need to catch up with.
Regards,
Tim
On Mon, Apr 23, 2018 at 09:44:17AM -0700, Tim Harvey wrote:
Could you add some detail to the commit explaining why we need to replace codec to component? I don't really know what that means. Please refer to a commit if the ASoC API is changing in some way we need to catch up with.
This is a big transition in the ASoC API which is nearing completion - this driver is one of the last users of the CODEC struct, we've (well, mainly Morimoto-san) been migrating things away from it to the more general purpose component. There's no one commit to point at really as the two have coexisted for a while and we won't be able to finally remove the CODEC struct until all the drivers have transitioned away.
On Mon, Apr 23, 2018 at 9:52 AM, Mark Brown broonie@kernel.org wrote:
On Mon, Apr 23, 2018 at 09:44:17AM -0700, Tim Harvey wrote:
Could you add some detail to the commit explaining why we need to replace codec to component? I don't really know what that means. Please refer to a commit if the ASoC API is changing in some way we need to catch up with.
This is a big transition in the ASoC API which is nearing completion - this driver is one of the last users of the CODEC struct, we've (well, mainly Morimoto-san) been migrating things away from it to the more general purpose component. There's no one commit to point at really as the two have coexisted for a while and we won't be able to finally remove the CODEC struct until all the drivers have transitioned away.
Mark,
Ok - thanks for the explanation!
Kuninori,
Sorry this took so long to get to. Tested on a GW5404
Tested-by: Tim Harvey tharvey@gateworks.com Acked-by: Tim Harvey tharvey@gateworks.com
Regards,
Tim
Hi Tim, Mark
Could you add some detail to the commit explaining why we need to replace codec to component? I don't really know what that means. Please refer to a commit if the ASoC API is changing in some way we need to catch up with.
This is a big transition in the ASoC API which is nearing completion - this driver is one of the last users of the CODEC struct, we've (well, mainly Morimoto-san) been migrating things away from it to the more general purpose component. There's no one commit to point at really as the two have coexisted for a while and we won't be able to finally remove the CODEC struct until all the drivers have transitioned away.
Thank you Mark for explaining.
Sorry this took so long to get to. Tested on a GW5404
Tested-by: Tim Harvey tharvey@gateworks.com Acked-by: Tim Harvey tharvey@gateworks.com
Thank you Tim. And sorry that it couldn't explain detail things on log
participants (3)
-
Kuninori Morimoto
-
Mark Brown
-
Tim Harvey