* [jic23-iio:testing 17/36] drivers/iio/adc/ad_sigma_delta.c:493 ad_sd_trigger_handler() error: uninitialized symbol 'status_pos'.
@ 2022-04-03 1:03 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-04-03 1:03 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 8606 bytes --]
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: "Lars-Peter Clausen" <lars@metafoo.de>
CC: Jonathan Cameron <Jonathan.Cameron@huawei.com>
CC: Alexandru Tachici <alexandru.tachici@analog.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git testing
head: b09eac38bca896ebe88da75a864c94f3a9ea8492
commit: 60e0ee74d11157dbbfedfc91e56f97a12735d6d3 [17/36] iio: adc: ad_sigma_delta: Add sequencer support
:::::: branch date: 8 hours ago
:::::: commit date: 6 days ago
config: nios2-randconfig-m031-20220403 (https://download.01.org/0day-ci/archive/20220403/202204030858.ZcztrJKW-lkp(a)intel.com/config)
compiler: nios2-linux-gcc (GCC) 11.2.0
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
smatch warnings:
drivers/iio/adc/ad_sigma_delta.c:493 ad_sd_trigger_handler() error: uninitialized symbol 'status_pos'.
vim +/status_pos +493 drivers/iio/adc/ad_sigma_delta.c
af3008485ea037 Lars-Peter Clausen 2012-08-10 431
af3008485ea037 Lars-Peter Clausen 2012-08-10 432 static irqreturn_t ad_sd_trigger_handler(int irq, void *p)
af3008485ea037 Lars-Peter Clausen 2012-08-10 433 {
af3008485ea037 Lars-Peter Clausen 2012-08-10 434 struct iio_poll_func *pf = p;
af3008485ea037 Lars-Peter Clausen 2012-08-10 435 struct iio_dev *indio_dev = pf->indio_dev;
af3008485ea037 Lars-Peter Clausen 2012-08-10 436 struct ad_sigma_delta *sigma_delta = iio_device_get_drvdata(indio_dev);
0fb6ee8d0b5e90 Lars-Peter Clausen 2020-11-24 437 uint8_t *data = sigma_delta->rx_buf;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 438 unsigned int transfer_size;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 439 unsigned int sample_size;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 440 unsigned int sample_pos;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 441 unsigned int status_pos;
af3008485ea037 Lars-Peter Clausen 2012-08-10 442 unsigned int reg_size;
f0aef2d0186431 Lars-Peter Clausen 2018-11-13 443 unsigned int data_reg;
af3008485ea037 Lars-Peter Clausen 2012-08-10 444
af3008485ea037 Lars-Peter Clausen 2012-08-10 445 reg_size = indio_dev->channels[0].scan_type.realbits +
af3008485ea037 Lars-Peter Clausen 2012-08-10 446 indio_dev->channels[0].scan_type.shift;
af3008485ea037 Lars-Peter Clausen 2012-08-10 447 reg_size = DIV_ROUND_UP(reg_size, 8);
af3008485ea037 Lars-Peter Clausen 2012-08-10 448
f0aef2d0186431 Lars-Peter Clausen 2018-11-13 449 if (sigma_delta->info->data_reg != 0)
f0aef2d0186431 Lars-Peter Clausen 2018-11-13 450 data_reg = sigma_delta->info->data_reg;
f0aef2d0186431 Lars-Peter Clausen 2018-11-13 451 else
f0aef2d0186431 Lars-Peter Clausen 2018-11-13 452 data_reg = AD_SD_REG_DATA;
f0aef2d0186431 Lars-Peter Clausen 2018-11-13 453
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 454 /* Status word will be appended to the sample during transfer */
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 455 if (sigma_delta->status_appended)
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 456 transfer_size = reg_size + 1;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 457 else
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 458 transfer_size = reg_size;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 459
af3008485ea037 Lars-Peter Clausen 2012-08-10 460 switch (reg_size) {
af3008485ea037 Lars-Peter Clausen 2012-08-10 461 case 4:
af3008485ea037 Lars-Peter Clausen 2012-08-10 462 case 2:
af3008485ea037 Lars-Peter Clausen 2012-08-10 463 case 1:
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 464 status_pos = reg_size;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 465 ad_sd_read_reg_raw(sigma_delta, data_reg, transfer_size, &data[0]);
af3008485ea037 Lars-Peter Clausen 2012-08-10 466 break;
af3008485ea037 Lars-Peter Clausen 2012-08-10 467 case 3:
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 468 /*
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 469 * Data array after transfer will look like (if status is appended):
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 470 * data[] = { [0][sample][sample][sample][status] }
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 471 * Keeping the first byte 0 shifts the status postion by 1 byte to the right.
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 472 */
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 473 status_pos = reg_size + 1;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 474
af3008485ea037 Lars-Peter Clausen 2012-08-10 475 /* We store 24 bit samples in a 32 bit word. Keep the upper
af3008485ea037 Lars-Peter Clausen 2012-08-10 476 * byte set to zero. */
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 477 ad_sd_read_reg_raw(sigma_delta, data_reg, transfer_size, &data[1]);
af3008485ea037 Lars-Peter Clausen 2012-08-10 478 break;
af3008485ea037 Lars-Peter Clausen 2012-08-10 479 }
af3008485ea037 Lars-Peter Clausen 2012-08-10 480
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 481 /*
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 482 * For devices sampling only one channel at
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 483 * once, there is no need for sample number tracking.
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 484 */
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 485 if (sigma_delta->active_slots == 1) {
a1be505f49cacb Lars-Peter Clausen 2013-09-19 486 iio_push_to_buffers_with_timestamp(indio_dev, data, pf->timestamp);
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 487 goto irq_handled;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 488 }
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 489
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 490 if (sigma_delta->status_appended) {
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 491 u8 converted_channel;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 492
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 @493 converted_channel = data[status_pos] & sigma_delta->info->status_ch_mask;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 494 if (converted_channel != sigma_delta->slots[sigma_delta->current_slot]) {
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 495 /*
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 496 * Desync occurred during continuous sampling of multiple channels.
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 497 * Drop this incomplete sample and start from first channel again.
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 498 */
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 499
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 500 sigma_delta->current_slot = 0;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 501 goto irq_handled;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 502 }
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 503 }
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 504
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 505 sample_size = indio_dev->channels[0].scan_type.storagebits / 8;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 506 sample_pos = sample_size * sigma_delta->current_slot;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 507 memcpy(&sigma_delta->samples_buf[sample_pos], data, sample_size);
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 508 sigma_delta->current_slot++;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 509
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 510 if (sigma_delta->current_slot == sigma_delta->active_slots) {
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 511 sigma_delta->current_slot = 0;
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 512 iio_push_to_buffers_with_timestamp(indio_dev, sigma_delta->samples_buf,
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 513 pf->timestamp);
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 514 }
af3008485ea037 Lars-Peter Clausen 2012-08-10 515
60e0ee74d11157 Lars-Peter Clausen 2022-03-22 516 irq_handled:
af3008485ea037 Lars-Peter Clausen 2012-08-10 517 iio_trigger_notify_done(indio_dev->trig);
af3008485ea037 Lars-Peter Clausen 2012-08-10 518 sigma_delta->irq_dis = false;
af3008485ea037 Lars-Peter Clausen 2012-08-10 519 enable_irq(sigma_delta->spi->irq);
af3008485ea037 Lars-Peter Clausen 2012-08-10 520
af3008485ea037 Lars-Peter Clausen 2012-08-10 521 return IRQ_HANDLED;
af3008485ea037 Lars-Peter Clausen 2012-08-10 522 }
af3008485ea037 Lars-Peter Clausen 2012-08-10 523
--
0-DAY CI Kernel Test Service
https://01.org/lkp
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-04-03 1:03 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-04-03 1:03 [jic23-iio:testing 17/36] drivers/iio/adc/ad_sigma_delta.c:493 ad_sd_trigger_handler() error: uninitialized symbol 'status_pos' kernel test robot
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.