summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShawn Nematbakhsh <shawnn@chromium.org>2017-10-26 10:13:37 -0700
committerChromeOS Commit Bot <chromeos-commit-bot@chromium.org>2017-10-30 17:05:18 +0000
commitee9ae0f08468eac1d9e733670cc9010b1873c11e (patch)
tree1adaeaa1bd05d37290e464b53041d12f5e32c9c8
parent92c81a3e69bb09ad87fe40935eb81a561bca1318 (diff)
downloadchrome-ec-ee9ae0f08468eac1d9e733670cc9010b1873c11e.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: I47e81451abd79a67a666d1859faf2610ee5c941a Signed-off-by: Shawn Nematbakhsh <shawnn@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/740006
-rw-r--r--common/charge_manager.c4
-rw-r--r--include/charge_manager.h8
2 files changed, 12 insertions, 0 deletions
diff --git a/common/charge_manager.c b/common/charge_manager.c
index 09b2d74ac3..dcdec03b20 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] = 1,
[CHARGE_SUPPLIER_BC12_CDP] = 2,
[CHARGE_SUPPLIER_BC12_SDP] = 3,
[CHARGE_SUPPLIER_OTHER] = 3,
[CHARGE_SUPPLIER_VBUS] = 4
+#endif
};
BUILD_ASSERT(ARRAY_SIZE(supplier_priority) == CHARGE_SUPPLIER_COUNT);
@@ -240,6 +242,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;
@@ -255,6 +258,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 1082883445..2e319043d3 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
};