mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-27 18:25:05 +00:00
Skip the battery device name reading on BQ27742
Contrary to the BQ2751 and BQ27741 it is sharing code with, BQ27742 does not have a "device name" register. So we need to skip the I2C reads else the battery_device_name() function returns an I2C error and the charge code retries until the end-of-time to read it hogging the CPU. Signed-off-by: Vincent Palatin <vpalatin@chromium.org> BRANCH=none BUG=chrome-os-partner:38401 TEST=run on Ryu P4 and verify that we are no longer seeing 20ms of I2C transactions every 100ms on the battery I2C bus. Change-Id: I961af54017f661ee928058b346a42b7206ad8217 Reviewed-on: https://chromium-review.googlesource.com/262449 Reviewed-by: Alec Berg <alecaberg@chromium.org> Commit-Queue: Vincent Palatin <vpalatin@chromium.org> Tested-by: Vincent Palatin <vpalatin@chromium.org>
This commit is contained in:
committed by
ChromeOS Commit Bot
parent
255bf12ffb
commit
142a950aff
@@ -89,6 +89,12 @@ int battery_device_name(char *device_name, int buf_size)
|
||||
int rv, i, val;
|
||||
int len = MIN(7, buf_size - 1);
|
||||
|
||||
if (battery_type_id == BQ27742_TYPE_ID) {
|
||||
/* No device name register available */
|
||||
strzcpy(device_name, "<BATT>", len);
|
||||
return 0;
|
||||
}
|
||||
|
||||
rv = bq27541_read8(REG_DEVICE_NAME_LENGTH, &val);
|
||||
if (rv)
|
||||
return rv;
|
||||
|
||||
Reference in New Issue
Block a user