Re: [PATCH v2 1/2] staging: iio: ad7780: update voltage on read

From: Jonathan Cameron
Date: Sun Oct 28 2018 - 14:58:44 EST

On Sun, 28 Oct 2018 13:52:32 -0300
Renato Lui Geh <renatogeh@xxxxxxxxx> wrote:

> Hi Jonathan,
> Thank you for the review.
> >> + voltage_uv = regulator_get_voltage(st->reg);
> >> + if (voltage_uv)
> >> + st->int_vref_mv = voltage_uv/1000;
> >> *val = st->int_vref_mv * st->gain;
> >Is there actually a reason (now) to have the stashed value
> >of int_vref_mv in the state structure?
> From probe:
> if (voltage_uv)
> st->int_vref_mv = voltage_uv / 1000;
> else
> dev_warn(&spi->dev, "Reference voltage unspecified\n");
> So the idea was to, when voltage_uv = 0, return the previous voltage.
> Should I instead handle this as an error the same way as in probe?
I would return it as an error. I can't really see how we would get
this to occur if the bindings are all correct and appropriate driver
support is there for the regulator to actually let us use it.

If we wanted to handle the case of no regulator having been provided
cleanly then we should it using an optional regulator get, and
not provide the scale attribute at all if we can't know what it will
read. This is a weird enough corner case though that I just wouldn't
bother handling it as anything other than an error.

> Thanks,
> Renato