diff options
author | Łukasz Hajec <hajec@google.com> | 2022-01-10 20:59:36 +0100 |
---|---|---|
committer | Commit Bot <commit-bot@chromium.org> | 2022-01-24 21:06:21 +0000 |
commit | eee583791e3abedb3a0ae45927b83ccd203f2094 (patch) | |
tree | 602c9c2207beb5aa2c971be0748d313f478a7b20 | |
parent | 294e26a203fb74d2a3a3218279b6e18ca22780be (diff) | |
download | chrome-ec-eee583791e3abedb3a0ae45927b83ccd203f2094.tar.gz |
pd: Fix wrong PD accessors handling in default case
This CL fixes implementation added in commit 06d89b033065.
Default return value from get_usb_pd_vbus_detect is
USB_PD_VBUS_DETECT_NONE, which leads to executing parts of code,
that earlier (before mentioned commit) were executed only
when CONFIG_USB_PD_VBUS_DETECT_NONE was directly defined.
Add additional enum value and return it for a default case
when none of configs "CONFIG_USB_PD_VBUS_DETECT_*" is defined.
BRANCH=None
BUG=b:212683593
TEST=make BOARD=servo_v4p1
flash servo with new firmware
plug servo into DUT (without charger)
do not observe any problems, e.g hard reset loop
Signed-off-by: Łukasz Hajec <lha@semihalf.com>
Change-Id: Icf7028b8ba8a3e039a0c1e89de14ee0a4708df74
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3378345
Reviewed-by: Parth Malkan <parthmalkan@google.com>
Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Tested-by: Łukasz Hajec <hajec@google.com>
Commit-Queue: Łukasz Hajec <hajec@google.com>
-rw-r--r-- | common/usb_pd_flags.c | 4 | ||||
-rw-r--r-- | include/usb_pd_flags.h | 11 |
2 files changed, 9 insertions, 6 deletions
diff --git a/common/usb_pd_flags.c b/common/usb_pd_flags.c index 9328c03346..073637e05b 100644 --- a/common/usb_pd_flags.c +++ b/common/usb_pd_flags.c @@ -26,8 +26,10 @@ enum usb_pd_vbus_detect get_usb_pd_vbus_detect(void) return (enum usb_pd_vbus_detect)USB_PD_VBUS_DETECT_PPC; else if (IS_ENABLED(CONFIG_USB_PD_VBUS_DETECT_CHARGER)) return (enum usb_pd_vbus_detect)USB_PD_VBUS_DETECT_CHARGER; - else + else if (IS_ENABLED(CONFIG_USB_PD_VBUS_DETECT_NONE)) return (enum usb_pd_vbus_detect)USB_PD_VBUS_DETECT_NONE; + else + return (enum usb_pd_vbus_detect)USB_PD_VBUS_DETECT_UNKNOWN; } enum usb_pd_discharge get_usb_pd_discharge(void) diff --git a/include/usb_pd_flags.h b/include/usb_pd_flags.h index 71932de885..8e029bcb35 100644 --- a/include/usb_pd_flags.h +++ b/include/usb_pd_flags.h @@ -15,11 +15,12 @@ * USB PD VBUS detect (0-2) */ enum usb_pd_vbus_detect { - USB_PD_VBUS_DETECT_NONE = 0, - USB_PD_VBUS_DETECT_TCPC = 1, - USB_PD_VBUS_DETECT_GPIO = 2, - USB_PD_VBUS_DETECT_PPC = 3, - USB_PD_VBUS_DETECT_CHARGER = 4 + USB_PD_VBUS_DETECT_UNKNOWN = 0, + USB_PD_VBUS_DETECT_NONE = 1, + USB_PD_VBUS_DETECT_TCPC = 2, + USB_PD_VBUS_DETECT_GPIO = 3, + USB_PD_VBUS_DETECT_PPC = 4, + USB_PD_VBUS_DETECT_CHARGER = 5 }; /* |