diff mbox

media: i2c: wm9090: replace codec to component

Message ID 87370l560w.wl%kuninori.morimoto.gx@renesas.com (mailing list archive)
State New, archived
Headers show

Commit Message

Kuninori Morimoto March 28, 2018, 1:46 a.m. UTC
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>
---
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(-)

Comments

kernel test robot March 29, 2018, 2:33 a.m. UTC | #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 Harvey        2018-02-15  2491  
b534b135 Kuninori Morimoto 2018-03-28  2492  static struct snd_soc_component_driver tda1997x_codec_driver = {
9ac0038d Tim Harvey        2018-02-15  2493  	.probe = tda1997x_codec_probe,
9ac0038d Tim Harvey        2018-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 Harvey        2018-02-15  2499  };
9ac0038d Tim Harvey        2018-02-15  2500  

:::::: The code at line 2494 was first introduced by commit
:::::: 9ac0038db9a7e10fc8f425010ec98b7afc2ff621 media: i2c: Add TDA1997x HDMI receiver driver

:::::: TO: Tim Harvey <tharvey@gateworks.com>
:::::: CC: Mauro Carvalho Chehab <mchehab@s-opensource.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
Kuninori Morimoto March 29, 2018, 5:33 a.m. UTC | #2
Hi

Thank you for this report.
I will post v2 patch, soon

kbuild test robot wrote:
> 
> [1  <text/plain; us-ascii (7bit)>]
> 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 Harvey        2018-02-15  2491  
> b534b135 Kuninori Morimoto 2018-03-28  2492  static struct snd_soc_component_driver tda1997x_codec_driver = {
> 9ac0038d Tim Harvey        2018-02-15  2493  	.probe = tda1997x_codec_probe,
> 9ac0038d Tim Harvey        2018-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 Harvey        2018-02-15  2499  };
> 9ac0038d Tim Harvey        2018-02-15  2500  
> 
> :::::: The code at line 2494 was first introduced by commit
> :::::: 9ac0038db9a7e10fc8f425010ec98b7afc2ff621 media: i2c: Add TDA1997x HDMI receiver driver
> 
> :::::: TO: Tim Harvey <tharvey@gateworks.com>
> :::::: CC: Mauro Carvalho Chehab <mchehab@s-opensource.com>
> 
> ---
> 0-DAY kernel test infrastructure                Open Source Technology Center
> https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
> [2 .config.gz <application/gzip (base64)>]
>
diff mbox

Patch

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);
 	}