[alsa-devel] [PATCH v3 RESEND 3/3] ASoC: samsung: Rename Arndale card driver

kbuild test robot lkp at intel.com
Tue Oct 1 19:07:36 CEST 2019


Hi Sylwester,

I love your patch! Yet something to improve:

[auto build test ERROR on asoc/for-next]
[cannot apply to v5.4-rc1 next-20191001]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]

url:    https://github.com/0day-ci/linux/commits/Sylwester-Nawrocki/ASoC-samsung-arndale-Simplify-DAI-link-initialization/20191002-000244
base:   https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git for-next
config: mips-allmodconfig (attached as .config)
compiler: mips-linux-gcc (GCC) 7.4.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=mips 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp at intel.com>

All error/warnings (new ones prefixed by >>):

   In file included from sound/soc/samsung/arndale.c:7:0:
>> sound/soc/samsung/arndale.c:201:25: error: 'arndale_of_match' undeclared here (not in a function); did you mean 'arndale_audio_of_match'?
    MODULE_DEVICE_TABLE(of, arndale_of_match);
                            ^
   include/linux/module.h:227:15: note: in definition of macro 'MODULE_DEVICE_TABLE'
    extern typeof(name) __mod_##type##__##name##_device_table  \
                  ^~~~
>> include/linux/module.h:227:21: error: '__mod_of__arndale_of_match_device_table' aliased to undefined symbol 'arndale_of_match'
    extern typeof(name) __mod_##type##__##name##_device_table  \
                        ^
>> sound/soc/samsung/arndale.c:201:1: note: in expansion of macro 'MODULE_DEVICE_TABLE'
    MODULE_DEVICE_TABLE(of, arndale_of_match);
    ^~~~~~~~~~~~~~~~~~~
--
   In file included from sound/soc//samsung/arndale.c:7:0:
   sound/soc//samsung/arndale.c:201:25: error: 'arndale_of_match' undeclared here (not in a function); did you mean 'arndale_audio_of_match'?
    MODULE_DEVICE_TABLE(of, arndale_of_match);
                            ^
   include/linux/module.h:227:15: note: in definition of macro 'MODULE_DEVICE_TABLE'
    extern typeof(name) __mod_##type##__##name##_device_table  \
                  ^~~~
>> include/linux/module.h:227:21: error: '__mod_of__arndale_of_match_device_table' aliased to undefined symbol 'arndale_of_match'
    extern typeof(name) __mod_##type##__##name##_device_table  \
                        ^
   sound/soc//samsung/arndale.c:201:1: note: in expansion of macro 'MODULE_DEVICE_TABLE'
    MODULE_DEVICE_TABLE(of, arndale_of_match);
    ^~~~~~~~~~~~~~~~~~~

vim +201 sound/soc/samsung/arndale.c

