Re: [PATCH] media: i2c: wm9090: replace codec to component
Hi Thank you for this report. I will post v2 patch, soon kbuild test robot wrote: > > [1 ] > Hi Kuninori, > > Thank you for the patch! Yet something to improve: > > [auto build test ERROR on linuxtv-media/master] > [also build test ERROR on next-20180328] > [cannot apply to v4.16-rc7] > [if your patch is applied to the wrong git tree, please drop us a note to > help improve the system] > > url: > https://github.com/0day-ci/linux/commits/Kuninori-Morimoto/media-i2c-wm9090-replace-codec-to-component/20180329-082843 > base: git://linuxtv.org/media_tree.git master > config: i386-allmodconfig (attached as .config) > compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 > reproduce: > # save the attached .config to linux build tree > make ARCH=i386 > > All errors (new ones prefixed by >>): > > >> drivers/media/i2c/tda1997x.c:2494:12: error: initialization from > >> incompatible pointer type [-Werror=incompatible-pointer-types] > .remove = tda1997x_codec_remove, >^ >drivers/media/i2c/tda1997x.c:2494:12: note: (near initialization for > 'tda1997x_codec_driver.remove') >cc1: some warnings being treated as errors > > vim +2494 drivers/media/i2c/tda1997x.c > > 9ac0038d Tim Harvey2018-02-15 2491 > b534b135 Kuninori Morimoto 2018-03-28 2492 static struct > snd_soc_component_driver tda1997x_codec_driver = { > 9ac0038d Tim Harvey2018-02-15 2493 .probe = tda1997x_codec_probe, > 9ac0038d Tim Harvey2018-02-15 @2494 .remove = tda1997x_codec_remove, > b534b135 Kuninori Morimoto 2018-03-28 2495 .idle_bias_on = 1, > b534b135 Kuninori Morimoto 2018-03-28 2496 .use_pmdown_time= 1, > b534b135 Kuninori Morimoto 2018-03-28 2497 .endianness = 1, > b534b135 Kuninori Morimoto 2018-03-28 2498 .non_legacy_dai_naming = 1, > 9ac0038d Tim Harvey2018-02-15 2499 }; > 9ac0038d Tim Harvey2018-02-15 2500 > > :: The code at line 2494 was first introduced by commit > :: 9ac0038db9a7e10fc8f425010ec98b7afc2ff621 media: i2c: Add TDA1997x HDMI > receiver driver > > :: TO: Tim Harvey > :: CC: Mauro Carvalho Chehab > > --- > 0-DAY kernel test infrastructureOpen Source Technology Center > https://lists.01.org/pipermail/kbuild-all Intel Corporation > [2 .config.gz ] >
Re: [PATCH] media: i2c: wm9090: replace codec to component
Hi Kuninori, Thank you for the patch! Yet something to improve: [auto build test ERROR on linuxtv-media/master] [also build test ERROR on next-20180328] [cannot apply to v4.16-rc7] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Kuninori-Morimoto/media-i2c-wm9090-replace-codec-to-component/20180329-082843 base: git://linuxtv.org/media_tree.git master config: i386-allmodconfig (attached as .config) compiler: gcc-7 (Debian 7.3.0-1) 7.3.0 reproduce: # save the attached .config to linux build tree make ARCH=i386 All errors (new ones prefixed by >>): >> drivers/media/i2c/tda1997x.c:2494:12: error: initialization from >> incompatible pointer type [-Werror=incompatible-pointer-types] .remove = tda1997x_codec_remove, ^ drivers/media/i2c/tda1997x.c:2494:12: note: (near initialization for 'tda1997x_codec_driver.remove') cc1: some warnings being treated as errors vim +2494 drivers/media/i2c/tda1997x.c 9ac0038d Tim Harvey2018-02-15 2491 b534b135 Kuninori Morimoto 2018-03-28 2492 static struct snd_soc_component_driver tda1997x_codec_driver = { 9ac0038d Tim Harvey2018-02-15 2493 .probe = tda1997x_codec_probe, 9ac0038d Tim Harvey2018-02-15 @2494 .remove = tda1997x_codec_remove, b534b135 Kuninori Morimoto 2018-03-28 2495 .idle_bias_on = 1, b534b135 Kuninori Morimoto 2018-03-28 2496 .use_pmdown_time= 1, b534b135 Kuninori Morimoto 2018-03-28 2497 .endianness = 1, b534b135 Kuninori Morimoto 2018-03-28 2498 .non_legacy_dai_naming = 1, 9ac0038d Tim Harvey2018-02-15 2499 }; 9ac0038d Tim Harvey2018-02-15 2500 :: The code at line 2494 was first introduced by commit :: 9ac0038db9a7e10fc8f425010ec98b7afc2ff621 media: i2c: Add TDA1997x HDMI receiver driver :: TO: Tim Harvey :: CC: Mauro Carvalho Chehab --- 0-DAY kernel test infrastructureOpen Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation .config.gz Description: application/gzip
[PATCH] media: i2c: wm9090: replace codec to component
From: Kuninori Morimoto 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 --- Hi Mark, Tim, Mauro ALSA SoC had replaced codec to component, thus, we can't use it anymore. This patch fixes it. But, I don't know who/how can handle it. drivers/media/i2c/tda1997x.c | 20 +++- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/drivers/media/i2c/tda1997x.c b/drivers/media/i2c/tda1997x.c index 3021913..5c5de3e 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,23 @@ 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 int tda1997x_codec_remove(struct snd_soc_component *component) { return 0; } -static struct snd_soc_codec_driver tda1997x_codec_driver = { +static struct snd_soc_component_driver tda1997x_codec_driver = { .probe = tda1997x_codec_probe, .remove = tda1997x_codec_remove, - .reg_word_size = sizeof(u16), + .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 +2740,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 +2785,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