2018-04-23 02:11:54

by Kuninori Morimoto

[permalink] [raw]
Subject: [PATCH v3][RESEND] media: i2c: tda1997: replace codec to component


From: Kuninori Morimoto <[email protected]>

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

--
1.9.1

_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel


2018-04-23 16:46:04

by Tim Harvey

[permalink] [raw]
Subject: Re: [PATCH v3][RESEND] media: i2c: tda1997: replace codec to component

On Sun, Apr 22, 2018 at 7:10 PM, Kuninori Morimoto
<[email protected]> wrote:
>
> From: Kuninori Morimoto <[email protected]>
>
> 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 <[email protected]>
> ---
> 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

2018-04-23 16:55:09

by Mark Brown

[permalink] [raw]
Subject: Re: [PATCH v3][RESEND] media: i2c: tda1997: replace codec to component

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.


Attachments:
(No filename) (724.00 B)
signature.asc (499.00 B)
Download all attachments

2018-04-23 21:01:17

by Tim Harvey

[permalink] [raw]
Subject: Re: [PATCH v3][RESEND] media: i2c: tda1997: replace codec to component

On Mon, Apr 23, 2018 at 9:52 AM, Mark Brown <[email protected]> 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 <[email protected]>
Acked-by: Tim Harvey <[email protected]>

Regards,

Tim

2018-04-25 00:25:50

by Kuninori Morimoto

[permalink] [raw]
Subject: Re: [PATCH v3][RESEND] media: i2c: tda1997: replace codec to component


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 <[email protected]>
> Acked-by: Tim Harvey <[email protected]>

Thank you Tim.
And sorry that it couldn't explain detail things on log


2018-05-04 19:00:24

by Mauro Carvalho Chehab

[permalink] [raw]
Subject: Re: [PATCH v3][RESEND] media: i2c: tda1997: replace codec to component

Em Mon, 23 Apr 2018 13:59:32 -0700
Tim Harvey <[email protected]> escreveu:

> On Mon, Apr 23, 2018 at 9:52 AM, Mark Brown <[email protected]> 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 <[email protected]>
> Acked-by: Tim Harvey <[email protected]>

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

>
> Regards,
>
> Tim



Thanks,
Mauro