* [jic23-iio:sparse-friendly-direct-mode 111/166] drivers/iio/adc/ad7173.c:1184:8: warning: variable 'ret' is used uninitialized whenever 'if' condition is true
@ 2025-02-02 23:53 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-02-02 23:53 UTC (permalink / raw)
To: Jonathan Cameron; +Cc: llvm, oe-kbuild-all
tree: https://git.kernel.org/pub/scm/linux/kernel/git/jic23/iio.git sparse-friendly-direct-mode
head: bada9cd0235b288b74ee2bd65fd4223d71f62b02
commit: a0df9059bd2ef36d622cf94311dfb017b6b5de5d [111/166] iio: adc: Simple cases of switch to sparse friendly iio_device_claim/release_direct()
config: hexagon-randconfig-001-20250203 (https://download.01.org/0day-ci/archive/20250203/202502030711.VjFc2dxK-lkp@intel.com/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project 355d0b186f178668b103068537e517f3d52ad639)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250203/202502030711.VjFc2dxK-lkp@intel.com/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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202502030711.VjFc2dxK-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/iio/adc/ad7173.c:1184:8: warning: variable 'ret' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
1184 | if (freq >= st->info->sinc5_data_rates[i])
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/adc/ad7173.c:1198:9: note: uninitialized use occurs here
1198 | return ret;
| ^~~
drivers/iio/adc/ad7173.c:1184:4: note: remove the 'if' if its condition is always false
1184 | if (freq >= st->info->sinc5_data_rates[i])
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1185 | break;
| ~~~~~
>> drivers/iio/adc/ad7173.c:1183:39: warning: variable 'ret' is used uninitialized whenever 'for' loop exits because its condition is false [-Wsometimes-uninitialized]
1183 | for (i = st->info->odr_start_value; i < st->info->num_sinc5_data_rates - 1; i++)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/adc/ad7173.c:1198:9: note: uninitialized use occurs here
1198 | return ret;
| ^~~
drivers/iio/adc/ad7173.c:1183:39: note: remove the condition if it is always true
1183 | for (i = st->info->odr_start_value; i < st->info->num_sinc5_data_rates - 1; i++)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/iio/adc/ad7173.c:1160:9: note: initialize the variable 'ret' to silence this warning
1160 | int ret;
| ^
| = 0
2 warnings generated.
vim +1184 drivers/iio/adc/ad7173.c
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1152
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1153 static int ad7173_write_raw(struct iio_dev *indio_dev,
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1154 struct iio_chan_spec const *chan,
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1155 int val, int val2, long info)
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1156 {
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1157 struct ad7173_state *st = iio_priv(indio_dev);
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1158 struct ad7173_channel_config *cfg;
182bc496dc63ca Dumitru Ceclan 2024-05-30 1159 unsigned int freq, i;
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1160 int ret;
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1161
a0df9059bd2ef3 Jonathan Cameron 2025-02-02 1162 if (!iio_device_claim_direct(indio_dev))
a0df9059bd2ef3 Jonathan Cameron 2025-02-02 1163 return -EBUSY;
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1164
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1165 switch (info) {
f87b076b934f72 Dumitru Ceclan 2024-06-07 1166 /*
f87b076b934f72 Dumitru Ceclan 2024-06-07 1167 * This attribute sets the sampling frequency for each channel individually.
f87b076b934f72 Dumitru Ceclan 2024-06-07 1168 * There are no issues for raw or buffered reads of an individual channel.
f87b076b934f72 Dumitru Ceclan 2024-06-07 1169 *
f87b076b934f72 Dumitru Ceclan 2024-06-07 1170 * When multiple channels are enabled in buffered mode, the effective
f87b076b934f72 Dumitru Ceclan 2024-06-07 1171 * sampling rate of a channel is lowered in correlation to the number
f87b076b934f72 Dumitru Ceclan 2024-06-07 1172 * of channels enabled and the sampling rate of the other channels.
f87b076b934f72 Dumitru Ceclan 2024-06-07 1173 *
f87b076b934f72 Dumitru Ceclan 2024-06-07 1174 * Example: 3 channels enabled with rates CH1:6211sps CH2,CH3:10sps
f87b076b934f72 Dumitru Ceclan 2024-06-07 1175 * While the reading of CH1 takes only 0.16ms, the reading of CH2 and CH3
f87b076b934f72 Dumitru Ceclan 2024-06-07 1176 * will take 100ms each.
f87b076b934f72 Dumitru Ceclan 2024-06-07 1177 *
f87b076b934f72 Dumitru Ceclan 2024-06-07 1178 * This will cause the reading of CH1 to be actually done once every
f87b076b934f72 Dumitru Ceclan 2024-06-07 1179 * 200.16ms, an effective rate of 4.99sps.
f87b076b934f72 Dumitru Ceclan 2024-06-07 1180 */
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1181 case IIO_CHAN_INFO_SAMP_FREQ:
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1182 freq = val * MILLI + val2 / MILLI;
37ae8381ccda3c Dumitru Ceclan 2024-03-06 @1183 for (i = st->info->odr_start_value; i < st->info->num_sinc5_data_rates - 1; i++)
76a1e6a4280211 Dumitru Ceclan 2024-02-28 @1184 if (freq >= st->info->sinc5_data_rates[i])
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1185 break;
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1186
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1187 cfg = &st->channels[chan->address].cfg;
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1188 cfg->odr = i;
182bc496dc63ca Dumitru Ceclan 2024-05-30 1189 cfg->live = false;
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1190 break;
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1191
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1192 default:
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1193 ret = -EINVAL;
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1194 break;
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1195 }
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1196
a0df9059bd2ef3 Jonathan Cameron 2025-02-02 1197 iio_device_release_direct(indio_dev);
76a1e6a4280211 Dumitru Ceclan 2024-02-28 @1198 return ret;
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1199 }
76a1e6a4280211 Dumitru Ceclan 2024-02-28 1200
:::::: The code at line 1184 was first introduced by commit
:::::: 76a1e6a4280211b1ceffec4f79f96e492c661229 iio: adc: ad7173: add AD7173 driver
:::::: TO: Dumitru Ceclan <mitrutzceclan@gmail.com>
:::::: CC: Jonathan Cameron <Jonathan.Cameron@huawei.com>
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-02-02 23:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-02 23:53 [jic23-iio:sparse-friendly-direct-mode 111/166] drivers/iio/adc/ad7173.c:1184:8: warning: variable 'ret' is used uninitialized whenever 'if' condition is true kernel test robot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox