From: Prashant Malani Date: Mon, 16 Nov 2020 20:11:54 +0000 (-0800) Subject: platform/chrome: cros_ec_typec: Set partner num_altmodes X-Git-Tag: accepted/tizen/unified/20230118.172025~7813^2~15 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5992297639115785e167b9977101287e45106515;p=platform%2Fkernel%2Flinux-rpi.git 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 Signed-off-by: Prashant Malani Reviewed-by: Heikki Krogerus Signed-off-by: Benson Leung Link: https://lore.kernel.org/r/20201116201150.2919178-10-pmalani@chromium.org --- diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c index c0f34aa..9466a09 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: