Message ID | 87in8ibrql.wl%kuninori.morimoto.gx@renesas.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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
Em Mon, 23 Apr 2018 13:59:32 -0700 Tim Harvey <tharvey@gateworks.com> escreveu: > 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> In order to keep it together with the patches doing the removal of the old API, it is probably better to apply this via ALSA tree: Acked-by: Mauro Carvalho Chehab <mchehab+samsung@kernel.org> > > Regards, > > Tim Thanks, Mauro
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); }