From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jonathan Cameron Subject: Re: [PATCH 3/3] iio: ad5064: Always use external vref if there is no internal vref Date: Sun, 4 Oct 2015 14:52:22 +0100 Message-ID: <56112F16.5090307@kernel.org> References: <1443789702-24945-1-git-send-email-paul.cercueil@analog.com> <1443789702-24945-3-git-send-email-paul.cercueil@analog.com> Mime-Version: 1.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <1443789702-24945-3-git-send-email-paul.cercueil-OyLXuOCK7orQT0dZR+AlfA@public.gmane.org> Sender: linux-iio-owner-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: Paul Cercueil Cc: Michael Hennerich , Lars-Peter Clausen , Hartmut Knaack , Peter Meerwald , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , Kumar Gala , devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-iio-u79uwXL29TY76Z2rM5mHXA@public.gmane.org List-Id: devicetree@vger.kernel.org On 02/10/15 13:41, Paul Cercueil wrote: > If the device does not have an internal reference, there is no > other choice but to use the external reference. In that case, > it does not make much sense to have to specify it. > > This patch ensures that the external reference is used if the > device does not feature an internal reference. > > Signed-off-by: Paul Cercueil Other than the issue the autobuilder found I'm happy enough with the series. Given it is Lars' driver I'd like him to take a look as well before I apply it. Thanks, Jonathan > --- > drivers/iio/dac/ad5064.c | 9 +++------ > 1 file changed, 3 insertions(+), 6 deletions(-) > > diff --git a/drivers/iio/dac/ad5064.c b/drivers/iio/dac/ad5064.c > index 7146f42..daee39e 100644 > --- a/drivers/iio/dac/ad5064.c > +++ b/drivers/iio/dac/ad5064.c > @@ -464,7 +464,9 @@ static int ad5064_probe(struct device *dev, enum ad5064_type type, > for (i = 0; i < ad5064_num_vref(st); ++i) > st->vref_reg[i].supply = ad5064_vref_name(st, i); > > - if (dev->of_node) { > + if (!st->chip_info->internal_vref) { > + ext_vref = true; > + } else if (dev->of_node) { > for (i = 0; ext_vref && i < ad5064_num_vref(st); ++i) > ext_vref = of_property_read_bool(dev->of_node, > ad5064_vref_name(st, i)); > @@ -483,11 +485,6 @@ static int ad5064_probe(struct device *dev, enum ad5064_type type, > if (ret) > return ret; > } else { > - if (!st->chip_info->internal_vref) { > - dev_err(dev, "No vref available\n"); > - return -ENXIO; > - } > - > st->use_internal_vref = true; > ret = ad5064_write(st, AD5064_CMD_CONFIG, 0, > AD5064_CONFIG_INT_VREF_ENABLE, 0); >