From: kernel test robot <lkp@intel.com>
To: Jaroslav Kysela <perex@perex.cz>
Cc: llvm@lists.linux.dev, oe-kbuild-all@lists.linux.dev,
Mark Brown <broonie@kernel.org>
Subject: [linux-next:master 11929/12398] sound/soc/codecs/nau8325.c:430:13: warning: variable 'n2_max' is uninitialized when used here
Date: Thu, 27 Nov 2025 13:50:44 +0800 [thread overview]
Message-ID: <202511271353.g6GYVUt6-lkp@intel.com> (raw)
Hi Jaroslav,
First bad commit (maybe != root cause):
tree: https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git master
head: ef68bf704646690aba5e81c2f7be8d6ef13d7ad8
commit: cd41d3420ef658b2ca902d7677536ec8e25b610a [11929/12398] ASoC: nau8325: add missing build config
config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20251127/202511271353.g6GYVUt6-lkp@intel.com/config)
compiler: clang version 19.1.7 (https://github.com/llvm/llvm-project cd708029e0b2869e80abe31ddb175f7c35361f90)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20251127/202511271353.g6GYVUt6-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202511271353.g6GYVUt6-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> sound/soc/codecs/nau8325.c:430:13: warning: variable 'n2_max' is uninitialized when used here [-Wuninitialized]
430 | *n2_sel = n2_max;
| ^~~~~~
sound/soc/codecs/nau8325.c:389:52: note: initialize the variable 'n2_max' to silence this warning
389 | int i, j, mclk, mclk_max, ratio, ratio_sel, n2_max;
| ^
| = 0
>> sound/soc/codecs/nau8325.c:431:11: warning: variable 'ratio_sel' is uninitialized when used here [-Wuninitialized]
431 | ratio = ratio_sel;
| ^~~~~~~~~
sound/soc/codecs/nau8325.c:389:44: note: initialize the variable 'ratio_sel' to silence this warning
389 | int i, j, mclk, mclk_max, ratio, ratio_sel, n2_max;
| ^
| = 0
2 warnings generated.
vim +/n2_max +430 sound/soc/codecs/nau8325.c
c0a3873b9938bf Seven Lee 2024-03-27 384
c0a3873b9938bf Seven Lee 2024-03-27 385 static int nau8325_clksrc_choose(struct nau8325 *nau8325,
c0a3873b9938bf Seven Lee 2024-03-27 386 const struct nau8325_srate_attr **srate_table,
c0a3873b9938bf Seven Lee 2024-03-27 387 int *n1_sel, int *mult_sel, int *n2_sel)
c0a3873b9938bf Seven Lee 2024-03-27 388 {
c0a3873b9938bf Seven Lee 2024-03-27 389 int i, j, mclk, mclk_max, ratio, ratio_sel, n2_max;
c0a3873b9938bf Seven Lee 2024-03-27 390
c0a3873b9938bf Seven Lee 2024-03-27 391 if (!nau8325->mclk || !nau8325->fs)
c0a3873b9938bf Seven Lee 2024-03-27 392 goto proc_err;
c0a3873b9938bf Seven Lee 2024-03-27 393
c0a3873b9938bf Seven Lee 2024-03-27 394 /* select sampling rate and MCLK_SRC */
c0a3873b9938bf Seven Lee 2024-03-27 395 *srate_table = target_srate_attribute(nau8325->fs);
c0a3873b9938bf Seven Lee 2024-03-27 396 if (!*srate_table)
c0a3873b9938bf Seven Lee 2024-03-27 397 goto proc_err;
c0a3873b9938bf Seven Lee 2024-03-27 398
c0a3873b9938bf Seven Lee 2024-03-27 399 /* First check clock from MCLK directly, decide N2 for MCLK_SRC.
c0a3873b9938bf Seven Lee 2024-03-27 400 * If not good, consider 1/N1 and Multiplier.
c0a3873b9938bf Seven Lee 2024-03-27 401 */
c0a3873b9938bf Seven Lee 2024-03-27 402 ratio = nau8325_clksrc_n2(nau8325, *srate_table, nau8325->mclk, n2_sel);
c0a3873b9938bf Seven Lee 2024-03-27 403 if (ratio != NAU8325_MCLK_FS_RATIO_NUM) {
c0a3873b9938bf Seven Lee 2024-03-27 404 *n1_sel = 0;
c0a3873b9938bf Seven Lee 2024-03-27 405 *mult_sel = CLK_PROC_BYPASS;
c0a3873b9938bf Seven Lee 2024-03-27 406 *n2_sel = MCLK_SRC;
c0a3873b9938bf Seven Lee 2024-03-27 407 goto proc_done;
c0a3873b9938bf Seven Lee 2024-03-27 408 }
c0a3873b9938bf Seven Lee 2024-03-27 409
c0a3873b9938bf Seven Lee 2024-03-27 410 /* Get MCLK_SRC through 1/N, Multiplier, and then 1/N2. */
c0a3873b9938bf Seven Lee 2024-03-27 411 mclk_max = 0;
c0a3873b9938bf Seven Lee 2024-03-27 412 for (i = 0; i < ARRAY_SIZE(mclk_n1_div); i++) {
c0a3873b9938bf Seven Lee 2024-03-27 413 for (j = 0; j < ARRAY_SIZE(mclk_n3_mult); j++) {
c0a3873b9938bf Seven Lee 2024-03-27 414 mclk = nau8325->mclk << mclk_n3_mult[j].param;
c0a3873b9938bf Seven Lee 2024-03-27 415 mclk = mclk / mclk_n1_div[i].param;
c0a3873b9938bf Seven Lee 2024-03-27 416 ratio = nau8325_clksrc_n2(nau8325,
c0a3873b9938bf Seven Lee 2024-03-27 417 *srate_table, mclk, n2_sel);
c0a3873b9938bf Seven Lee 2024-03-27 418 if (ratio != NAU8325_MCLK_FS_RATIO_NUM &&
c0a3873b9938bf Seven Lee 2024-03-27 419 (mclk_max < mclk || i > *n1_sel)) {
c0a3873b9938bf Seven Lee 2024-03-27 420 mclk_max = mclk;
c0a3873b9938bf Seven Lee 2024-03-27 421 n2_max = *n2_sel;
c0a3873b9938bf Seven Lee 2024-03-27 422 *n1_sel = i;
c0a3873b9938bf Seven Lee 2024-03-27 423 *mult_sel = j;
c0a3873b9938bf Seven Lee 2024-03-27 424 ratio_sel = ratio;
c0a3873b9938bf Seven Lee 2024-03-27 425 goto proc_done;
c0a3873b9938bf Seven Lee 2024-03-27 426 }
c0a3873b9938bf Seven Lee 2024-03-27 427 }
c0a3873b9938bf Seven Lee 2024-03-27 428 }
c0a3873b9938bf Seven Lee 2024-03-27 429 if (mclk_max) {
c0a3873b9938bf Seven Lee 2024-03-27 @430 *n2_sel = n2_max;
c0a3873b9938bf Seven Lee 2024-03-27 @431 ratio = ratio_sel;
c0a3873b9938bf Seven Lee 2024-03-27 432 goto proc_done;
c0a3873b9938bf Seven Lee 2024-03-27 433 }
c0a3873b9938bf Seven Lee 2024-03-27 434
c0a3873b9938bf Seven Lee 2024-03-27 435 proc_err:
c0a3873b9938bf Seven Lee 2024-03-27 436 dev_dbg(nau8325->dev, "The MCLK %d is invalid. It can't get MCLK_SRC of 256/400/500 FS (%d)",
c0a3873b9938bf Seven Lee 2024-03-27 437 nau8325->mclk, nau8325->fs);
c0a3873b9938bf Seven Lee 2024-03-27 438 return -EINVAL;
c0a3873b9938bf Seven Lee 2024-03-27 439 proc_done:
c0a3873b9938bf Seven Lee 2024-03-27 440 dev_dbg(nau8325->dev, "nau8325->fs=%d,range=0x%x, %s, (n1,mu,n2,dmu):(%d,%d,%d), MCLK_SRC=%uHz (%d)",
c0a3873b9938bf Seven Lee 2024-03-27 441 nau8325->fs, (*srate_table)->range,
c0a3873b9938bf Seven Lee 2024-03-27 442 (*srate_table)->max ? "MAX" : "MIN",
c0a3873b9938bf Seven Lee 2024-03-27 443 *n1_sel == CLK_PROC_BYPASS ?
c0a3873b9938bf Seven Lee 2024-03-27 444 CLK_PROC_BYPASS : mclk_n1_div[*n1_sel].param,
c0a3873b9938bf Seven Lee 2024-03-27 445 *mult_sel == CLK_PROC_BYPASS ?
c0a3873b9938bf Seven Lee 2024-03-27 446 CLK_PROC_BYPASS : 1 << mclk_n3_mult[*mult_sel].param,
c0a3873b9938bf Seven Lee 2024-03-27 447 1 << mclk_n2_div[*n2_sel].param,
c0a3873b9938bf Seven Lee 2024-03-27 448 (*srate_table)->mclk_src[ratio],
c0a3873b9938bf Seven Lee 2024-03-27 449 (*srate_table)->mclk_src[ratio] / nau8325->fs);
c0a3873b9938bf Seven Lee 2024-03-27 450
c0a3873b9938bf Seven Lee 2024-03-27 451 return 0;
c0a3873b9938bf Seven Lee 2024-03-27 452 }
c0a3873b9938bf Seven Lee 2024-03-27 453
:::::: The code at line 430 was first introduced by commit
:::::: c0a3873b9938bfaa77bd337cad33266a50a6583f ASoC: nau8325: new driver
:::::: TO: Seven Lee <wtli@nuvoton.com>
:::::: CC: Mark Brown <broonie@kernel.org>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next reply other threads:[~2025-11-27 5:51 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-27 5:50 kernel test robot [this message]
2025-12-01 19:10 ` [linux-next:master 11929/12398] sound/soc/codecs/nau8325.c:430:13: warning: variable 'n2_max' is uninitialized when used here Nathan Chancellor
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=202511271353.g6GYVUt6-lkp@intel.com \
--to=lkp@intel.com \
--cc=broonie@kernel.org \
--cc=llvm@lists.linux.dev \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=perex@perex.cz \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox