summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRandall Spangler <rspangler@chromium.org>2013-08-08 16:17:49 -0700
committerDave Parker <dparker@chromium.org>2013-08-09 23:39:12 -0700
commit23e85746b1f6ca38f590f6680159eae86f170fb7 (patch)
tree186c6b6e9e6f349bf7096c187af0476866f37502
parent60b459dab06beb0055252b40058f08780ddb69c5 (diff)
downloadchrome-ec-23e85746b1f6ca38f590f6680159eae86f170fb7.tar.gz
CHERRY-PICK:Hide battery vendor params override behind config option
Only link actually used this function, but all batteries were required to provide an (empty) implementation. Use CONFIG_BATTERY_VENDOR_PARAMS to gate this functionality, so non-link battery code can be simpler. BUG=chrome-os-partner:18343 BRANCH=none TEST=build all platforms and pass unit tests Change-Id: Iffdea121a39dd930a29269b5e3339d6c62c9c56f Original-Change-Id: Ic2c6dd1163a981e48873d798f77891cc7de1f8cf Signed-off-by: Randall Spangler <rspangler@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/65257 Reviewed-by: Bill Richardson <wfrichar@chromium.org> Reviewed-by: Rong Chang <rongchang@chromium.org> Reviewed-on: https://gerrit.chromium.org/gerrit/65454 Commit-Queue: Dave Parker <dparker@chromium.org> Reviewed-by: Dave Parker <dparker@chromium.org> Tested-by: Dave Parker <dparker@chromium.org>
-rw-r--r--board/link/board.h1
-rw-r--r--common/battery_falco.c6
-rw-r--r--common/battery_peppy.c6
-rw-r--r--common/battery_slippy.c6
-rw-r--r--common/charge_state.c2
-rw-r--r--common/mock_smart_battery_stub.c4
-rw-r--r--include/battery_pack.h2
-rw-r--r--include/config.h6
8 files changed, 11 insertions, 22 deletions
diff --git a/board/link/board.h b/board/link/board.h
index 2a06ef84e8..34e55cdd90 100644
--- a/board/link/board.h
+++ b/board/link/board.h
@@ -11,6 +11,7 @@
/* Optional features */
#define CONFIG_BACKLIGHT_X86
#define CONFIG_BATTERY_SMART
+#define CONFIG_BATTERY_VENDOR_PARAMS
#define CONFIG_BOARD_VERSION
#define CONFIG_CHARGER
#define CONFIG_CHARGER_BQ24725
diff --git a/common/battery_falco.c b/common/battery_falco.c
index 9a493c19d6..554e3cf7c2 100644
--- a/common/battery_falco.c
+++ b/common/battery_falco.c
@@ -36,12 +36,6 @@ const struct battery_info *battery_get_info(void)
return &info;
}
-/* FIXME: The smart battery should do the right thing - that's why it's
- * called "smart". Do we really want to second-guess it? For now, let's not. */
-void battery_vendor_params(struct batt_params *batt)
-{
-}
-
int battery_command_cut_off(struct host_cmd_handler_args *args)
{
int rv;
diff --git a/common/battery_peppy.c b/common/battery_peppy.c
index 76d2d04395..1bc28c71d0 100644
--- a/common/battery_peppy.c
+++ b/common/battery_peppy.c
@@ -38,12 +38,6 @@ const struct battery_info *battery_get_info(void)
return &info;
}
-/* FIXME: The smart battery should do the right thing - that's why it's
- * called "smart". Do we really want to second-guess it? For now, let's not. */
-void battery_vendor_params(struct batt_params *batt)
-{
-}
-
int battery_command_cut_off(struct host_cmd_handler_args *args)
{
return sb_write(SB_SHIP_MODE_ADDR, SB_SHIP_MODE_DATA);
diff --git a/common/battery_slippy.c b/common/battery_slippy.c
index 64d5c09d1e..75a179f291 100644
--- a/common/battery_slippy.c
+++ b/common/battery_slippy.c
@@ -33,12 +33,6 @@ const struct battery_info *battery_get_info(void)
return &info;
}
-/* FIXME: The smart battery should do the right thing - that's why it's
- * called "smart". Do we really want to second-guess it? For now, let's not. */
-void battery_vendor_params(struct batt_params *batt)
-{
-}
-
/**
* Physical detection of battery connection.
*/
diff --git a/common/charge_state.c b/common/charge_state.c
index 9e3192abde..474925c773 100644
--- a/common/charge_state.c
+++ b/common/charge_state.c
@@ -284,8 +284,10 @@ static int state_common(struct power_state_context *ctx)
*ctx->memmap_batt_flags &= ~EC_BATT_FLAG_LEVEL_CRITICAL;
}
+#ifdef CONFIG_BATTERY_VENDOR_PARAMS
/* Apply battery pack vendor charging method */
battery_vendor_params(batt);
+#endif
#ifdef CONFIG_CHARGER_CURRENT_LIMIT
if (batt->desired_current > CONFIG_CHARGER_CURRENT_LIMIT)
diff --git a/common/mock_smart_battery_stub.c b/common/mock_smart_battery_stub.c
index 0cf7b70e78..17287cd7ad 100644
--- a/common/mock_smart_battery_stub.c
+++ b/common/mock_smart_battery_stub.c
@@ -118,7 +118,3 @@ const struct battery_info *battery_get_info(void)
{
return &bat_info;
}
-
-void battery_vendor_params(struct batt_params *batt)
-{
-}
diff --git a/include/battery_pack.h b/include/battery_pack.h
index 41e881afbc..9cd068478b 100644
--- a/include/battery_pack.h
+++ b/include/battery_pack.h
@@ -45,12 +45,14 @@ struct battery_info {
*/
const struct battery_info *battery_get_info(void);
+#ifdef CONFIG_BATTERY_VENDOR_PARAMS
/**
* Modify battery parameters to match vendor charging profile.
*
* @param batt Battery parameters to modify
*/
void battery_vendor_params(struct batt_params *batt);
+#endif
#ifdef CONFIG_BATTERY_CHECK_CONNECTED
/**
diff --git a/include/config.h b/include/config.h
index 9fb5b91acf..edecb25c89 100644
--- a/include/config.h
+++ b/include/config.h
@@ -69,6 +69,12 @@
*/
#undef CONFIG_BATTERY_SMART
+/*
+ * Charger should call battery_vendor_params() to limit/correct the voltage and
+ * current requested by the battery pack before acting on the request.
+ */
+#undef CONFIG_BATTERY_VENDOR_PARAMS
+
/*****************************************************************************/
/*