Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

usb: typec: tcpci: use GENMASK() for TCPC_ROLE_CTRL_RP_VAL

Align the last remaining field TCPC_ROLE_CTRL_RP_VAL with the other
fields in the TCPC_ROLE_CTRL register by using GENMASK() and
FIELD_PREP().

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-5-0ec1f41f4263@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

André Draszik and committed by
Greg Kroah-Hartman
46b1e0f8 83b254c1

+19 -17
+12 -9
drivers/usb/typec/tcpm/tcpci.c
··· 114 114 case TYPEC_CC_RP_DEF: 115 115 reg = (FIELD_PREP(TCPC_ROLE_CTRL_CC1, TCPC_ROLE_CTRL_CC_RP) 116 116 | FIELD_PREP(TCPC_ROLE_CTRL_CC2, TCPC_ROLE_CTRL_CC_RP) 117 - | (TCPC_ROLE_CTRL_RP_VAL_DEF << TCPC_ROLE_CTRL_RP_VAL_SHIFT)); 117 + | FIELD_PREP(TCPC_ROLE_CTRL_RP_VAL, 118 + TCPC_ROLE_CTRL_RP_VAL_DEF)); 118 119 break; 119 120 case TYPEC_CC_RP_1_5: 120 121 reg = (FIELD_PREP(TCPC_ROLE_CTRL_CC1, TCPC_ROLE_CTRL_CC_RP) 121 122 | FIELD_PREP(TCPC_ROLE_CTRL_CC2, TCPC_ROLE_CTRL_CC_RP) 122 - | (TCPC_ROLE_CTRL_RP_VAL_1_5 << TCPC_ROLE_CTRL_RP_VAL_SHIFT)); 123 + | FIELD_PREP(TCPC_ROLE_CTRL_RP_VAL, 124 + TCPC_ROLE_CTRL_RP_VAL_1_5)); 123 125 break; 124 126 case TYPEC_CC_RP_3_0: 125 127 reg = (FIELD_PREP(TCPC_ROLE_CTRL_CC1, TCPC_ROLE_CTRL_CC_RP) 126 128 | FIELD_PREP(TCPC_ROLE_CTRL_CC2, TCPC_ROLE_CTRL_CC_RP) 127 - | (TCPC_ROLE_CTRL_RP_VAL_3_0 << TCPC_ROLE_CTRL_RP_VAL_SHIFT)); 129 + | FIELD_PREP(TCPC_ROLE_CTRL_RP_VAL, 130 + TCPC_ROLE_CTRL_RP_VAL_3_0)); 128 131 break; 129 132 case TYPEC_CC_OPEN: 130 133 default: ··· 197 194 switch (cc) { 198 195 default: 199 196 case TYPEC_CC_RP_DEF: 200 - reg |= (TCPC_ROLE_CTRL_RP_VAL_DEF << 201 - TCPC_ROLE_CTRL_RP_VAL_SHIFT); 197 + reg |= FIELD_PREP(TCPC_ROLE_CTRL_RP_VAL, 198 + TCPC_ROLE_CTRL_RP_VAL_DEF); 202 199 break; 203 200 case TYPEC_CC_RP_1_5: 204 - reg |= (TCPC_ROLE_CTRL_RP_VAL_1_5 << 205 - TCPC_ROLE_CTRL_RP_VAL_SHIFT); 201 + reg |= FIELD_PREP(TCPC_ROLE_CTRL_RP_VAL, 202 + TCPC_ROLE_CTRL_RP_VAL_1_5); 206 203 break; 207 204 case TYPEC_CC_RP_3_0: 208 - reg |= (TCPC_ROLE_CTRL_RP_VAL_3_0 << 209 - TCPC_ROLE_CTRL_RP_VAL_SHIFT); 205 + reg |= FIELD_PREP(TCPC_ROLE_CTRL_RP_VAL, 206 + TCPC_ROLE_CTRL_RP_VAL_3_0); 210 207 break; 211 208 } 212 209
+6 -6
drivers/usb/typec/tcpm/tcpci_rt1711h.c
··· 232 232 switch (cc) { 233 233 default: 234 234 case TYPEC_CC_RP_DEF: 235 - reg |= (TCPC_ROLE_CTRL_RP_VAL_DEF << 236 - TCPC_ROLE_CTRL_RP_VAL_SHIFT); 235 + reg |= FIELD_PREP(TCPC_ROLE_CTRL_RP_VAL, 236 + TCPC_ROLE_CTRL_RP_VAL_DEF); 237 237 break; 238 238 case TYPEC_CC_RP_1_5: 239 - reg |= (TCPC_ROLE_CTRL_RP_VAL_1_5 << 240 - TCPC_ROLE_CTRL_RP_VAL_SHIFT); 239 + reg |= FIELD_PREP(TCPC_ROLE_CTRL_RP_VAL, 240 + TCPC_ROLE_CTRL_RP_VAL_1_5); 241 241 break; 242 242 case TYPEC_CC_RP_3_0: 243 - reg |= (TCPC_ROLE_CTRL_RP_VAL_3_0 << 244 - TCPC_ROLE_CTRL_RP_VAL_SHIFT); 243 + reg |= FIELD_PREP(TCPC_ROLE_CTRL_RP_VAL, 244 + TCPC_ROLE_CTRL_RP_VAL_3_0); 245 245 break; 246 246 } 247 247
+1 -2
include/linux/usb/tcpci.h
··· 63 63 64 64 #define TCPC_ROLE_CTRL 0x1a 65 65 #define TCPC_ROLE_CTRL_DRP BIT(6) 66 - #define TCPC_ROLE_CTRL_RP_VAL_SHIFT 4 67 - #define TCPC_ROLE_CTRL_RP_VAL_MASK 0x3 66 + #define TCPC_ROLE_CTRL_RP_VAL GENMASK(5, 4) 68 67 #define TCPC_ROLE_CTRL_RP_VAL_DEF 0x0 69 68 #define TCPC_ROLE_CTRL_RP_VAL_1_5 0x1 70 69 #define TCPC_ROLE_CTRL_RP_VAL_3_0 0x2