power: supply: sbs-battery: only return health when battery present
authorMichael Nosthoff <committed@heine.so>
Fri, 16 Aug 2019 07:58:42 +0000 (09:58 +0200)
committerSebastian Reichel <sre@kernel.org>
Mon, 2 Sep 2019 08:06:31 +0000 (10:06 +0200)
commitfe55e770327363304c4111423e6f7ff3c650136d
tree3ff7e00254bd16eb42d27495ed39f01b77d3a78b
parent47c169e17bbd97a0dce44676ac10cbd317c35a11
power: supply: sbs-battery: only return health when battery present

when the battery is set to sbs-mode and  no gpio detection is enabled
"health" is always returning a value even when the battery is not present.
All other fields return "not present".
This leads to a scenario where the driver is constantly switching between
"present" and "not present" state. This generates a lot of constant
traffic on the i2c.

This commit changes the response of "health" to an error when the battery
is not responding leading to a consistent "not present" state.

Fixes: 76b16f4cdfb8 ("power: supply: sbs-battery: don't assume MANUFACTURER_DATA formats")
Cc: <stable@vger.kernel.org>
Signed-off-by: Michael Nosthoff <committed@heine.so>
Reviewed-by: Brian Norris <briannorris@chromium.org>
Tested-by: Brian Norris <briannorris@chromium.org>
Signed-off-by: Sebastian Reichel <sebastian.reichel@collabora.com>
drivers/power/supply/sbs-battery.c