Re: [PATCH v3 3/3] iio: imu: st_lsm6dsx: add support for rotation sensor

From: Dan Carpenter

Date: Tue Jan 20 2026 - 01:46:17 EST


Hi Francesco,

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/Francesco-Lavra/iio-imu-st_lsm6dsx-set-FIFO-ODR-for-accelerometer-and-gyroscope-only/20260119-181615
base: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git togreg
patch link: https://lore.kernel.org/r/20260119100449.1559624-4-flavra%40baylibre.com
patch subject: [PATCH v3 3/3] iio: imu: st_lsm6dsx: add support for rotation sensor
config: sparc-randconfig-r071-20260119 (https://download.01.org/0day-ci/archive/20260120/202601200451.4BeA8JAe-lkp@xxxxxxxxx/config)
compiler: sparc-linux-gcc (GCC) 15.2.0
smatch version: v0.5.0-8985-g2614ff1a

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>
| Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
| Closes: https://lore.kernel.org/r/202601200451.4BeA8JAe-lkp@xxxxxxxxx/

smatch warnings:
drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_fusion.c:90 st_lsm6dsx_sf_set_odr() error: uninitialized symbol 'odr_val'.

vim +/odr_val +90 drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_fusion.c

aa03865dcb5ed7 Francesco Lavra 2026-01-19 70 int st_lsm6dsx_sf_set_odr(struct st_lsm6dsx_sensor *sensor, bool enable)
aa03865dcb5ed7 Francesco Lavra 2026-01-19 71 {
aa03865dcb5ed7 Francesco Lavra 2026-01-19 72 struct st_lsm6dsx_hw *hw = sensor->hw;
aa03865dcb5ed7 Francesco Lavra 2026-01-19 73 const struct st_lsm6dsx_sf_settings *settings;
aa03865dcb5ed7 Francesco Lavra 2026-01-19 74 u8 data;
aa03865dcb5ed7 Francesco Lavra 2026-01-19 75 int err;
aa03865dcb5ed7 Francesco Lavra 2026-01-19 76
aa03865dcb5ed7 Francesco Lavra 2026-01-19 77 guard(mutex)(&hw->page_lock);
aa03865dcb5ed7 Francesco Lavra 2026-01-19 78
aa03865dcb5ed7 Francesco Lavra 2026-01-19 79 err = st_lsm6dsx_sf_set_page(hw, true);
aa03865dcb5ed7 Francesco Lavra 2026-01-19 80 if (err < 0)
aa03865dcb5ed7 Francesco Lavra 2026-01-19 81 return err;
aa03865dcb5ed7 Francesco Lavra 2026-01-19 82
aa03865dcb5ed7 Francesco Lavra 2026-01-19 83 settings = &hw->settings->sf_settings;
aa03865dcb5ed7 Francesco Lavra 2026-01-19 84 if (enable) {
aa03865dcb5ed7 Francesco Lavra 2026-01-19 85 u8 odr_val;
aa03865dcb5ed7 Francesco Lavra 2026-01-19 86 const struct st_lsm6dsx_reg *reg = &settings->odr_table.reg;
aa03865dcb5ed7 Francesco Lavra 2026-01-19 87
aa03865dcb5ed7 Francesco Lavra 2026-01-19 88 st_lsm6dsx_sf_get_odr_val(settings, sensor->hwfifo_odr_mHz,
aa03865dcb5ed7 Francesco Lavra 2026-01-19 89 &odr_val);

No error checking on st_lsm6dsx_sf_get_odr_val(). Probably this is
deliberate?

aa03865dcb5ed7 Francesco Lavra 2026-01-19 @90 data = ST_LSM6DSX_SHIFT_VAL(odr_val, reg->mask);
aa03865dcb5ed7 Francesco Lavra 2026-01-19 91 err = regmap_update_bits(hw->regmap, reg->addr, reg->mask,
aa03865dcb5ed7 Francesco Lavra 2026-01-19 92 data);
aa03865dcb5ed7 Francesco Lavra 2026-01-19 93 if (err < 0)
aa03865dcb5ed7 Francesco Lavra 2026-01-19 94 goto out;
aa03865dcb5ed7 Francesco Lavra 2026-01-19 95 }
aa03865dcb5ed7 Francesco Lavra 2026-01-19 96
aa03865dcb5ed7 Francesco Lavra 2026-01-19 97 err = regmap_assign_bits(hw->regmap, settings->fifo_enable.addr,
aa03865dcb5ed7 Francesco Lavra 2026-01-19 98 settings->fifo_enable.mask, enable);
aa03865dcb5ed7 Francesco Lavra 2026-01-19 99 if (err < 0)
aa03865dcb5ed7 Francesco Lavra 2026-01-19 100 goto out;
aa03865dcb5ed7 Francesco Lavra 2026-01-19 101
aa03865dcb5ed7 Francesco Lavra 2026-01-19 102 return st_lsm6dsx_sf_set_page(hw, false);
aa03865dcb5ed7 Francesco Lavra 2026-01-19 103
aa03865dcb5ed7 Francesco Lavra 2026-01-19 104 out:
aa03865dcb5ed7 Francesco Lavra 2026-01-19 105 st_lsm6dsx_sf_set_page(hw, false);
aa03865dcb5ed7 Francesco Lavra 2026-01-19 106
aa03865dcb5ed7 Francesco Lavra 2026-01-19 107 return err;
aa03865dcb5ed7 Francesco Lavra 2026-01-19 108 }

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