From: Nuno Sá Date: Tue, 4 Nov 2025 15:35:09 +0000 (+0000) Subject: iio: dac: ad5446: Don't ignore missing regulator X-Git-Tag: v6.19-rc1~65^2~58^2~21 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=14b72d8acea0a5c53dcffacafa43a9090fda3311;p=thirdparty%2Fkernel%2Flinux.git iio: dac: ad5446: Don't ignore missing regulator If the chip does not have an internal reference, do not ignore a missing regulator as we won't be able to actually provide a proper scale for the DAC. Since it's now seen as an error, flip the if() logic so errors are treated first (which is the typical pattern). Signed-off-by: Nuno Sá Reviewed-by: Andy Shevchenko Signed-off-by: Jonathan Cameron --- diff --git a/drivers/iio/dac/ad5446.c b/drivers/iio/dac/ad5446.c index 4e4e080833d91..f7ec652493226 100644 --- a/drivers/iio/dac/ad5446.c +++ b/drivers/iio/dac/ad5446.c @@ -255,10 +255,11 @@ static int ad5446_probe(struct device *dev, const char *name, if (ret < 0 && ret != -ENODEV) return ret; if (ret == -ENODEV) { - if (chip_info->int_vref_mv) - st->vref_mv = chip_info->int_vref_mv; - else - dev_warn(dev, "reference voltage unspecified\n"); + if (!chip_info->int_vref_mv) + return dev_err_probe(dev, ret, + "reference voltage unspecified\n"); + + st->vref_mv = chip_info->int_vref_mv; } else { st->vref_mv = ret / 1000; }