• Mark Brown's avatar
    regulator: core: Correct default return value for full constraints · 317b5684
    Mark Brown authored
    Once we have full constraints then all supply mappings should be known to
    the regulator API. This means that we should treat failed lookups as fatal
    rather than deferring in the hope of further registrations but this was
    broken by commit 9b92da1f "regulator: core: Fix default return
    value for _get()" which was targeted at DT systems but unintentionally
    broke non-DT systems by changing the default return value.
    
    Fix this by explicitly returning -EPROBE_DEFER from the DT lookup if we
    find a property but no corresponding regulator and by having the non-DT
    case default to -ENODEV when we have full constraints.
    
    Fixes: 9b92da1f "regulator: core: Fix default return value for _get()"
    Signed-off-by: default avatarMark Brown <broonie@linaro.org>
    Tested-by: default avatarGuenter Roeck <linux@roeck-us.net>
    Cc: stable@vger.kernel.org
    317b5684
core.c 98.5 KB