Re: [jic23-iio:testing 23/47] drivers/iio/dac/adi-axi-dac.c:731 axi_dac_bus_set_io_mode() warn: always true condition '(mode >= 0) => (0-u32max >= 0)'

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 04.02.2025 08:57, Jonathan Cameron wrote:
> On Tue, 4 Feb 2025 09:43:17 +0100
> Angelo Dureghello <adureghello@xxxxxxxxxxxx> wrote:
> 
> > Hi Jonathan,
> > 
> > On 04.02.2025 07:23, kernel test robot wrote:
> > > tree:   https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git testing
> > > head:   315198c0a370da031f5c3d504b99f771a0c545ab
> > > commit: 493122c53af1915b4b5b5f47a8c446973ebff052 [23/47] iio: dac: adi-axi-dac: add bus mode setup
> > > config: m68k-randconfig-r071-20250204 (https://download.01.org/0day-ci/archive/20250204/202502040758.DJqHqhLO-lkp@xxxxxxxxx/config)
> > > compiler: m68k-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>
> > > | Closes: https://lore.kernel.org/oe-kbuild-all/202502040758.DJqHqhLO-lkp@xxxxxxxxx/
> > > 
> > > smatch warnings:
> > > drivers/iio/dac/adi-axi-dac.c:731 axi_dac_bus_set_io_mode() warn: always true condition '(mode >= 0) => (0-u32max >= 0)'
> > > 
> > > vim +731 drivers/iio/dac/adi-axi-dac.c
> > > 
> > >    724	
> > >    725	static int axi_dac_bus_set_io_mode(struct iio_backend *back,
> > >    726					   enum ad3552r_io_mode mode)
> > >    727	{
> > >    728		struct axi_dac_state *st = iio_backend_get_priv(back);
> > >    729		int ival, ret;
> > >    730	  
> > >  > 731		if (!(mode >= AD3552R_IO_MODE_SPI && mode <= AD3552R_IO_MODE_QSPI))  
> > >    732  
> > 
> > not clear to me the reason of this warning, maybe because mode is an enum ?
> > Should i take any action ?
> 
> Currently there are only a few modes in there and that range covers them all I think.
> So warning is correct, but we perhaps want this check there as hardening against future
> addition of more modes.  Maybe an explicit switch with all modes listed and a default
> will have same effect and be better defense anyway against future changes?
> 
> Jonathan

thanks, clear now. 
Is maintaining the waring an issue ?
Another chance may be adding a AD3552R_IO_MODE_MAX as last item ?

angelo
> 
> 
> > 
> > 			return -EINVAL;
> > >    733	
> > >    734		guard(mutex)(&st->lock);
> > >    735	
> > >    736		ret = regmap_update_bits(st->regmap, AXI_DAC_CUSTOM_CTRL_REG,
> > >    737				AXI_DAC_CUSTOM_CTRL_MULTI_IO_MODE,
> > >    738				FIELD_PREP(AXI_DAC_CUSTOM_CTRL_MULTI_IO_MODE, mode));
> > >    739		if (ret)
> > >    740			return ret;
> > >    741	
> > >    742		return regmap_read_poll_timeout(st->regmap, AXI_DAC_UI_STATUS_REG, ival,
> > >    743				FIELD_GET(AXI_DAC_UI_STATUS_IF_BUSY, ival) == 0, 10,
> > >    744				100 * KILO);
> > >    745	}
> > >    746	
> > > 
> > > -- 
> > > 0-DAY CI Kernel Test Service
> > > https://github.com/intel/lkp-tests/wiki  
> > 
> > Thanks,
> > regards,
> > angelo
> 




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux