diff options
author | Prashant Malani <pmalani@chromium.org> | 2020-11-16 23:11:54 +0300 |
---|---|---|
committer | Benson Leung <bleung@chromium.org> | 2021-01-05 22:05:50 +0300 |
commit | 5992297639115785e167b9977101287e45106515 (patch) | |
tree | c7954dbae2c574dc999fea8f55fa526c37bb561a /drivers/platform/chrome | |
parent | 72d6e32bd85bd1e5cb5aa467f4eb5d0a69559953 (diff) | |
download | linux-5992297639115785e167b9977101287e45106515.tar.xz |
platform/chrome: cros_ec_typec: Set partner num_altmodes
Set the number of altmodes available for a registered partner using the
Type C connector class framework routine.
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Prashant Malani <pmalani@chromium.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Benson Leung <bleung@chromium.org>
Link: https://lore.kernel.org/r/20201116201150.2919178-10-pmalani@chromium.org
Diffstat (limited to 'drivers/platform/chrome')
-rw-r--r-- | drivers/platform/chrome/cros_ec_typec.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c index c0f34aa9e6dd..9466a092904e 100644 --- a/drivers/platform/chrome/cros_ec_typec.c +++ b/drivers/platform/chrome/cros_ec_typec.c @@ -640,6 +640,7 @@ static int cros_typec_register_altmodes(struct cros_typec_data *typec, int port_ struct cros_typec_altmode_node *node; struct typec_altmode_desc desc; struct typec_altmode *amode; + int num_altmodes = 0; int ret = 0; int i, j; @@ -666,9 +667,16 @@ static int cros_typec_register_altmodes(struct cros_typec_data *typec, int port_ node->amode = amode; list_add_tail(&node->list, &port->partner_mode_list); + num_altmodes++; } } + ret = typec_partner_set_num_altmodes(port->partner, num_altmodes); + if (ret < 0) { + dev_err(typec->dev, "Unable to set partner num_altmodes for port: %d\n", port_num); + goto err_cleanup; + } + return 0; err_cleanup: |