• Hans de Goede's avatar
    power: supply: axp288_fuel_gauge: Drop retry logic from fuel_gauge_reg_readb() · f17bda7f
    Hans de Goede authored
    The I2C-bus to the XPower AXP288 is shared between the Linux kernel and
    the SoCs P-Unit. The P-Unit has a semaphore which the kernel must "lock"
    before it may use the bus. This semaphore is automatically taken by the
    I2C-bus-driver.
    
    The retry on -EBUSY logic in fuel_gauge_reg_readb() likely was added to
    deal with the I2C-bus-drive returning -EBUSY when it failed to take the
    semaphore, but this really should never happen. The semaphore code even
    has a WARN_ON(ret) to log a kernel backtrace if this does somehow happen,
    when this happens something is seriously wrong and the system typically
    freezes soon afterwards.
    
    TL;DR: the regmap_read() should never fail with -EBUSY so the retries
    are unnecessary.
    Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
    Signed-off-by: default avatarSebastian Reichel <sebastian.reichel@collabora.com>
    f17bda7f
axp288_fuel_gauge.c 18.8 KB