All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: "Martin Povišer" <povik+lin@cutebit.org>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
	linux-kernel@vger.kernel.org, Hector Martin <marcan@marcan.st>
Subject: [asahilinux:bits/070-audio 12/16] sound/soc/codecs/cs42l84.c:264:3: error: field designator 'non_legacy_dai_naming' does not refer to any field in type 'const struct snd_soc_component_driver'; did you mean 'legacy_dai_naming'?
Date: Wed, 17 Aug 2022 06:38:13 +0800	[thread overview]
Message-ID: <202208170629.HwT2PwG2-lkp@intel.com> (raw)

tree:   https://github.com/AsahiLinux/linux bits/070-audio
head:   51024ef467ff6c288e679bc72d0e3fcdd54d9b39
commit: a97f70c444c0cb9842bc778c3c1def0142b2b8bf [12/16] wip: ASoC: cs42l84: Start new codec driver
config: arm-randconfig-r033-20220815 (https://download.01.org/0day-ci/archive/20220817/202208170629.HwT2PwG2-lkp@intel.com/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project aed5e3bea138ce581d682158eb61c27b3cfdd6ec)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install arm cross compiling tool for clang build
        # apt-get install binutils-arm-linux-gnueabi
        # https://github.com/AsahiLinux/linux/commit/a97f70c444c0cb9842bc778c3c1def0142b2b8bf
        git remote add asahilinux https://github.com/AsahiLinux/linux
        git fetch --no-tags asahilinux bits/070-audio
        git checkout a97f70c444c0cb9842bc778c3c1def0142b2b8bf
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm SHELL=/bin/bash sound/soc/codecs/

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>

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

>> sound/soc/codecs/cs42l84.c:244:5: warning: no previous prototype for function 'cs42l84_component_probe' [-Wmissing-prototypes]
   int cs42l84_component_probe(struct snd_soc_component *component)
       ^
   sound/soc/codecs/cs42l84.c:244:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
   int cs42l84_component_probe(struct snd_soc_component *component)
   ^
   static 
>> sound/soc/codecs/cs42l84.c:264:3: error: field designator 'non_legacy_dai_naming' does not refer to any field in type 'const struct snd_soc_component_driver'; did you mean 'legacy_dai_naming'?
           .non_legacy_dai_naming  = 1,
            ^~~~~~~~~~~~~~~~~~~~~
            legacy_dai_naming
   include/sound/soc-component.h:182:15: note: 'legacy_dai_naming' declared here
           unsigned int legacy_dai_naming:1;
                        ^
>> sound/soc/codecs/cs42l84.c:328:3: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
                   FIELD_PREP(CS42L84_ASP_FSYNC_CTL2_BCLK_PERIOD_LO, fsync & 0x7f));
                   ^
   sound/soc/codecs/cs42l84.c:517:10: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
                                                                           CS42L84_CCM_CTL1_RCO);
                                                                           ^
   sound/soc/codecs/cs42l84.h:59:3: note: expanded from macro 'CS42L84_CCM_CTL1_RCO'
           (FIELD_PREP(CS42L84_CCM_CTL1_MCLK_SRC, CS42L84_CCM_CTL1_MCLK_SRC_RCO) \
            ^
   sound/soc/codecs/cs42l84.c:563:6: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
                                           FIELD_PREP(CS42L84_CCM_CTL1_MCLK_SRC, CS42L84_CCM_CTL1_MCLK_SRC_PLL)
                                           ^
   sound/soc/codecs/cs42l84.c:570:6: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
                                           FIELD_PREP(CS42L84_CCM_CTL1_MCLK_SRC, CS42L84_CCM_CTL1_MCLK_SRC_BCLK)
                                           ^
   sound/soc/codecs/cs42l84.c:637:3: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
                   FIELD_PREP(CS42L84_MISC_DET_CTL_HSBIAS_CTL, 3) | /* 2.7 V */
                   ^
   sound/soc/codecs/cs42l84.c:713:3: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
                   FIELD_PREP(CS42L84_MISC_DET_CTL_HSBIAS_CTL, 1) | /* 0.0 V */
                   ^
   sound/soc/codecs/cs42l84.c:823:4: error: call to undeclared function 'FIELD_PREP'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
                           FIELD_PREP(CS42L84_TIP_SENSE_CTL2_MODE, CS42L84_TIP_SENSE_CTL2_MODE_SHORT_DET));
                           ^
   1 warning and 8 errors generated.


