On 3/22/22 22:15, Jonathan Cameron wrote:
[...]
diff --git a/drivers/iio/adc/ti-ads1015.c b/drivers/iio/adc/ti-ads1015.c
index 66431d1445d9b..b1257f65d7431 100644
--- a/drivers/iio/adc/ti-ads1015.c
+++ b/drivers/iio/adc/ti-ads1015.c
@@ -81,6 +81,9 @@ struct ads1015_chip_data {
int num_channels;
const struct iio_info *info;
const unsigned int *data_rate;
Should probably change this to signed.
The data_rate values are unsigned ... why ?
+ const unsigned int data_rate_len;
+ const unsigned int *scale;
Why unsigned int given we use it as an array of signed ints?
Scale is also unsigned ... why ?
+ const unsigned int scale_len;
bool has_comparator;
};
@@ -108,10 +111,18 @@ static const unsigned int ads1115_data_rate[] = {
* Translation from PGA bits to full-scale positive and negative input voltage
* range in mV
*/
-static int ads1015_fullscale_range[] = {
+static const int ads1015_fullscale_range[] = {
Technically unrelated but good fix and not hurting patch readability significantly
so perhaps not worth a separate patch.
6144, 4096, 2048, 1024, 512, 256, 256, 256
};
+static const int ads1015_scale[] = { /* 12bit ADC */
+ 256, 11, 512, 11, 1024, 11, 2048, 11, 4096, 11, 6144, 11
I wonder if it's worth either using a 2D array and casting
a dimension away, or perhaps just formatting these pair wise
so we can see what is going on more obviously?
I don't feel strongly about this so up to you.
If we are trying to get rid of the type casts, then pair format it is.