On Mon, Aug 01, 2022 at 06:14:46PM +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> > --- > drivers/usb/typec/tcpm/tcpci.c | 22 ---------------------- > drivers/usb/typec/tcpm/tcpci.h | 23 +++++++++++++++++++++++ > 2 files changed, 23 insertions(+), 22 deletions(-) > > diff --git a/drivers/usb/typec/tcpm/tcpci.c b/drivers/usb/typec/tcpm/tcpci.c > index f33e08eb7670..0f45d456df32 100644 > --- a/drivers/usb/typec/tcpm/tcpci.c > +++ b/drivers/usb/typec/tcpm/tcpci.c > @@ -28,11 +28,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; > > @@ -219,23 +214,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/drivers/usb/typec/tcpm/tcpci.h b/drivers/usb/typec/tcpm/tcpci.h > index b2edd45f13c6..3f45cb0426df 100644 > --- a/drivers/usb/typec/tcpm/tcpci.h > +++ b/drivers/usb/typec/tcpm/tcpci.h > @@ -166,6 +166,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; > > /* > @@ -206,4 +211,22 @@ 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.25.1 -- heikki