On Fri, Aug 05, 2022 at 03:17:12PM +0800, Gene Chen wrote: > From: Gene Chen <gene_chen@xxxxxxxxxxx> > > Move transition function "tcpci_to_typec_cc" to common header > > Signed-off-by: Gene Chen <gene_chen@xxxxxxxxxxx> > Acked-by: Heikki Krogerus <heikki.krogerus@xxxxxxxxxxxxxxx> Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx> > --- > drivers/usb/typec/tcpm/tcpci.c | 22 ---------------------- > include/linux/usb/tcpci.h | 22 ++++++++++++++++++++++ > 2 files changed, 22 insertions(+), 22 deletions(-) > > diff --git a/drivers/usb/typec/tcpm/tcpci.c b/drivers/usb/typec/tcpm/tcpci.c > index 8127847..50674ec 100644 > --- a/drivers/usb/typec/tcpm/tcpci.c > +++ b/drivers/usb/typec/tcpm/tcpci.c > @@ -27,11 +27,6 @@ > #define VPPS_VALID_MIN_MV 100 > #define VSINKDISCONNECT_PD_MIN_PERCENT 90 > > -#define tcpc_presenting_rd(reg, cc) \ > - (!(TCPC_ROLE_CTRL_DRP & (reg)) && \ > - (((reg) & (TCPC_ROLE_CTRL_## cc ##_MASK << TCPC_ROLE_CTRL_## cc ##_SHIFT)) == \ > - (TCPC_ROLE_CTRL_CC_RD << TCPC_ROLE_CTRL_## cc ##_SHIFT))) > - > struct tcpci { > struct device *dev; > > @@ -218,23 +213,6 @@ static int tcpci_start_toggling(struct tcpc_dev *tcpc, > TCPC_CMD_LOOK4CONNECTION); > } > > -static enum typec_cc_status tcpci_to_typec_cc(unsigned int cc, bool sink) > -{ > - switch (cc) { > - case 0x1: > - return sink ? TYPEC_CC_RP_DEF : TYPEC_CC_RA; > - case 0x2: > - return sink ? TYPEC_CC_RP_1_5 : TYPEC_CC_RD; > - case 0x3: > - if (sink) > - return TYPEC_CC_RP_3_0; > - fallthrough; > - case 0x0: > - default: > - return TYPEC_CC_OPEN; > - } > -} > - > static int tcpci_get_cc(struct tcpc_dev *tcpc, > enum typec_cc_status *cc1, enum typec_cc_status *cc2) > { > diff --git a/include/linux/usb/tcpci.h b/include/linux/usb/tcpci.h > index 20c0bed..1765745 100644 > --- a/include/linux/usb/tcpci.h > +++ b/include/linux/usb/tcpci.h > @@ -167,6 +167,11 @@ > /* I2C_WRITE_BYTE_COUNT + 1 when TX_BUF_BYTE_x is only accessible I2C_WRITE_BYTE_COUNT */ > #define TCPC_TRANSMIT_BUFFER_MAX_LEN 31 > > +#define tcpc_presenting_rd(reg, cc) \ > + (!(TCPC_ROLE_CTRL_DRP & (reg)) && \ > + (((reg) & (TCPC_ROLE_CTRL_## cc ##_MASK << TCPC_ROLE_CTRL_## cc ##_SHIFT)) == \ > + (TCPC_ROLE_CTRL_CC_RD << TCPC_ROLE_CTRL_## cc ##_SHIFT))) > + > struct tcpci; > > /* > @@ -207,4 +212,21 @@ irqreturn_t tcpci_irq(struct tcpci *tcpci); > > struct tcpm_port; > struct tcpm_port *tcpci_get_tcpm_port(struct tcpci *tcpci); > + > +static inline enum typec_cc_status tcpci_to_typec_cc(unsigned int cc, bool sink) > +{ > + switch (cc) { > + case 0x1: > + return sink ? TYPEC_CC_RP_DEF : TYPEC_CC_RA; > + case 0x2: > + return sink ? TYPEC_CC_RP_1_5 : TYPEC_CC_RD; > + case 0x3: > + if (sink) > + return TYPEC_CC_RP_3_0; > + fallthrough; > + case 0x0: > + default: > + return TYPEC_CC_OPEN; > + } > +} > #endif /* __LINUX_USB_TCPCI_H */ > -- > 2.7.4 >