diff options
author | Daisuke Nojiri <dnojiri@chromium.org> | 2019-05-06 14:59:18 -0700 |
---|---|---|
committer | chrome-bot <chrome-bot@chromium.org> | 2019-05-08 19:35:13 -0700 |
commit | 608e6a4ca4a8cb46004db986f8b71c81b99b7786 (patch) | |
tree | 1f88183f53197ac59c3ba1f464d728b772feabfe /common | |
parent | aa0cdc32ba82a0d0a699c4f06d78a589f7c58aa1 (diff) | |
download | chrome-ec-608e6a4ca4a8cb46004db986f8b71c81b99b7786.tar.gz |
USB-PD: Add hook for PD connect event
This patch adds a hook for USB PD connect event.
Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org>
BUG=b/127228934
BRANCH=none
TEST=buildall. Verify a hook is called on BC12 charger connection.
Change-Id: I88fcd65d1afce07b6275398c5d0b902ecd7a44a3
Reviewed-on: https://chromium-review.googlesource.com/1597794
Commit-Ready: Daisuke Nojiri <dnojiri@chromium.org>
Tested-by: Daisuke Nojiri <dnojiri@chromium.org>
Reviewed-by: Aseda Aboagye <aaboagye@chromium.org>
Diffstat (limited to 'common')
-rw-r--r-- | common/hooks.c | 1 | ||||
-rw-r--r-- | common/usb_pd_protocol.c | 5 |
2 files changed, 6 insertions, 0 deletions
diff --git a/common/hooks.c b/common/hooks.c index ff85e2cfd2..fbdf8e414b 100644 --- a/common/hooks.c +++ b/common/hooks.c @@ -57,6 +57,7 @@ static const struct hook_ptrs hook_list[] = { {__hooks_tick, __hooks_tick_end}, {__hooks_second, __hooks_second_end}, {__hooks_usb_pd_disconnect, __hooks_usb_pd_disconnect_end}, + {__hooks_usb_pd_connect, __hooks_usb_pd_connect_end}, }; /* Times for deferrable functions */ diff --git a/common/usb_pd_protocol.c b/common/usb_pd_protocol.c index 4582d5ffd2..f3f990bb25 100644 --- a/common/usb_pd_protocol.c +++ b/common/usb_pd_protocol.c @@ -3141,6 +3141,9 @@ void pd_task(void *u) break; /* Debounce complete */ + if (IS_ENABLED(CONFIG_COMMON_RUNTIME)) + hook_notify(HOOK_USB_PD_CONNECT); + #ifdef CONFIG_USBC_PPC /* * If the port is latched off, just continue to @@ -3700,6 +3703,8 @@ void pd_task(void *u) } /* We are attached */ + if (IS_ENABLED(CONFIG_COMMON_RUNTIME)) + hook_notify(HOOK_USB_PD_CONNECT); pd[port].polarity = get_snk_polarity(cc1, cc2); set_polarity(port, pd[port].polarity); /* reset message ID on connection */ |