• Alexandru Ardelean's avatar
    iio: adc: ad7192: handle regulator voltage error first · b0f27fca
    Alexandru Ardelean authored
    This change fixes a corner-case, where for a zero regulator value, the
    driver would exit early, initializing the driver only partially.
    The driver would be in an unknown state.
    
    This change reworks the code to check regulator_voltage() return value
    for negative (error) first, and return early. This is the more common
    idiom.
    
    Also, this change is removing the 'voltage_uv' variable and using the 'ret'
    value directly. The only place where 'voltage_uv' is being used is to
    compute the internal reference voltage, and the type of this variable is
    'int' (same are for 'ret'). Using only 'ret' avoids having to assign it on
    the error path.
    
    Fixes: ab0afa65 ("staging: iio: adc: ad7192: fail probe on get_voltage")
    Cc: Alexandru Tachici <alexandru.tachici@analog.com>
    Signed-off-by: default avatarAlexandru Ardelean <aardelean@deviqon.com>
    Signed-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
    Cc: <Stable@vger.kernel.org>
    b0f27fca
ad7192.c 29.5 KB