Re: [PATCH v6 5/9] iio: adc: ad7173: refactor ain and vref selection
From: Ceclan, Dumitru
Date: Fri Jun 07 2024 - 05:38:03 EST
On 07/06/2024 12:04, Nuno Sá wrote:
> On Thu, 2024-06-06 at 19:07 +0300, Dumitru Ceclan via B4 Relay wrote:
>> From: Dumitru Ceclan <dumitru.ceclan@xxxxxxxxxx>
>>
>> Move validation of analog inputs and reference voltage selection to
>> separate functions to reduce the size of the channel config parsing
>> function and improve readability.
>> Add defines for the number of analog inputs in a channel.
>>
>> Signed-off-by: Dumitru Ceclan <dumitru.ceclan@xxxxxxxxxx>
>> ---
>> drivers/iio/adc/ad7173.c | 68 +++++++++++++++++++++++++++++++++--------------
>> -
>> 1 file changed, 47 insertions(+), 21 deletions(-)
>>
>> diff --git a/drivers/iio/adc/ad7173.c b/drivers/iio/adc/ad7173.c
>> index 8631f218b69e..4040edbd1c32 100644
>> --- a/drivers/iio/adc/ad7173.c
>> +++ b/drivers/iio/adc/ad7173.c
>> @@ -60,6 +60,7 @@
>> #define AD7173_CH_SETUP_AINPOS_MASK GENMASK(9, 5)
>> #define AD7173_CH_SETUP_AINNEG_MASK GENMASK(4, 0)
>>
>> +#define AD7173_NO_AINS_PER_CHANNEL 2
>> #define AD7173_CH_ADDRESS(pos, neg) \
>> (FIELD_PREP(AD7173_CH_SETUP_AINPOS_MASK, pos) | \
>> FIELD_PREP(AD7173_CH_SETUP_AINNEG_MASK, neg))
>> @@ -629,6 +630,7 @@ static int ad7173_setup(struct iio_dev *indio_dev)
>> static unsigned int ad7173_get_ref_voltage_milli(struct ad7173_state *st,
>> u8 reference_select)
>> {
>> + struct device *dev = &st->sd.spi->dev;
>> int vref;
>>
>> switch (reference_select) {
>> @@ -652,9 +654,11 @@ static unsigned int ad7173_get_ref_voltage_milli(struct
>> ad7173_state *st,
>> return -EINVAL;
>> }
>>
>> - if (vref < 0)
>> + if (vref < 0) {
>> + dev_err(dev, "Cannot use reference %u. Error:%d\n",
>> + reference_select, vref);
>> return vref;
>> -
>> + }
>> return vref / (MICRO / MILLI);
>> }
>
> unrelated?
>
> - Nuno Sá
>
Hmm, maybe I misunderstood "Any error log needed should be done inside ad7173_get_ref_voltage_milli()"
https://lore.kernel.org/all/71452f6882efe6a181d477914488617d28a38e2f.camel@xxxxxxxxx/
This change should be in a different patch or should it not've been done
this way?