On 2016-10-20 16:08, Peter Meerwald-Stadler wrote:
>>>> +  u32 max_ohms;
>>>> +};
>>>> +
>>>> +static const struct iio_chan_spec dpot_dac_iio_channel = {
>>>> +  .type = IIO_VOLTAGE,
>>>> +  .info_mask_separate = BIT(IIO_CHAN_INFO_RAW)
>>>> +                      | BIT(IIO_CHAN_INFO_SCALE),
>>>> +  .output = 1,
>>>> +};
>>>> +
>>>> +static int dpot_dac_read_raw(struct iio_dev *indio_dev,
>>>> +                       struct iio_chan_spec const *chan,
>>>> +                       int *val, int *val2, long mask)
>>>> +{
>>>> +  struct dpot_dac *dac = iio_priv(indio_dev);
>>>> +  int ret;
>>>> +  unsigned long long tmp;
>>>
>>> s64 (which is used to cast below)
>>
>> I assume that what you really want is to get rid of the cast, and
>> that you aren't really bothered if tmp is ull or s32, right? Given
>> that assumption, I'm just dropping the cast instead. The LL specifier
>> on the constant should promote *val anyway.
> 
> what I meant to pick upon was mixing
> s64 with unsigned long long with LL in the code that follows
> 
> anything simpler and more consistent would be good

Right, I should however note that I copied the pattern from the
industrialio-core.c:iio_format_value function. So, in my defense
I was consistent with that...

Cheers,
Peter

Reply via email to