Message ID | 20220819190807.1275937-5-pmalani@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | platform/chrome: cros_ec_typec: Altmode fixes | expand |
On Fri, Aug 19, 2022 at 07:08:05PM +0000, Prashant Malani wrote: > Altmode driver callbacks need EC-specific port information to > communicate with the ChromeOS EC. To accomplish this, save a > pointer to the driver-specific port struct in the Type-C port's > driver data field. > > Signed-off-by: Prashant Malani <pmalani@chromium.org> > --- > drivers/platform/chrome/cros_ec_typec.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c > index 7daf4207c11e..e3f75440030d 100644 > --- a/drivers/platform/chrome/cros_ec_typec.c > +++ b/drivers/platform/chrome/cros_ec_typec.c > @@ -379,6 +379,7 @@ static int cros_typec_init_ports(struct cros_typec_data *typec) > ret = cros_typec_parse_port_props(cap, fwnode, dev); > if (ret < 0) > goto unregister_ports; > + cap->driver_data = cros_port; Same as previous patch. I would suggest to send it in later series. For example, I have no knowledge to judge if `cap` is a correct place to save the driver data. For example, I'm wondering: is the `cap` "the Type-C port's driver"?
Hi Tzung-Bi, Thanks for reviewing the series. On Mon, Aug 22, 2022 at 9:43 PM Tzung-Bi Shih <tzungbi@kernel.org> wrote: > > diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c > > index 7daf4207c11e..e3f75440030d 100644 > > --- a/drivers/platform/chrome/cros_ec_typec.c > > +++ b/drivers/platform/chrome/cros_ec_typec.c > > @@ -379,6 +379,7 @@ static int cros_typec_init_ports(struct cros_typec_data *typec) > > ret = cros_typec_parse_port_props(cap, fwnode, dev); > > if (ret < 0) > > goto unregister_ports; > > + cap->driver_data = cros_port; > > Same as previous patch. I would suggest to send it in later series. For > example, I have no knowledge to judge if `cap` is a correct place to save > the driver data. > > For example, I'm wondering: is the `cap` "the Type-C port's driver"? The Type-C framework uses [1] the cap->driver_data while creating the port device. That said, sure, I can resend patch 3 and 4 when I upload the alt mode series. [1] https://elixir.bootlin.com/linux/latest/source/drivers/usb/typec/class.c#L2098
diff --git a/drivers/platform/chrome/cros_ec_typec.c b/drivers/platform/chrome/cros_ec_typec.c index 7daf4207c11e..e3f75440030d 100644 --- a/drivers/platform/chrome/cros_ec_typec.c +++ b/drivers/platform/chrome/cros_ec_typec.c @@ -379,6 +379,7 @@ static int cros_typec_init_ports(struct cros_typec_data *typec) ret = cros_typec_parse_port_props(cap, fwnode, dev); if (ret < 0) goto unregister_ports; + cap->driver_data = cros_port; cros_port->port = typec_register_port(dev, cap); if (IS_ERR(cros_port->port)) {
Altmode driver callbacks need EC-specific port information to communicate with the ChromeOS EC. To accomplish this, save a pointer to the driver-specific port struct in the Type-C port's driver data field. Signed-off-by: Prashant Malani <pmalani@chromium.org> --- drivers/platform/chrome/cros_ec_typec.c | 1 + 1 file changed, 1 insertion(+)