usb: typec: tcpci: Move function "tcpci_to_typec_cc" to common
authorGene Chen <gene_chen@richtek.com>
Fri, 5 Aug 2022 07:17:12 +0000 (15:17 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 19 Aug 2022 09:05:12 +0000 (11:05 +0200)
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>
drivers/usb/typec/tcpm/tcpci.c
include/linux/usb/tcpci.h

index 8127847..50674ec 100644 (file)
 #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)
 {
index 20c0bed..1765745 100644 (file)
 /* 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 */