On Mon, 2024-11-11 at 12:53 +0100, Uwe Kleine-König wrote: > Hello Nuno, > > On Mon, Nov 11, 2024 at 11:37:46AM +0100, Nuno Sá wrote: > > On Fri, 2024-11-08 at 19:18 +0100, Uwe Kleine-König wrote: > > > @@ -821,6 +822,11 @@ static int ad7124_parse_channel_config(struct iio_dev > > > *indio_dev, > > > if (!st->num_channels) > > > return dev_err_probe(dev, -ENODEV, "no channel > > > children\n"); > > > > > > + if (st->num_channels > AD7124_MAX_CHANNELS) { > > > + dev_warn(dev, "Limit number of channels to " > > > __stringify(AD7124_MAX_CHANNELS) "\n"); > > > + st->num_channels = AD7124_MAX_CHANNELS; > > > + } > > > > Hmmm, I would treat it as an error... > > Well, it probably results in an error further below when the first child > is hit that uses a too high reg property. I considered erroring out Assuming no one points two different nodes to the same reg :) > here, but thought this might not be justified if some children are not > logical channels. I'm not sure either way, but can rework accordingly if > all other concerns are resolved. > Anyways, I'm not totally sure about the logical channels you and David are discussing (did not went through it), but FWIW, I agree that we should stop probe if something is not supported rather than proceed just to get non obvious, subtle bugs. - Nuno Sá