Re: [PATCH v2 1/4] iio: backend: update iio_backend_oversampling_ratio_set

From: kernel test robot
Date: Fri May 09 2025 - 14:04:01 EST


Hi Pop,

kernel test robot noticed the following build warnings:

[auto build test WARNING on jic23-iio/togreg]
[also build test WARNING on linus/master v6.15-rc5 next-20250509]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Pop-Ioan-Daniel/iio-backend-update-iio_backend_oversampling_ratio_set/20250508-203339
base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
patch link: https://lore.kernel.org/r/20250508123107.3797042-2-pop.ioan-daniel%40analog.com
patch subject: [PATCH v2 1/4] iio: backend: update iio_backend_oversampling_ratio_set
config: i386-randconfig-061-20250509 (https://download.01.org/0day-ci/archive/20250510/202505100131.FZe7C8ot-lkp@xxxxxxxxx/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250510/202505100131.FZe7C8ot-lkp@xxxxxxxxx/reproduce)

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/202505100131.FZe7C8ot-lkp@xxxxxxxxx/

sparse warnings: (new ones prefixed by >>)
>> drivers/iio/adc/ad4851.c:324:60: sparse: sparse: incorrect type in argument 2 (different base types) @@ expected unsigned int chan @@ got struct iio_chan_spec const *chan @@
drivers/iio/adc/ad4851.c:324:60: sparse: expected unsigned int chan
drivers/iio/adc/ad4851.c:324:60: sparse: got struct iio_chan_spec const *chan

vim +324 drivers/iio/adc/ad4851.c

295
296 static int ad4851_set_oversampling_ratio(struct iio_dev *indio_dev,
297 const struct iio_chan_spec *chan,
298 unsigned int osr)
299 {
300 struct ad4851_state *st = iio_priv(indio_dev);
301 int val, ret;
302
303 guard(mutex)(&st->lock);
304
305 if (osr == 1) {
306 ret = regmap_clear_bits(st->regmap, AD4851_REG_OVERSAMPLE,
307 AD4851_OS_EN_MSK);
308 if (ret)
309 return ret;
310 } else {
311 val = ad4851_osr_to_regval(osr);
312 if (val < 0)
313 return -EINVAL;
314
315 ret = regmap_update_bits(st->regmap, AD4851_REG_OVERSAMPLE,
316 AD4851_OS_EN_MSK |
317 AD4851_OS_RATIO_MSK,
318 FIELD_PREP(AD4851_OS_EN_MSK, 1) |
319 FIELD_PREP(AD4851_OS_RATIO_MSK, val));
320 if (ret)
321 return ret;
322 }
323
> 324 ret = iio_backend_oversampling_ratio_set(st->back, chan, osr);
325 if (ret)
326 return ret;
327
328 switch (st->info->resolution) {
329 case 20:
330 switch (osr) {
331 case 0:
332 return -EINVAL;
333 case 1:
334 val = 20;
335 break;
336 default:
337 val = 24;
338 break;
339 }
340 break;
341 case 16:
342 val = 16;
343 break;
344 default:
345 return -EINVAL;
346 }
347
348 ret = iio_backend_data_size_set(st->back, val);
349 if (ret)
350 return ret;
351
352 if (osr == 1 || st->info->resolution == 16) {
353 ret = regmap_clear_bits(st->regmap, AD4851_REG_PACKET,
354 AD4851_PACKET_FORMAT_MASK);
355 if (ret)
356 return ret;
357
358 st->resolution_boost_enabled = false;
359 } else {
360 ret = regmap_update_bits(st->regmap, AD4851_REG_PACKET,
361 AD4851_PACKET_FORMAT_MASK,
362 FIELD_PREP(AD4851_PACKET_FORMAT_MASK, 1));
363 if (ret)
364 return ret;
365
366 st->resolution_boost_enabled = true;
367 }
368
369 if (st->osr != osr) {
370 ret = ad4851_scale_fill(indio_dev);
371 if (ret)
372 return ret;
373
374 st->osr = osr;
375 }
376
377 return 0;
378 }
379

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