summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2017-09-13 10:47:37 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2018-02-12 19:49:27 +0000
commit5c4f03ee4ee0fe66676db48c2d5150b8ab76af9e (patch)
treefd580615a77fa2f336471eac4e61674732561b22
parent7305c29756e0d468fe4654b1567ec7e60b5f2d60 (diff)
downloadchrome-ec-5c4f03ee4ee0fe66676db48c2d5150b8ab76af9e.tar.gz
charge_manager: Support no-BC1.2 configuration
If BC1.2 isn't supported, don't waste space + time checking for inputs that don't exist. BUG=chromium:759880 BRANCH=None TEST=`make buildall -j` Change-Id: I59dfe04d779b14269d398f339566eebdee802b27 Signed-off-by: Duncan Laurie <dlaurie@google.com> Original-Commit-Id: c781609bfd19b16737bec5482da5c1a021a6afa6 Original-Change-Id: I47e81451abd79a67a666d1859faf2610ee5c941a Original-Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Original-Reviewed-on: https://chromium-review.googlesource.com/663838 Original-Commit-Ready: Shawn N <shawnn@chromium.org> Original-Tested-by: Shawn N <shawnn@chromium.org> Original-Reviewed-by: Shawn N <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/914649
-rw-r--r--board/fizz/board.c1
-rw-r--r--common/charge_manager.c4
-rw-r--r--include/charge_manager.h8
3 files changed, 12 insertions, 1 deletions
diff --git a/board/fizz/board.c b/board/fizz/board.c
index 33b09c1021..5b868d2b0e 100644
--- a/board/fizz/board.c
+++ b/board/fizz/board.c
@@ -14,7 +14,6 @@
#include "button.h"
#include "charge_manager.h"
#include "charge_state.h"
-#include "charge_ramp.h"
#include "charger.h"
#include "chipset.h"
#include "console.h"
diff --git a/common/charge_manager.c b/common/charge_manager.c
index a34349dd2e..57e4f5e722 100644
--- a/common/charge_manager.c
+++ b/common/charge_manager.c
@@ -32,12 +32,14 @@
test_mockable const int supplier_priority[] = {
[CHARGE_SUPPLIER_PD] = 0,
[CHARGE_SUPPLIER_TYPEC] = 1,
+#ifdef CHARGE_MANAGER_BC12
[CHARGE_SUPPLIER_PROPRIETARY] = 1,
[CHARGE_SUPPLIER_BC12_DCP] = 2,
[CHARGE_SUPPLIER_BC12_CDP] = 3,
[CHARGE_SUPPLIER_BC12_SDP] = 4,
[CHARGE_SUPPLIER_OTHER] = 5,
[CHARGE_SUPPLIER_VBUS] = 6
+#endif
};
BUILD_ASSERT(ARRAY_SIZE(supplier_priority) == CHARGE_SUPPLIER_COUNT);
@@ -271,6 +273,7 @@ static void charge_manager_fill_power_info(int port,
case CHARGE_SUPPLIER_TYPEC:
r->type = USB_CHG_TYPE_C;
break;
+#ifdef CHARGE_MANAGER_BC12
case CHARGE_SUPPLIER_PROPRIETARY:
r->type = USB_CHG_TYPE_PROPRIETARY;
break;
@@ -286,6 +289,7 @@ static void charge_manager_fill_power_info(int port,
case CHARGE_SUPPLIER_VBUS:
r->type = USB_CHG_TYPE_VBUS;
break;
+#endif
default:
r->type = USB_CHG_TYPE_OTHER;
}
diff --git a/include/charge_manager.h b/include/charge_manager.h
index 037723047c..2038ef819d 100644
--- a/include/charge_manager.h
+++ b/include/charge_manager.h
@@ -17,6 +17,12 @@
#define CHARGE_CURRENT_UNINITIALIZED -1
#define CHARGE_VOLTAGE_UNINITIALIZED -1
+/* Only track BC1.2 charge current if we support BC1.2 charging */
+#if defined(HAS_TASK_USB_CHG) || defined(HAS_TASK_USB_CHG_P0) || \
+defined(TEST_BUILD)
+#define CHARGE_MANAGER_BC12
+#endif
+
/**
* Time to delay for detecting the charger type (must be long enough for BC1.2
* driver to get supplier information and notify charge manager).
@@ -27,12 +33,14 @@
enum charge_supplier {
CHARGE_SUPPLIER_PD,
CHARGE_SUPPLIER_TYPEC,
+#ifdef CHARGE_MANAGER_BC12
CHARGE_SUPPLIER_BC12_DCP,
CHARGE_SUPPLIER_BC12_CDP,
CHARGE_SUPPLIER_BC12_SDP,
CHARGE_SUPPLIER_PROPRIETARY,
CHARGE_SUPPLIER_OTHER,
CHARGE_SUPPLIER_VBUS,
+#endif /* CHARGE_MANAGER_BC12 */
CHARGE_SUPPLIER_COUNT
};