vim +264 sound/soc/codecs/cs42l84.c

   243	
 > 244	int cs42l84_component_probe(struct snd_soc_component *component)
   245	{
   246		snd_soc_component_update_bits(component, CS42L84_ASP_CTL,
   247					      CS42L84_ASP_CTL_TDM_MODE, 0);
   248		snd_soc_component_update_bits(component, CS42L84_HP_VOL_CTL,
   249					      CS42L84_HP_VOL_CTL_SOFT | CS42L84_HP_VOL_CTL_ZERO_CROSS,
   250					      CS42L84_HP_VOL_CTL_ZERO_CROSS);
   251	
   252		return 0;
   253	}
   254	
   255	static const struct snd_soc_component_driver soc_component_dev_cs42l84 = {
   256		.probe			= cs42l84_component_probe,
   257		.controls			= cs42l84_snd_controls,
   258		.num_controls		= ARRAY_SIZE(cs42l84_snd_controls),
   259		.dapm_widgets		= cs42l84_dapm_widgets,
   260		.num_dapm_widgets	= ARRAY_SIZE(cs42l84_dapm_widgets),
   261		.dapm_routes		= cs42l84_audio_map,
   262		.num_dapm_routes	= ARRAY_SIZE(cs42l84_audio_map),
   263		.endianness		= 1,
 > 264		.non_legacy_dai_naming	= 1,
   265	};
   266	
   267	struct cs42l84_pll_params {
   268		u32 bclk;
   269		u8 mclk_src_sel;
   270		u8 bclk_prediv;
   271		u8 pll_div_int;
   272		u32 pll_div_frac;
   273		u8 pll_mode;
   274		u8 pll_divout;
   275		u32 mclk_int;
   276	};
   277	
   278	/*
   279	 * Common PLL Settings for given BCLK
   280	 */
   281	static const struct cs42l84_pll_params pll_ratio_table[] = {
   282		{  3072000, 1, 0, 0x40, 0x000000, 0x03, 0x10, 12288000},
   283		{  6144000, 1, 1, 0x40, 0x000000, 0x03, 0x10, 12288000},
   284		{ 12288000, 0, 0, 0, 0, 0, 0,                 12288000},
   285		{ 24576000, 1, 3, 0x40, 0x000000, 0x03, 0x10, 12288000},
   286	};
   287	
   288	static int cs42l84_pll_config(struct snd_soc_component *component)
   289	{
   290		struct cs42l84_private *cs42l84 = snd_soc_component_get_drvdata(component);
   291		int i;
   292		u32 clk;
   293		u32 fsync;
   294	
   295		clk = cs42l84->bclk;
   296	
   297		/* Don't reconfigure if there is an audio stream running */
   298		if (cs42l84->stream_use) {
   299			if (pll_ratio_table[cs42l84->pll_config].bclk == clk)
   300				return 0;
   301			else
   302				return -EBUSY;
   303		}
   304	
   305		for (i = 0; i < ARRAY_SIZE(pll_ratio_table); i++) {
   306			if (pll_ratio_table[i].bclk == clk) {
   307				cs42l84->pll_config = i;
   308				break;
   309			}
   310		}
   311	
   312		if (i == ARRAY_SIZE(pll_ratio_table))
   313			return -EINVAL;
   314	
   315		/* Set up the LRCLK */
   316		fsync = clk / cs42l84->srate;
   317		if (((fsync * cs42l84->srate) != clk)
   318				|| ((fsync % 2) != 0)) {
   319			dev_err(component->dev,
   320				"Unsupported bclk %d/sample rate %d\n",
   321				clk, cs42l84->srate);
   322			return -EINVAL;
   323		}
   324	
   325		/* Set the LRCLK period */
   326		snd_soc_component_update_bits(component, CS42L84_ASP_FSYNC_CTL2,
   327			CS42L84_ASP_FSYNC_CTL2_BCLK_PERIOD_LO,
 > 328			FIELD_PREP(CS42L84_ASP_FSYNC_CTL2_BCLK_PERIOD_LO, fsync & 0x7f));
   329		snd_soc_component_update_bits(component, CS42L84_ASP_FSYNC_CTL3,
   330			CS42L84_ASP_FSYNC_CTL3_BCLK_PERIOD_HI,
   331			FIELD_PREP(CS42L84_ASP_FSYNC_CTL3_BCLK_PERIOD_HI, fsync >> 7));
   332	
   333		/* Save what the MCLK will be */
   334		switch (pll_ratio_table[i].mclk_int) {
   335		case 12000000:
   336			cs42l84->pll_mclk_f = CS42L84_CCM_CTL1_MCLK_F_12MHZ;
   337			break;
   338		case 12288000:
   339			cs42l84->pll_mclk_f = CS42L84_CCM_CTL1_MCLK_F_12_288KHZ;
   340			break;
   341		case 24000000:
   342			cs42l84->pll_mclk_f = CS42L84_CCM_CTL1_MCLK_F_24MHZ;
   343			break;
   344		case 24576000:
   345			cs42l84->pll_mclk_f = CS42L84_CCM_CTL1_MCLK_F_24_576KHZ;
   346			break;
   347		}
   348	
   349		if (pll_ratio_table[i].mclk_src_sel) {
   350			/* Configure PLL */
   351			snd_soc_component_update_bits(component,
   352				CS42L84_CCM_CTL3, CS42L84_CCM_CTL3_REFCLK_DIV,
   353				FIELD_PREP(CS42L84_CCM_CTL3_REFCLK_DIV, pll_ratio_table[i].bclk_prediv));
   354			snd_soc_component_write(component,
   355				CS42L84_PLL_DIV_INT,
   356				pll_ratio_table[i].pll_div_int);
   357			snd_soc_component_write(component,
   358				CS42L84_PLL_DIV_FRAC0,
   359				pll_ratio_table[i].pll_div_frac);
   360			snd_soc_component_write(component,
   361				CS42L84_PLL_DIV_FRAC1,
   362				pll_ratio_table[i].pll_div_frac >> 8);
   363			snd_soc_component_write(component,
   364				CS42L84_PLL_DIV_FRAC2,
   365				pll_ratio_table[i].pll_div_frac >> 16);
   366			snd_soc_component_update_bits(component,
   367				CS42L84_PLL_CTL1, CS42L84_PLL_CTL1_MODE,
   368				FIELD_PREP(CS42L84_PLL_CTL1_MODE, pll_ratio_table[i].pll_mode));
   369			snd_soc_component_write(component,
   370				CS42L84_PLL_DIVOUT,
   371				pll_ratio_table[i].pll_divout);
   372	
   373			snd_soc_component_update_bits(component,
   374				CS42L84_PLL_CTL1, CS42L84_PLL_CTL1_EN,
   375				CS42L84_PLL_CTL1_EN);
   376		}
   377	
   378		return 0;
   379	}
   380	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

             reply	other threads:[~2022-08-16 22:39 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-08-16 22:38 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2022-08-16  2:27 [asahilinux:bits/070-audio 12/16] sound/soc/codecs/cs42l84.c:264:3: error: field designator 'non_legacy_dai_naming' does not refer to any field in type 'const struct snd_soc_component_driver'; did you mean 'legacy_dai_naming'? kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202208170629.HwT2PwG2-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=marcan@marcan.st \
    --cc=povik+lin@cutebit.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.