From ee9ae0f08468eac1d9e733670cc9010b1873c11e Mon Sep 17 00:00:00 2001 From: Shawn Nematbakhsh Date: Thu, 26 Oct 2017 10:13:37 -0700 Subject: 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 Reviewed-on: https://chromium-review.googlesource.com/740006 --- common/charge_manager.c | 4 ++++ include/charge_manager.h | 8 ++++++++ 2 files changed, 12 insertions(+) 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 }; -- cgit v1.2.1