usb: typec: tcpci: use GENMASK() for TCPC_TRANSMIT register fields
authorAndré Draszik <andre.draszik@linaro.org>
Wed, 10 Jul 2024 10:36:14 +0000 (11:36 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 7 Aug 2024 10:49:30 +0000 (12:49 +0200)
Convert all fields from register TCPC_TRANSMIT to using GENMASK() and
FIELD_PREP() so as to keep using a similar approach throughout the code
base and make it arguably easier to read.

Signed-off-by: André Draszik <andre.draszik@linaro.org>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Link: https://lore.kernel.org/r/20240710-tcpc-cleanup-v1-7-0ec1f41f4263@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/tcpm/tcpci.c
include/linux/usb/tcpci.h

index 929d0b7c64ca1bdef2214d7e785565e55a856b78..aed223edf76ae9d8a436420ec094676ccf6d23e3 100644 (file)
@@ -607,8 +607,11 @@ static int tcpci_pd_transmit(struct tcpc_dev *tcpc, enum tcpm_transmit_type type
        }
 
        /* nRetryCount is 3 in PD2.0 spec where 2 in PD3.0 spec */
-       reg = ((negotiated_rev > PD_REV20 ? PD_RETRY_COUNT_3_0_OR_HIGHER : PD_RETRY_COUNT_DEFAULT)
-              << TCPC_TRANSMIT_RETRY_SHIFT) | (type << TCPC_TRANSMIT_TYPE_SHIFT);
+       reg = FIELD_PREP(TCPC_TRANSMIT_RETRY,
+                        (negotiated_rev > PD_REV20
+                         ? PD_RETRY_COUNT_3_0_OR_HIGHER
+                         : PD_RETRY_COUNT_DEFAULT));
+       reg |= FIELD_PREP(TCPC_TRANSMIT_TYPE, type);
        ret = regmap_write(tcpci->regmap, TCPC_TRANSMIT, reg);
        if (ret < 0)
                return ret;
index 3cd61e9f73b32369d307ca1ecc8e0800053960e8..f7f5cfbdef120c4091b8809d07b1fd9c2d96e2bf 100644 (file)
 #define TCPC_RX_DATA                   0x34 /* through 0x4f */
 
 #define TCPC_TRANSMIT                  0x50
-#define TCPC_TRANSMIT_RETRY_SHIFT      4
-#define TCPC_TRANSMIT_RETRY_MASK       0x3
-#define TCPC_TRANSMIT_TYPE_SHIFT       0
-#define TCPC_TRANSMIT_TYPE_MASK                0x7
+#define TCPC_TRANSMIT_RETRY            GENMASK(5, 4)
+#define TCPC_TRANSMIT_TYPE             GENMASK(2, 0)
 
 #define TCPC_TX_BYTE_CNT               0x51
 #define TCPC_TX_HDR                    0x52