Re: [PATCH v4 4/4] iio: adc: mcp3911: add support for the whole MCP39xx family

From: Krzysztof Kozlowski
Date: Wed Aug 09 2023 - 14:15:02 EST


On 09/08/2023 20:02, Jonathan Cameron wrote:
> On Wed, 9 Aug 2023 08:41:05 +0200
> Marcus Folkesson <marcus.folkesson@xxxxxxxxx> wrote:
>
>>> ...
>>>
>>>> +#define MCP3910_OFFCAL(x) (MCP3910_REG_OFFCAL_CH0 + x * 6)
>>>
>>> Inconsistent macro implementation, i.e. you need to use (x).
>>
>> Sorry, I do not get you
>>
>>
>> [...]
>>
>>>> +static int mcp3910_get_osr(struct mcp3911 *adc, int *val)
>>>> +{
>>>> + int ret, osr;
>>>
>>> Strictly speaking osr can't be negative, otherwise it's a UB below.
>>>
>>> u32 osr = FIELD_GET(MCP3910_CONFIG0_OSR, *val);
>>> int ret;
>>>
>>> and why val is int?
>>
>> I will change val to u32 for *_get_osr(), *_set_osr() and *_set_scale().
>>
>> [...]
>>
>>>> + if (device_property_read_bool(&adc->spi->dev, "microchip,data-ready-hiz"))
>>>
>>> This also becomes shorter.
>>>
>>> One trick to make it even shorter:
>>>
>>> if (device_property_present(dev, "microchip,data-ready-hiz"))
>>
>> Thank you, I wasn't aware of device_property_present().
>
> I know the read_bool function is direct equivalent of this but where a property
> is a flag, it feels more natural to me to check it with that one.
> read_present() feels more appropriate for where you want to know a more
> complex property is present.
>
> Doesn't matter that much either way however so up to you.

For the OF, of_property_read_bool() is indeed preferred. Is there
device-xxx() equivalent?

Best regards,
Krzysztof