Re: [PATCH v4] hwmon: (ads7828) Fix external VREF regulator handling
From: Guenter Roeck
Date: Wed Aug 05 2026 - 10:56:37 EST
On Wed, Aug 05, 2026 at 02:16:45PM +0800, Qingshuang Fu wrote:
> From: Qingshuang Fu <fuqingshuang@xxxxxxxxxx>
>
> The driver currently has two issues with the external VREF regulator
> handling in ads7828_probe():
>
> 1. All errors from devm_regulator_get_optional() are ignored, causing the
> driver to incorrectly fall back to internal VREF even for transient
> errors like -EPROBE_DEFER or genuine failures like -ENOMEM.
>
> 2. The external regulator is never enabled. The driver calls
> regulator_get_voltage() without first calling regulator_enable(),
> so the VREF pin may remain unpowered if the regulator is not
> configured as always-on.
>
> Fix both issues by switching to devm_regulator_get_enable_read_voltage(),
> which handles regulator get, enable, and voltage read in one call.
> Only -ENODEV (no regulator specified in device tree) should trigger the
> fallback to internal VREF. All other errors are propagated to the caller.
>
> Fixes: a8ddfea09566 ("hwmon: (ads7828) Accept optional parameters from device tree")
> Signed-off-by: Qingshuang Fu <fuqingshuang@xxxxxxxxxx>
Applied.
Thanks,
Guenter