Re: [PATCH v2] dt-bindings:iio:adc:st,spear600-adc: txt to yaml format conversion.

From: Rodrigo Gobbi
Date: Sat May 03 2025 - 14:48:19 EST


> Is 0 the default here or 1? "Single data conversion" sounds more like 1
> sample than 0, and the default of 0 is below the minimum of 1. What's
> going on there?

Good point, after I`ve submitted the patch I was double checking it and noticed
that too. It`s stange because the public datasheet mentions "Programmable averaging of results
from 1 (No averaging) up to 128". Meanwhile, the spear_adc.c driver at probe
stated the following:

/*
* Optional avg_samples defaults to 0, resulting in single data
* conversion
*/
device_property_read_u32(dev, "average-samples", &st->avg_samples);

Since avg_samples is inside

struct spear_adc_state *st;

which is allocated with devm_iio_device_alloc() (which uses the kzalloc/zero filling the priv data):

indio_dev = devm_iio_device_alloc(dev, sizeof(struct spear_adc_state));
if (!indio_dev)
return dev_err_probe(dev, -ENOMEM,
"failed allocating iio device\n");

st = iio_priv(indio_dev);

...matches the driver comment meaning the default is actually "0", single data, but it does
not match the public datasheet in my understanding. Since I don`t have access to a more
detailed datasheet, I chose to describe "1" as a minimum value, but I agree it is weird.
Maybe we could drop the minimum constraint in this case (go with default and max)?
Tks and regards.