From: Dan Carpenter <dan.carpenter@linaro.org>
To: oe-kbuild@lists.linux.dev,
Antoniu Miclaus <antoniu.miclaus@analog.com>,
jic23@kernel.org, robh@kernel.org, conor+dt@kernel.org,
linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, linux-pwm@vger.kernel.org
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
Antoniu Miclaus <antoniu.miclaus@analog.com>
Subject: Re: [PATCH v2 3/3] iio: frequency: adf4371: add ref doubler
Date: Thu, 19 Dec 2024 14:28:29 +0300 [thread overview]
Message-ID: <bc42978f-e86a-4560-bb4b-8a5fb2df4f4c@stanley.mountain> (raw)
In-Reply-To: <20241209104201.25205-3-antoniu.miclaus@analog.com>
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@intel.com/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@intel.com>
| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
| Closes: https://lore.kernel.org/r/202412191811.lAia02sc-lkp@intel.com/
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
next prev parent reply other threads:[~2024-12-19 11:28 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-09 10:41 [PATCH v2 1/3] dt-bindings: iio: adf4371: add differential ref Antoniu Miclaus
2024-12-09 10:41 ` [PATCH v2 2/3] iio: frequency: " Antoniu Miclaus
2024-12-09 10:41 ` [PATCH v2 3/3] iio: frequency: adf4371: add ref doubler Antoniu Miclaus
2024-12-19 11:28 ` Dan Carpenter [this message]
2024-12-15 12:35 ` [PATCH v2 1/3] dt-bindings: iio: adf4371: add differential ref Jonathan Cameron
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=bc42978f-e86a-4560-bb4b-8a5fb2df4f4c@stanley.mountain \
--to=dan.carpenter@linaro.org \
--cc=antoniu.miclaus@analog.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jic23@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pwm@vger.kernel.org \
--cc=lkp@intel.com \
--cc=oe-kbuild-all@lists.linux.dev \
--cc=oe-kbuild@lists.linux.dev \
--cc=robh@kernel.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox