Message ID | 20221228004648.793339-4-pmalani@chromium.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 4dc9355cef4f507f12289c56b7ea5df911758278 |
Headers | show |
Series | platform/chrome: cros_ec_typec: VDM support | expand |
On Wed, Dec 28, 2022 at 12:45:06AM +0000, Prashant Malani wrote: > 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: Prashant Malani <pmalani@chromium.org> Reviewed-by: Benson Leung <bleung@chromium.org> > --- > drivers/platform/chrome/cros_ec_typec.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c > index 001b0de95a46..bc8dc8bd90b3 100644 > --- a/drivers/platform/chrome/cros_ec_typec.c > +++ b/drivers/platform/chrome/cros_ec_typec.c > @@ -45,6 +45,7 @@ struct cros_typec_altmode_node { > /* Per port data. */ > struct cros_typec_port { > struct typec_port *port; > + int port_num; > /* Initial capabilities for the port. */ > struct typec_capability caps; > struct typec_partner *partner; > @@ -78,6 +79,8 @@ struct cros_typec_port { > struct usb_power_delivery *partner_pd; > struct usb_power_delivery_capabilities *partner_src_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. */ > @@ -408,6 +411,8 @@ static int cros_typec_init_ports(struct cros_typec_data *typec) > goto unregister_ports; > } > > + cros_port->port_num = port_num; > + cros_port->typec_data = typec; > typec->ports[port_num] = cros_port; > cap = &cros_port->caps; > > -- > 2.39.0.314.g84b9a713c41-goog >
diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c index 001b0de95a46..bc8dc8bd90b3 100644 --- a/drivers/platform/chrome/cros_ec_typec.c +++ b/drivers/platform/chrome/cros_ec_typec.c @@ -45,6 +45,7 @@ struct cros_typec_altmode_node { /* Per port data. */ struct cros_typec_port { struct typec_port *port; + int port_num; /* Initial capabilities for the port. */ struct typec_capability caps; struct typec_partner *partner; @@ -78,6 +79,8 @@ struct cros_typec_port { struct usb_power_delivery *partner_pd; struct usb_power_delivery_capabilities *partner_src_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. */ @@ -408,6 +411,8 @@ static int cros_typec_init_ports(struct cros_typec_data *typec) goto unregister_ports; } + cros_port->port_num = port_num; + cros_port->typec_data = typec; typec->ports[port_num] = cros_port; cap = &cros_port->caps;
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: Prashant Malani <pmalani@chromium.org> --- drivers/platform/chrome/cros_ec_typec.c | 5 +++++ 1 file changed, 5 insertions(+)