From: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> This driver supports a whole load of devices with a range of different power supply connections. Lars-Peter Clausen pointed out v1 did not handle the the ad7091r which an internal voltage reference, but that can be over-driven on the vref_in / vref_out pin. The v2 handles that device properly. I also realized that I'd the binding was more restrictive for devices with internal references than it needed to be (required vcc-supply) so I've relaxed that in the updated bindings. Also reorganized the big allOf block in the binding doc to put all the constraints on reference voltage first. v3 incorporates Lars' suggestion to set the regulator pointer to null as a way to indicate that we should definitely use the internal reference. v4 fixes case of errors on the devm_regulator_get_optional() that are about something different than -ENODEV which signifies the regulator isn't specified. Jonathan Cameron (2): iio:adc:ad7476: Handle the different regulators used by various parts. dt-bindings:iio:adc:adi,ad7476: Add missing binding document .../bindings/iio/adc/adi,ad7476.yaml | 174 ++++++++++++++++++ drivers/iio/adc/ad7476.c | 118 ++++++++++-- 2 files changed, 277 insertions(+), 15 deletions(-) create mode 100644 Documentation/devicetree/bindings/iio/adc/adi,ad7476.yaml -- 2.31.1