summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaisuke Nojiri <dnojiri@chromium.org>2019-04-30 10:08:45 -0700
committerCommit Bot <commit-bot@chromium.org>2021-12-15 01:33:28 +0000
commit5f892b86b9f032fc371b33a122837d76e5fb9f2f (patch)
tree19375aadecd33ae547090f92ffd26017b7d10373
parent9df838fc96617d431cb24b3d505881697ccca12e (diff)
downloadchrome-ec-5f892b86b9f032fc371b33a122837d76e5fb9f2f.tar.gz
battery: Consolidate battery_manufacturer_name
Currently, the battery_manufacturer_name API is implemented individually by each chip. This patch consolidate the definitions. It also allows a board to return custom manufacturer names. Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> BUG=b/129599895 BRANCH=none TEST=buildall Change-Id: Ib0f60c9be71fea31658ab284a915d73341b9145e Reviewed-on: https://chromium-review.googlesource.com/1590039 Commit-Ready: YH Lin <yueherngl@chromium.org> Tested-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-by: YH Lin <yueherngl@chromium.org> Reviewed-by: Aseda Aboagye <aaboagye@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3336663 Commit-Queue: Daisuke Nojiri <dnojiri@chromium.org>
-rw-r--r--common/battery.c11
-rw-r--r--driver/battery/bq27541.c7
-rw-r--r--driver/battery/bq27621_g1.c5
-rw-r--r--driver/battery/max17055.c7
-rw-r--r--driver/battery/mm8013.c7
-rw-r--r--driver/battery/smart.c3
-rw-r--r--include/battery.h11
7 files changed, 23 insertions, 28 deletions
diff --git a/common/battery.c b/common/battery.c
index a23b8c2505..0f528e97c6 100644
--- a/common/battery.c
+++ b/common/battery.c
@@ -608,3 +608,14 @@ void battery_compensate_params(struct batt_params *batt)
/* Rounding (instead of truncating) */
batt->display_charge = (numer + denom / 2) / denom;
}
+
+__attribute__((weak)) int get_battery_manufacturer_name(char *dest, int size)
+{
+ strzcpy(dest, "<unkn>", size);
+ return EC_SUCCESS;
+}
+
+int battery_manufacturer_name(char *dest, int size)
+{
+ return get_battery_manufacturer_name(dest, size);
+}
diff --git a/driver/battery/bq27541.c b/driver/battery/bq27541.c
index 760a367b9c..b01aef3714 100644
--- a/driver/battery/bq27541.c
+++ b/driver/battery/bq27541.c
@@ -155,13 +155,6 @@ int battery_time_at_rate(int rate, int *minutes)
return bq27541_read(REG_AT_RATE_TIME_TO_EMPTY, minutes);
}
-int battery_manufacturer_name(char *dest, int size)
-{
- strzcpy(dest, "<unkn>", size);
-
- return EC_SUCCESS;
-}
-
int battery_device_chemistry(char *dest, int size)
{
strzcpy(dest, "<unkn>", size);
diff --git a/driver/battery/bq27621_g1.c b/driver/battery/bq27621_g1.c
index c55d452c87..304fe67241 100644
--- a/driver/battery/bq27621_g1.c
+++ b/driver/battery/bq27621_g1.c
@@ -474,11 +474,6 @@ int battery_time_at_rate(int rate, int *minutes)
return EC_ERROR_UNIMPLEMENTED;
}
-int battery_manufacturer_name(char *dest, int size)
-{
- return EC_ERROR_UNIMPLEMENTED;
-}
-
int battery_device_chemistry(char *dest, int size)
{
uint32_t rv;
diff --git a/driver/battery/max17055.c b/driver/battery/max17055.c
index 1b5679fe37..f6c777e36f 100644
--- a/driver/battery/max17055.c
+++ b/driver/battery/max17055.c
@@ -168,13 +168,6 @@ int battery_time_at_rate(int rate, int *minutes)
return EC_ERROR_UNIMPLEMENTED;
}
-int battery_manufacturer_name(char *dest, int size)
-{
- strzcpy(dest, "<unkn>", size);
-
- return EC_SUCCESS;
-}
-
int battery_device_chemistry(char *dest, int size)
{
strzcpy(dest, "<unkn>", size);
diff --git a/driver/battery/mm8013.c b/driver/battery/mm8013.c
index b3034464e7..d9307059b6 100644
--- a/driver/battery/mm8013.c
+++ b/driver/battery/mm8013.c
@@ -116,13 +116,6 @@ int battery_time_at_rate(int rate, int *minutes)
return EC_ERROR_UNIMPLEMENTED;
}
-int battery_manufacturer_name(char *dest, int size)
-{
- strzcpy(dest, "<unkn>", size);
-
- return EC_SUCCESS;
-}
-
int battery_device_chemistry(char *dest, int size)
{
strzcpy(dest, "<unkn>", size);
diff --git a/driver/battery/smart.c b/driver/battery/smart.c
index 758a60f546..b89c0ef362 100644
--- a/driver/battery/smart.c
+++ b/driver/battery/smart.c
@@ -265,8 +265,7 @@ test_mockable int battery_manufacture_date(int *year, int *month, int *day)
return EC_SUCCESS;
}
-/* Read manufacturer name */
-test_mockable int battery_manufacturer_name(char *dest, int size)
+int get_battery_manufacturer_name(char *dest, int size)
{
return sb_read_string(SB_MANUFACTURER_NAME, dest, size);
}
diff --git a/include/battery.h b/include/battery.h
index e3eec84164..df5aee5990 100644
--- a/include/battery.h
+++ b/include/battery.h
@@ -303,6 +303,17 @@ int battery_serial_number(int *serial);
int battery_manufacturer_name(char *dest, int size);
/**
+ * Read manufacturer name.
+ *
+ * This can be overridden to return a chip or board custom string.
+ *
+ * @param dest Destination buffer.
+ * @param size Length of destination buffer in chars.
+ * @return non-zero if error.
+ */
+int get_battery_manufacturer_name(char *dest, int size);
+
+/**
* Read device name.
*
* @param dest Destination buffer.