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
This commit is contained in:
Родитель
72d6e32bd8
Коммит
5992297639
|
@ -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:
|
||||
|
|
Загрузка…
Ссылка в новой задаче