iio: adc: max1363: Reorder mode_list[] entries
commit 8d8d7c1dbc46aa07a76acab7336a42ddd900be10 upstream. The IIO core issues warnings when a scan mask is a subset of a previous entry in the available_scan_masks array. On a board using a MAX11601, the following warning is observed: max1363 1-0064: available_scan_mask 7 subset of 6. Never used This occurs because the entries in the max11607_mode_list[] array are not ordered correctly. To fix this, reorder the entries so that no scan mask is a subset of an earlier one. While at it, reorder the mode_list[] arrays for other supported chips as well, to prevent similar warnings on different variants. Note fixes tag dropped as these were introduced over many commits a long time back and the side effect until recently was a reduction in sampling rate due to reading too many channels when only a few were desired. Now we have a sanity check that reports this error but that is not where the issue was introduced. Cc: stable@vger.kernel.org Signed-off-by: Fabio Estevam <festevam@denx.de> Acked-by: Matti Vaittinen <mazziesaccount@gmail.com> Link: https://patch.msgid.link/20250516173900.677821-2-festevam@gmail.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
d127669826
commit
466bad8a10
@@ -534,23 +534,23 @@ static const struct iio_chan_spec max1363_channels[] =
|
||||
/* Applies to max1236, max1237 */
|
||||
static const enum max1363_modes max1236_mode_list[] = {
|
||||
_s0, _s1, _s2, _s3,
|
||||
s0to1, s0to2, s0to3,
|
||||
s0to1, s0to2, s2to3, s0to3,
|
||||
d0m1, d2m3, d1m0, d3m2,
|
||||
d0m1to2m3, d1m0to3m2,
|
||||
s2to3,
|
||||
};
|
||||
|
||||
/* Applies to max1238, max1239 */
|
||||
static const enum max1363_modes max1238_mode_list[] = {
|
||||
_s0, _s1, _s2, _s3, _s4, _s5, _s6, _s7, _s8, _s9, _s10, _s11,
|
||||
s0to1, s0to2, s0to3, s0to4, s0to5, s0to6,
|
||||
s6to7, s6to8, s6to9, s6to10, s6to11,
|
||||
s0to7, s0to8, s0to9, s0to10, s0to11,
|
||||
d0m1, d2m3, d4m5, d6m7, d8m9, d10m11,
|
||||
d1m0, d3m2, d5m4, d7m6, d9m8, d11m10,
|
||||
d0m1to2m3, d0m1to4m5, d0m1to6m7, d0m1to8m9, d0m1to10m11,
|
||||
d1m0to3m2, d1m0to5m4, d1m0to7m6, d1m0to9m8, d1m0to11m10,
|
||||
s6to7, s6to8, s6to9, s6to10, s6to11,
|
||||
d6m7to8m9, d6m7to10m11, d7m6to9m8, d7m6to11m10,
|
||||
d0m1to2m3, d0m1to4m5, d0m1to6m7, d6m7to8m9,
|
||||
d0m1to8m9, d6m7to10m11, d0m1to10m11, d1m0to3m2,
|
||||
d1m0to5m4, d1m0to7m6, d7m6to9m8, d1m0to9m8,
|
||||
d7m6to11m10, d1m0to11m10,
|
||||
};
|
||||
|
||||
#define MAX1363_12X_CHANS(bits) { \
|
||||
@@ -586,16 +586,15 @@ static const struct iio_chan_spec max1238_channels[] = MAX1363_12X_CHANS(12);
|
||||
|
||||
static const enum max1363_modes max11607_mode_list[] = {
|
||||
_s0, _s1, _s2, _s3,
|
||||
s0to1, s0to2, s0to3,
|
||||
s2to3,
|
||||
s0to1, s0to2, s2to3,
|
||||
s0to3,
|
||||
d0m1, d2m3, d1m0, d3m2,
|
||||
d0m1to2m3, d1m0to3m2,
|
||||
};
|
||||
|
||||
static const enum max1363_modes max11608_mode_list[] = {
|
||||
_s0, _s1, _s2, _s3, _s4, _s5, _s6, _s7,
|
||||
s0to1, s0to2, s0to3, s0to4, s0to5, s0to6, s0to7,
|
||||
s6to7,
|
||||
s0to1, s0to2, s0to3, s0to4, s0to5, s0to6, s6to7, s0to7,
|
||||
d0m1, d2m3, d4m5, d6m7,
|
||||
d1m0, d3m2, d5m4, d7m6,
|
||||
d0m1to2m3, d0m1to4m5, d0m1to6m7,
|
||||
|
||||
Reference in New Issue
Block a user