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

usb: typec: pd: no opencoding of FIELD_GET

If we have a neat macro, at least new code should
use it.

Signed-off-by: Oliver Neukum <oneukum@suse.com>
Link: https://lore.kernel.org/r/20240229131851.16148-2-oneukum@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Oliver Neukum and committed by
Greg Kroah-Hartman
d2824078 5424a442

+9 -7
+3 -2
include/linux/usb/pd_vdo.h
··· 7 7 #define __LINUX_USB_PD_VDO_H 8 8 9 9 #include "pd.h" 10 + #include <linux/bitfield.h> 10 11 11 12 /* 12 13 * VDO : Vendor Defined Message Object ··· 189 188 * <5:3> :: Alternate modes 190 189 * <2:0> :: USB highest speed 191 190 */ 192 - #define PD_VDO_UFP_DEVCAP(vdo) (((vdo) & GENMASK(27, 24)) >> 24) 191 + #define PD_VDO_UFP_DEVCAP(vdo) FIELD_GET(GENMASK(27, 24), vdo) 193 192 194 193 /* UFP VDO Version */ 195 194 #define UFP_VDO_VER1_2 2 ··· 248 247 * <21:5> :: Reserved 249 248 * <4:0> :: Port number 250 249 */ 251 - #define PD_VDO_DFP_HOSTCAP(vdo) (((vdo) & GENMASK(26, 24)) >> 24) 250 + #define PD_VDO_DFP_HOSTCAP(vdo) FIELD_GET(GENMASK(26, 24), vdo) 252 251 253 252 #define DFP_VDO_VER1_1 1 254 253 #define HOST_USB2_CAPABLE BIT(0)
+6 -5
include/linux/usb/typec_dp.h
··· 3 3 #define __USB_TYPEC_DP_H 4 4 5 5 #include <linux/usb/typec_altmode.h> 6 + #include <linux/bitfield.h> 6 7 7 8 #define USB_TYPEC_DP_SID 0xff01 8 9 /* USB IF has not assigned a Standard ID (SID) for VirtualLink, ··· 68 67 #define DP_CAP_UFP_D 1 69 68 #define DP_CAP_DFP_D 2 70 69 #define DP_CAP_DFP_D_AND_UFP_D 3 71 - #define DP_CAP_DP_SIGNALLING(_cap_) (((_cap_) & GENMASK(5, 2)) >> 2) 70 + #define DP_CAP_DP_SIGNALLING(_cap_) FIELD_GET(GENMASK(5, 2), _cap_) 72 71 #define DP_CAP_SIGNALLING_HBR3 1 73 72 #define DP_CAP_SIGNALLING_UHBR10 2 74 73 #define DP_CAP_SIGNALLING_UHBR20 3 75 74 #define DP_CAP_RECEPTACLE BIT(6) 76 75 #define DP_CAP_USB BIT(7) 77 - #define DP_CAP_DFP_D_PIN_ASSIGN(_cap_) (((_cap_) & GENMASK(15, 8)) >> 8) 78 - #define DP_CAP_UFP_D_PIN_ASSIGN(_cap_) (((_cap_) & GENMASK(23, 16)) >> 16) 76 + #define DP_CAP_DFP_D_PIN_ASSIGN(_cap_) FIELD_GET(GENMASK(15, 8), _cap_) 77 + #define DP_CAP_UFP_D_PIN_ASSIGN(_cap_) FIELD_GET(GENMASK(23, 16), _cap_) 79 78 /* Get pin assignment taking plug & receptacle into consideration */ 80 79 #define DP_CAP_PIN_ASSIGN_UFP_D(_cap_) ((_cap_ & DP_CAP_RECEPTACLE) ? \ 81 80 DP_CAP_UFP_D_PIN_ASSIGN(_cap_) : DP_CAP_DFP_D_PIN_ASSIGN(_cap_)) 82 81 #define DP_CAP_PIN_ASSIGN_DFP_D(_cap_) ((_cap_ & DP_CAP_RECEPTACLE) ? \ 83 82 DP_CAP_DFP_D_PIN_ASSIGN(_cap_) : DP_CAP_UFP_D_PIN_ASSIGN(_cap_)) 84 83 #define DP_CAP_UHBR_13_5_SUPPORT BIT(26) 85 - #define DP_CAP_CABLE_TYPE(_cap_) (((_cap_) & GENMASK(29, 28)) >> 28) 84 + #define DP_CAP_CABLE_TYPE(_cap_) FIELD_GET(GENMASK(29, 28), _cap_) 86 85 #define DP_CAP_CABLE_TYPE_PASSIVE 0 87 86 #define DP_CAP_CABLE_TYPE_RE_TIMER 1 88 87 #define DP_CAP_CABLE_TYPE_RE_DRIVER 2 ··· 117 116 118 117 /* Helper for setting/getting the pin assignment value to the configuration */ 119 118 #define DP_CONF_SET_PIN_ASSIGN(_a_) ((_a_) << 8) 120 - #define DP_CONF_GET_PIN_ASSIGN(_conf_) (((_conf_) & GENMASK(15, 8)) >> 8) 119 + #define DP_CONF_GET_PIN_ASSIGN(_conf_) FIELD_GET(GENMASK(15, 8), _conf_) 121 120 #define DP_CONF_UHBR13_5_SUPPORT BIT(26) 122 121 #define DP_CONF_CABLE_TYPE_MASK GENMASK(29, 28) 123 122 #define DP_CONF_CABLE_TYPE_SHIFT 28