Hi Antoniu, kernel test robot noticed the following build warnings: https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Antoniu-Miclaus/iio-frequency-adf4371-add-differential-ref/20241209-184437 base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg patch link: https://lore.kernel.org/r/20241209104201.25205-3-antoniu.miclaus%40analog.com patch subject: [PATCH v2 3/3] iio: frequency: adf4371: add ref doubler config: parisc-randconfig-r073-20241219 (https://download.01.org/0day-ci/archive/20241219/202412191811.lAia02sc-lkp@xxxxxxxxx/config) compiler: hppa-linux-gcc (GCC) 14.2.0 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@xxxxxxxxx> | Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx> | Closes: https://lore.kernel.org/r/202412191811.lAia02sc-lkp@xxxxxxxxx/ smatch warnings: drivers/iio/frequency/adf4371.c:545 adf4371_setup() error: uninitialized symbol 'ref_doubler_en'. vim +/ref_doubler_en +545 drivers/iio/frequency/adf4371.c 7f699bd14913423 Stefan Popa 2019-06-04 487 static int adf4371_setup(struct adf4371_state *st) 7f699bd14913423 Stefan Popa 2019-06-04 488 { 7f699bd14913423 Stefan Popa 2019-06-04 489 unsigned int synth_timeout = 2, timeout = 1, vco_alc_timeout = 1; 347e385fdd6ecda Antoniu Miclaus 2024-12-09 490 unsigned int vco_band_div, tmp, ref_doubler_en; 011032df594999f Antoniu Miclaus 2024-12-09 491 bool ref_diff_en; 7f699bd14913423 Stefan Popa 2019-06-04 492 int ret; 7f699bd14913423 Stefan Popa 2019-06-04 493 7f699bd14913423 Stefan Popa 2019-06-04 494 /* Perform a software reset */ 7f699bd14913423 Stefan Popa 2019-06-04 495 ret = regmap_write(st->regmap, ADF4371_REG(0x0), ADF4371_RESET_CMD); 7f699bd14913423 Stefan Popa 2019-06-04 496 if (ret < 0) 7f699bd14913423 Stefan Popa 2019-06-04 497 return ret; 7f699bd14913423 Stefan Popa 2019-06-04 498 7f699bd14913423 Stefan Popa 2019-06-04 499 ret = regmap_multi_reg_write(st->regmap, adf4371_reg_defaults, 7f699bd14913423 Stefan Popa 2019-06-04 500 ARRAY_SIZE(adf4371_reg_defaults)); 7f699bd14913423 Stefan Popa 2019-06-04 501 if (ret < 0) 7f699bd14913423 Stefan Popa 2019-06-04 502 return ret; 7f699bd14913423 Stefan Popa 2019-06-04 503 def914a4c3899b6 Stefan Popa 2019-06-24 504 /* Mute to Lock Detect */ def914a4c3899b6 Stefan Popa 2019-06-24 505 if (device_property_read_bool(&st->spi->dev, "adi,mute-till-lock-en")) { def914a4c3899b6 Stefan Popa 2019-06-24 506 ret = regmap_update_bits(st->regmap, ADF4371_REG(0x25), def914a4c3899b6 Stefan Popa 2019-06-24 507 ADF4371_MUTE_LD_MSK, def914a4c3899b6 Stefan Popa 2019-06-24 508 ADF4371_MUTE_LD(1)); def914a4c3899b6 Stefan Popa 2019-06-24 509 if (ret < 0) def914a4c3899b6 Stefan Popa 2019-06-24 510 return ret; def914a4c3899b6 Stefan Popa 2019-06-24 511 } def914a4c3899b6 Stefan Popa 2019-06-24 512 011032df594999f Antoniu Miclaus 2024-12-09 513 ref_diff_en = device_property_read_bool(&st->spi->dev, "adi,ref-differential-enable"); 011032df594999f Antoniu Miclaus 2024-12-09 514 7f699bd14913423 Stefan Popa 2019-06-04 515 /* Set address in ascending order, so the bulk_write() will work */ 7f699bd14913423 Stefan Popa 2019-06-04 516 ret = regmap_update_bits(st->regmap, ADF4371_REG(0x0), 7f699bd14913423 Stefan Popa 2019-06-04 517 ADF4371_ADDR_ASC_MSK | ADF4371_ADDR_ASC_R_MSK, 7f699bd14913423 Stefan Popa 2019-06-04 518 ADF4371_ADDR_ASC(1) | ADF4371_ADDR_ASC_R(1)); 7f699bd14913423 Stefan Popa 2019-06-04 519 if (ret < 0) 7f699bd14913423 Stefan Popa 2019-06-04 520 return ret; 011032df594999f Antoniu Miclaus 2024-12-09 521 011032df594999f Antoniu Miclaus 2024-12-09 522 if ((ref_diff_en && st->clkin_freq > ADF4371_MAX_FREQ_REFIN) || 011032df594999f Antoniu Miclaus 2024-12-09 523 (!ref_diff_en && st->clkin_freq > ADF4371_MAX_FREQ_REFIN_SE)) 011032df594999f Antoniu Miclaus 2024-12-09 524 return -EINVAL; 011032df594999f Antoniu Miclaus 2024-12-09 525 347e385fdd6ecda Antoniu Miclaus 2024-12-09 526 if (st->clkin_freq < ADF4371_MAX_CLKIN_DOUB_FREQ && 347e385fdd6ecda Antoniu Miclaus 2024-12-09 527 st->clkin_freq > ADF4371_MIN_CLKIN_DOUB_FREQ) 347e385fdd6ecda Antoniu Miclaus 2024-12-09 528 ref_doubler_en = 1; Uninitialized on else path. 347e385fdd6ecda Antoniu Miclaus 2024-12-09 529 011032df594999f Antoniu Miclaus 2024-12-09 530 ret = regmap_update_bits(st->regmap, ADF4371_REG(0x22), 011032df594999f Antoniu Miclaus 2024-12-09 531 ADF4371_REFIN_MODE_MASK, 011032df594999f Antoniu Miclaus 2024-12-09 532 ADF4371_REFIN_MODE(ref_diff_en)); 011032df594999f Antoniu Miclaus 2024-12-09 533 if (ret < 0) 011032df594999f Antoniu Miclaus 2024-12-09 534 return ret; 011032df594999f Antoniu Miclaus 2024-12-09 535 7f699bd14913423 Stefan Popa 2019-06-04 536 /* 7f699bd14913423 Stefan Popa 2019-06-04 537 * Calculate and maximize PFD frequency 7f699bd14913423 Stefan Popa 2019-06-04 538 * fPFD = REFIN × ((1 + D)/(R × (1 + T))) 7f699bd14913423 Stefan Popa 2019-06-04 539 * Where D is the REFIN doubler bit, T is the reference divide by 2, 7f699bd14913423 Stefan Popa 2019-06-04 540 * R is the reference division factor 7f699bd14913423 Stefan Popa 2019-06-04 541 * TODO: it is assumed D and T equal 0. 7f699bd14913423 Stefan Popa 2019-06-04 542 */ 7f699bd14913423 Stefan Popa 2019-06-04 543 do { 7f699bd14913423 Stefan Popa 2019-06-04 544 st->ref_div_factor++; 347e385fdd6ecda Antoniu Miclaus 2024-12-09 @545 st->fpfd = st->clkin_freq * (1 + ref_doubler_en) / 347e385fdd6ecda Antoniu Miclaus 2024-12-09 546 st->ref_div_factor; 7f699bd14913423 Stefan Popa 2019-06-04 547 } while (st->fpfd > ADF4371_MAX_FREQ_PFD); 7f699bd14913423 Stefan Popa 2019-06-04 548 7f699bd14913423 Stefan Popa 2019-06-04 549 /* Calculate Timeouts */ 7f699bd14913423 Stefan Popa 2019-06-04 550 vco_band_div = DIV_ROUND_UP(st->fpfd, 2400000U); 7f699bd14913423 Stefan Popa 2019-06-04 551 7f699bd14913423 Stefan Popa 2019-06-04 552 tmp = DIV_ROUND_CLOSEST(st->fpfd, 1000000U); 7f699bd14913423 Stefan Popa 2019-06-04 553 do { 7f699bd14913423 Stefan Popa 2019-06-04 554 timeout++; 7f699bd14913423 Stefan Popa 2019-06-04 555 if (timeout > 1023) { 7f699bd14913423 Stefan Popa 2019-06-04 556 timeout = 2; 7f699bd14913423 Stefan Popa 2019-06-04 557 synth_timeout++; 7f699bd14913423 Stefan Popa 2019-06-04 558 } 7f699bd14913423 Stefan Popa 2019-06-04 559 } while (synth_timeout * 1024 + timeout <= 20 * tmp); 7f699bd14913423 Stefan Popa 2019-06-04 560 7f699bd14913423 Stefan Popa 2019-06-04 561 do { 7f699bd14913423 Stefan Popa 2019-06-04 562 vco_alc_timeout++; 7f699bd14913423 Stefan Popa 2019-06-04 563 } while (vco_alc_timeout * 1024 - timeout <= 50 * tmp); 7f699bd14913423 Stefan Popa 2019-06-04 564 7f699bd14913423 Stefan Popa 2019-06-04 565 st->buf[0] = vco_band_div; 7f699bd14913423 Stefan Popa 2019-06-04 566 st->buf[1] = timeout & 0xFF; 7f699bd14913423 Stefan Popa 2019-06-04 567 st->buf[2] = ADF4371_TIMEOUT(timeout >> 8) | 0x04; 7f699bd14913423 Stefan Popa 2019-06-04 568 st->buf[3] = synth_timeout; 7f699bd14913423 Stefan Popa 2019-06-04 569 st->buf[4] = ADF4371_VCO_ALC_TOUT(vco_alc_timeout); 7f699bd14913423 Stefan Popa 2019-06-04 570 7f699bd14913423 Stefan Popa 2019-06-04 571 return regmap_bulk_write(st->regmap, ADF4371_REG(0x30), st->buf, 5); 7f699bd14913423 Stefan Popa 2019-06-04 572 } -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki