Re: [PATCH v4 2/2] iio: dac: support the ad8460 Waveform DAC

From: kernel test robot
Date: Fri Sep 20 2024 - 21:11:38 EST


Hi Mariel,

kernel test robot noticed the following build warnings:

[auto build test WARNING on fec496684388685647652ab4213454fbabdab099]

url: https://github.com/intel-lab-lkp/linux/commits/Mariel-Tinaco/dt-bindings-iio-dac-add-docs-for-ad8460/20240912-175718
base: fec496684388685647652ab4213454fbabdab099
patch link: https://lore.kernel.org/r/20240912095435.18639-3-Mariel.Tinaco%40analog.com
patch subject: [PATCH v4 2/2] iio: dac: support the ad8460 Waveform DAC
config: sparc-randconfig-r071-20240921 (https://download.01.org/0day-ci/archive/20240921/202409210849.cRodncgA-lkp@xxxxxxxxx/config)
compiler: sparc64-linux-gcc (GCC) 14.1.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>
| Closes: https://lore.kernel.org/oe-kbuild-all/202409210849.cRodncgA-lkp@xxxxxxxxx/

smatch warnings:
drivers/iio/dac/ad8460.c:545 ad8460_write_event_value() warn: unsigned 'fault' is never less than zero.
drivers/iio/dac/ad8460.c:545 ad8460_write_event_value() warn: error code type promoted to positive: 'fault'
drivers/iio/dac/ad8460.c:567 ad8460_read_event_value() warn: unsigned 'fault' is never less than zero.
drivers/iio/dac/ad8460.c:567 ad8460_read_event_value() warn: error code type promoted to positive: 'fault'
drivers/iio/dac/ad8460.c:585 ad8460_write_event_config() warn: unsigned 'fault' is never less than zero.
drivers/iio/dac/ad8460.c:585 ad8460_write_event_config() warn: error code type promoted to positive: 'fault'
drivers/iio/dac/ad8460.c:605 ad8460_read_event_config() warn: unsigned 'fault' is never less than zero.
drivers/iio/dac/ad8460.c:605 ad8460_read_event_config() warn: error code type promoted to positive: 'fault'

vim +/fault +545 drivers/iio/dac/ad8460.c

528
529 static int ad8460_write_event_value(struct iio_dev *indio_dev,
530 const struct iio_chan_spec *chan,
531 enum iio_event_type type,
532 enum iio_event_direction dir,
533 enum iio_event_info info, int val, int val2)
534 {
535 struct ad8460_state *state = iio_priv(indio_dev);
536 unsigned int fault;
537
538 if (type != IIO_EV_TYPE_THRESH)
539 return -EINVAL;
540
541 if (info != IIO_EV_INFO_VALUE)
542 return -EINVAL;
543
544 fault = ad8460_select_fault_type(chan->type, dir);
> 545 if (fault < 0)
546 return fault;
547
548 return ad8460_set_fault_threshold(state, fault, val);
549 }
550
551 static int ad8460_read_event_value(struct iio_dev *indio_dev,
552 const struct iio_chan_spec *chan,
553 enum iio_event_type type,
554 enum iio_event_direction dir,
555 enum iio_event_info info, int *val, int *val2)
556 {
557 struct ad8460_state *state = iio_priv(indio_dev);
558 unsigned int fault;
559
560 if (type != IIO_EV_TYPE_THRESH)
561 return -EINVAL;
562
563 if (info != IIO_EV_INFO_VALUE)
564 return -EINVAL;
565
566 fault = ad8460_select_fault_type(chan->type, dir);
> 567 if (fault < 0)
568 return fault;
569
570 return ad8460_get_fault_threshold(state, fault, val);
571 }
572
573 static int ad8460_write_event_config(struct iio_dev *indio_dev,
574 const struct iio_chan_spec *chan,
575 enum iio_event_type type,
576 enum iio_event_direction dir, int val)
577 {
578 struct ad8460_state *state = iio_priv(indio_dev);
579 unsigned int fault;
580
581 if (type != IIO_EV_TYPE_THRESH)
582 return -EINVAL;
583
584 fault = ad8460_select_fault_type(chan->type, dir);
> 585 if (fault < 0)
586 return fault;
587
588 return ad8460_set_fault_threshold_en(state, fault, val);
589 }
590
591 static int ad8460_read_event_config(struct iio_dev *indio_dev,
592 const struct iio_chan_spec *chan,
593 enum iio_event_type type,
594 enum iio_event_direction dir)
595 {
596 struct ad8460_state *state = iio_priv(indio_dev);
597 unsigned int fault;
598 bool en;
599 int ret;
600
601 if (type != IIO_EV_TYPE_THRESH)
602 return -EINVAL;
603
604 fault = ad8460_select_fault_type(chan->type, dir);
> 605 if (fault < 0)
606 return fault;
607
608 ret = ad8460_get_fault_threshold_en(state, fault, &en);
609 if (ret)
610 return ret;
611
612 return en;
613 }
614

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki