usb: typec: tcpci: Move function "tcpci_to_typec_cc" to common
Move transition function "tcpci_to_typec_cc" to common header Reviewed-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Heikki Krogerus <heikki.krogerus@linux.intel.com> Signed-off-by: Gene Chen <gene_chen@richtek.com> Link: https://lore.kernel.org/r/20220805071714.150882-7-gene.chen.richtek@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
24b5c2c824
Коммит
2c8cc0946c
|
@ -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)
|
||||
{
|
||||
|
|
|
@ -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 */
|
||||
|
|
Загрузка…
Ссылка в новой задаче