Commit 4dc9355c authored by Prashant Malani's avatar Prashant Malani

platform/chrome: cros_ec_typec: Stash port driver info

Stash port number and a pointer to the driver-specific struct in the
local typec port struct.

These can be useful to the port driver to figure out how to communicate
with the Chrome EC when an altmode-driver related callback is invoked
from the Type-C class code.
Signed-off-by: default avatarPrashant Malani <pmalani@chromium.org>
Reviewed-by: default avatarBenson Leung <bleung@chromium.org>
Acked-by: default avatarHeikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20221228004648.793339-4-pmalani@chromium.org
parent 0e0dba88
...@@ -45,6 +45,7 @@ struct cros_typec_altmode_node { ...@@ -45,6 +45,7 @@ struct cros_typec_altmode_node {
/* Per port data. */ /* Per port data. */
struct cros_typec_port { struct cros_typec_port {
struct typec_port *port; struct typec_port *port;
int port_num;
/* Initial capabilities for the port. */ /* Initial capabilities for the port. */
struct typec_capability caps; struct typec_capability caps;
struct typec_partner *partner; struct typec_partner *partner;
...@@ -78,6 +79,8 @@ struct cros_typec_port { ...@@ -78,6 +79,8 @@ struct cros_typec_port {
struct usb_power_delivery *partner_pd; struct usb_power_delivery *partner_pd;
struct usb_power_delivery_capabilities *partner_src_caps; struct usb_power_delivery_capabilities *partner_src_caps;
struct usb_power_delivery_capabilities *partner_sink_caps; struct usb_power_delivery_capabilities *partner_sink_caps;
struct cros_typec_data *typec_data;
}; };
/* Platform-specific data for the Chrome OS EC Type C controller. */ /* Platform-specific data for the Chrome OS EC Type C controller. */
...@@ -408,6 +411,8 @@ static int cros_typec_init_ports(struct cros_typec_data *typec) ...@@ -408,6 +411,8 @@ static int cros_typec_init_ports(struct cros_typec_data *typec)
goto unregister_ports; goto unregister_ports;
} }
cros_port->port_num = port_num;
cros_port->typec_data = typec;
typec->ports[port_num] = cros_port; typec->ports[port_num] = cros_port;
cap = &cros_port->caps; cap = &cros_port->caps;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment