Message ID | 20200825042210.300632-5-badhri@google.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | TCPM support for FRS and AutoDischarge Disconnect | expand |
On Mon, Aug 24, 2020 at 09:22:00PM -0700, Badhri Jagan Sridharan wrote: > Allow chip level drivers to retrieve reference to tcpm_port. > > Signed-off-by: Badhri Jagan Sridharan <badhri@google.com> > --- > drivers/usb/typec/tcpm/tcpci.c | 6 ++++++ > drivers/usb/typec/tcpm/tcpci.h | 2 ++ > 2 files changed, 8 insertions(+) > > diff --git a/drivers/usb/typec/tcpm/tcpci.c b/drivers/usb/typec/tcpm/tcpci.c > index 9e814d454d14..7b7991c8ac87 100644 > --- a/drivers/usb/typec/tcpm/tcpci.c > +++ b/drivers/usb/typec/tcpm/tcpci.c > @@ -38,6 +38,12 @@ struct tcpci_chip { > struct tcpci_data data; > }; > > +struct tcpm_port *tcpci_get_tcpm_port(struct tcpci *tcpci) > +{ > + return tcpci->port; > +} > +EXPORT_SYMBOL_GPL(tcpci_get_tcpm_port); I wonder if it would be better if there were tpci callbacks, or wrappers, for the tcpm functions that the glue drivers could then use instead of directly calling the tcpm_*() functions? That would allow tcpci.c to keep tabs on what is going on. That would somehow feel like a better approach to me, but maybe it would only complicate things. Guenter, what do you think? thanks,
diff --git a/drivers/usb/typec/tcpm/tcpci.c b/drivers/usb/typec/tcpm/tcpci.c index 9e814d454d14..7b7991c8ac87 100644 --- a/drivers/usb/typec/tcpm/tcpci.c +++ b/drivers/usb/typec/tcpm/tcpci.c @@ -38,6 +38,12 @@ struct tcpci_chip { struct tcpci_data data; }; +struct tcpm_port *tcpci_get_tcpm_port(struct tcpci *tcpci) +{ + return tcpci->port; +} +EXPORT_SYMBOL_GPL(tcpci_get_tcpm_port); + static inline struct tcpci *tcpc_to_tcpci(struct tcpc_dev *tcpc) { return container_of(tcpc, struct tcpci, tcpc); diff --git a/drivers/usb/typec/tcpm/tcpci.h b/drivers/usb/typec/tcpm/tcpci.h index cf9d8b63adcb..04c49a0b0368 100644 --- a/drivers/usb/typec/tcpm/tcpci.h +++ b/drivers/usb/typec/tcpm/tcpci.h @@ -150,4 +150,6 @@ struct tcpci *tcpci_register_port(struct device *dev, struct tcpci_data *data); void tcpci_unregister_port(struct tcpci *tcpci); irqreturn_t tcpci_irq(struct tcpci *tcpci); +struct tcpm_port; +struct tcpm_port *tcpci_get_tcpm_port(struct tcpci *tcpci); #endif /* __LINUX_USB_TCPCI_H */
Allow chip level drivers to retrieve reference to tcpm_port. Signed-off-by: Badhri Jagan Sridharan <badhri@google.com> --- drivers/usb/typec/tcpm/tcpci.c | 6 ++++++ drivers/usb/typec/tcpm/tcpci.h | 2 ++ 2 files changed, 8 insertions(+)