d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26    6  
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   @7  #include <linux/module.h>
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20    8  #include <linux/of_device.h>
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26    9  #include <linux/platform_device.h>
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   10  #include <linux/clk.h>
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   11  
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   12  #include <sound/soc.h>
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   13  #include <sound/soc-dapm.h>
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   14  #include <sound/pcm.h>
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   15  #include <sound/pcm_params.h>
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   16  
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   17  #include "../codecs/wm8994.h"
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   18  #include "i2s.h"
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   19  
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   20  static int arndale_rt5631_hw_params(struct snd_pcm_substream *substream,
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   21  				    struct snd_pcm_hw_params *params)
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   22  {
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   23  	struct snd_soc_pcm_runtime *rtd = substream->private_data;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   24  	struct snd_soc_dai *cpu_dai = rtd->cpu_dai;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   25  	struct snd_soc_dai *codec_dai = rtd->codec_dai;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   26  	int rfs, ret;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   27  	unsigned long rclk;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   28  
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   29  	rfs = 256;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   30  
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   31  	rclk = params_rate(params) * rfs;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   32  
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   33  	ret = snd_soc_dai_set_sysclk(cpu_dai, SAMSUNG_I2S_CDCLK,
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   34  					0, SND_SOC_CLOCK_OUT);
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   35  	if (ret < 0)
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   36  		return ret;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   37  
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   38  	ret = snd_soc_dai_set_sysclk(cpu_dai, SAMSUNG_I2S_RCLKSRC_0,
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   39  					0, SND_SOC_CLOCK_OUT);
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   40  
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   41  	if (ret < 0)
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   42  		return ret;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   43  
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   44  	ret = snd_soc_dai_set_sysclk(codec_dai, 0, rclk, SND_SOC_CLOCK_OUT);
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   45  	if (ret < 0)
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   46  		return ret;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   47  
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   48  	return 0;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   49  }
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   50  
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   51  static struct snd_soc_ops arndale_rt5631_ops = {
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   52  	.hw_params = arndale_rt5631_hw_params,
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   53  };
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   54  
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   55  static int arndale_wm1811_hw_params(struct snd_pcm_substream *substream,
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   56  				    struct snd_pcm_hw_params *params)
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   57  {
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   58  	struct snd_soc_pcm_runtime *rtd = substream->private_data;
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   59  	struct snd_soc_dai *codec_dai = rtd->codec_dai;
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   60  	unsigned int rfs, rclk;
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   61  
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   62  	/* Ensure AIF1CLK is >= 3 MHz for optimal performance */
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   63  	if (params_width(params) == 24)
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   64  		rfs = 384;
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   65  	else if (params_rate(params) == 8000 || params_rate(params) == 11025)
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   66  		rfs = 512;
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   67  	else
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   68  		rfs = 256;
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   69  
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   70  	rclk = params_rate(params) * rfs;
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   71  
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   72  	/*
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   73  	 * We add 1 to the frequency value to ensure proper EPLL setting
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   74  	 * for each audio sampling rate (see epll_24mhz_tbl in drivers/clk/
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   75  	 * samsung/clk-exynos5250.c for list of available EPLL rates).
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   76  	 * The CODEC uses clk API and the value will be rounded hence the MCLK1
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   77  	 * clock's frequency will still be exact multiple of the sample rate.
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   78  	 */
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   79  	return snd_soc_dai_set_sysclk(codec_dai, WM8994_SYSCLK_MCLK1,
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   80  					rclk + 1, SND_SOC_CLOCK_IN);
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   81  }
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   82  
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   83  static struct snd_soc_ops arndale_wm1811_ops = {
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   84  	.hw_params = arndale_wm1811_hw_params,
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   85  };
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   86  
930f74a171f5f3 sound/soc/samsung/arndale_rt5631.c Kuninori Morimoto  2019-06-06   87  SND_SOC_DAILINK_DEFS(rt5631_hifi,
930f74a171f5f3 sound/soc/samsung/arndale_rt5631.c Kuninori Morimoto  2019-06-06   88  	DAILINK_COMP_ARRAY(COMP_EMPTY()),
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   89  	DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "rt5631-aif1")),
a0e95c4d376d30 sound/soc/samsung/arndale_rt5631.c Kuninori Morimoto  2019-06-28   90  	DAILINK_COMP_ARRAY(COMP_EMPTY()));
930f74a171f5f3 sound/soc/samsung/arndale_rt5631.c Kuninori Morimoto  2019-06-06   91  
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   92  static struct snd_soc_dai_link arndale_rt5631_dai[] = {
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   93  	{
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   94  		.name = "RT5631 HiFi",
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   95  		.stream_name = "Primary",
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   96  		.dai_fmt = SND_SOC_DAIFMT_I2S
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   97  			| SND_SOC_DAIFMT_NB_NF
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26   98  			| SND_SOC_DAIFMT_CBS_CFS,
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01   99  		.ops = &arndale_rt5631_ops,
930f74a171f5f3 sound/soc/samsung/arndale_rt5631.c Kuninori Morimoto  2019-06-06  100  		SND_SOC_DAILINK_REG(rt5631_hifi),
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  101  	},
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  102  };
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  103  
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  104  SND_SOC_DAILINK_DEFS(wm1811_hifi,
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  105  	DAILINK_COMP_ARRAY(COMP_EMPTY()),
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  106  	DAILINK_COMP_ARRAY(COMP_CODEC(NULL, "wm8994-aif1")),
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  107  	DAILINK_COMP_ARRAY(COMP_EMPTY()));
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  108  
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  109  static struct snd_soc_dai_link arndale_wm1811_dai[] = {
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  110  	{
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  111  		.name = "WM1811 HiFi",
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  112  		.stream_name = "Primary",
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  113  		.dai_fmt = SND_SOC_DAIFMT_I2S
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  114  			| SND_SOC_DAIFMT_NB_NF
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  115  			| SND_SOC_DAIFMT_CBM_CFM,
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  116  		.ops = &arndale_wm1811_ops,
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  117  		SND_SOC_DAILINK_REG(wm1811_hifi),
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  118  	},
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  119  };
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  120  
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  121  static struct snd_soc_card arndale_rt5631 = {
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  122  	.name = "Arndale RT5631",
54d8697fa5036d sound/soc/samsung/arndale_rt5631.c Axel Lin           2015-08-21  123  	.owner = THIS_MODULE,
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  124  	.dai_link = arndale_rt5631_dai,
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  125  	.num_links = ARRAY_SIZE(arndale_rt5631_dai),
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  126  };
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  127  
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  128  static struct snd_soc_card arndale_wm1811 = {
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  129  	.name = "Arndale WM1811",
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  130  	.owner = THIS_MODULE,
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  131  	.dai_link = arndale_wm1811_dai,
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  132  	.num_links = ARRAY_SIZE(arndale_wm1811_dai),
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  133  };
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  134  
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  135  static void arndale_put_of_nodes(struct snd_soc_card *card)
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  136  {
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  137  	struct snd_soc_dai_link *dai_link;
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  138  	int i;
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  139  
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  140  	for_each_card_prelinks(card, i, dai_link) {
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  141  		of_node_put(dai_link->cpus->of_node);
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  142  		of_node_put(dai_link->codecs->of_node);
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  143  	}
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  144  }
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  145  
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  146  static int arndale_audio_probe(struct platform_device *pdev)
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  147  {
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  148  	struct device_node *np = pdev->dev.of_node;
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  149  	struct snd_soc_card *card;
bd728e26684606 sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  150  	struct snd_soc_dai_link *dai_link;
bd728e26684606 sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  151  	int ret;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  152  
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  153  	card = (struct snd_soc_card *)of_device_get_match_data(&pdev->dev);
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  154  	card->dev = &pdev->dev;
bd728e26684606 sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  155  	dai_link = card->dai_link;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  156  
bd728e26684606 sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  157  	dai_link->cpus->of_node = of_parse_phandle(np, "samsung,audio-cpu", 0);
bd728e26684606 sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  158  	if (!dai_link->cpus->of_node) {
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  159  		dev_err(&pdev->dev,
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  160  			"Property 'samsung,audio-cpu' missing or invalid\n");
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  161  		return -EINVAL;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  162  	}
bd728e26684606 sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  163  
bd728e26684606 sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  164  	if (!dai_link->platforms->name)
bd728e26684606 sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  165  		dai_link->platforms->of_node = dai_link->cpus->of_node;
bd728e26684606 sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  166  
bd728e26684606 sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  167  	dai_link->codecs->of_node = of_parse_phandle(np, "samsung,audio-codec", 0);
bd728e26684606 sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  168  	if (!dai_link->codecs->of_node) {
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  169  		dev_err(&pdev->dev,
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  170  			"Property 'samsung,audio-codec' missing or invalid\n");
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  171  		ret = -EINVAL;
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  172  		goto err_put_of_nodes;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  173  	}
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  174  
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  175  	ret = devm_snd_soc_register_card(card->dev, card);
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  176  	if (ret) {
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  177  		dev_err(&pdev->dev, "snd_soc_register_card() failed: %d\n", ret);
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  178  		goto err_put_of_nodes;
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  179  	}
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  180  	return 0;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  181  
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  182  err_put_of_nodes:
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  183  	arndale_put_of_nodes(card);
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  184  	return ret;
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  185  }
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  186  
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  187  static int arndale_audio_remove(struct platform_device *pdev)
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  188  {
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  189  	struct snd_soc_card *card = platform_get_drvdata(pdev);
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  190  
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  191  	arndale_put_of_nodes(card);
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  192  	return 0;
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  193  }
fb629fa2587d0c sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-09-20  194  
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  195  static const struct of_device_id arndale_audio_of_match[] = {
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  196  	{ .compatible = "samsung,arndale-rt5631",  .data = &arndale_rt5631 },
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  197  	{ .compatible = "samsung,arndale-alc5631", .data = &arndale_rt5631 },
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01  198  	{ .compatible = "samsung,arndale-wm1811",  .data = &arndale_wm1811 },
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  199  	{},
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  200  };
613da35b4aeddb sound/soc/samsung/arndale_rt5631.c Sylwester Nawrocki 2019-10-01 @201  MODULE_DEVICE_TABLE(of, arndale_of_match);
d683d0b690c134 sound/soc/samsung/arndale_rt5631.c Krishna Mohan Dani 2014-11-26  202  

:::::: The code at line 201 was first introduced by commit
:::::: 613da35b4aeddbee0c0a329e6911a7be4c7df854 ASoC: samsung: arndale: Add support for WM1811 CODEC

:::::: TO: Sylwester Nawrocki <s.nawrocki at samsung.com>
:::::: CC: 0day robot <lkp at intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 62110 bytes
Desc: not available
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20191002/765757c5/attachment-0001.gz>


More information about the Alsa-devel mailing list