USB: typec: no opencoding FIELD_GET
authorOliver Neukum <oneukum@suse.com>
Thu, 29 Feb 2024 13:23:57 +0000 (14:23 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 2 Mar 2024 19:20:41 +0000 (20:20 +0100)
We have a macro. It should be used.

Signed-off-by: Oliver Neukum <oneukum@suse.com>
Reviewed-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Link: https://lore.kernel.org/r/20240229132401.3270-1-oneukum@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
include/linux/usb/typec_tbt.h

index c7a2153bd6f50fa2954f0a292176c3ad31a96811..fa97d7e00f5c7896ab23cd9b25a9e6acef309711 100644 (file)
@@ -3,6 +3,7 @@
 #define __USB_TYPEC_TBT_H
 
 #include <linux/usb/typec_altmode.h>
+#include <linux/bitfield.h>
 
 #define USB_TYPEC_VENDOR_INTEL         0x8087
 /* Alias for convenience */
@@ -25,7 +26,7 @@ struct typec_thunderbolt_data {
 
 /* TBT3 Device Discover Mode VDO bits */
 #define TBT_MODE                       BIT(0)
-#define TBT_ADAPTER(_vdo_)             (((_vdo_) & BIT(16)) >> 16)
+#define TBT_ADAPTER(_vdo_)             FIELD_GET(BIT(16), _vdo_)
 #define   TBT_ADAPTER_LEGACY           0
 #define   TBT_ADAPTER_TBT3             1
 #define TBT_INTEL_SPECIFIC_B0          BIT(26)
@@ -35,12 +36,12 @@ struct typec_thunderbolt_data {
 #define TBT_SET_ADAPTER(a)             (((a) & 1) << 16)
 
 /* TBT3 Cable Discover Mode VDO bits */
-#define TBT_CABLE_SPEED(_vdo_)         (((_vdo_) & GENMASK(18, 16)) >> 16)
+#define TBT_CABLE_SPEED(_vdo_)         FIELD_GET(GENMASK(18, 16), _vdo_)
 #define   TBT_CABLE_USB3_GEN1          1
 #define   TBT_CABLE_USB3_PASSIVE       2
 #define   TBT_CABLE_10_AND_20GBPS      3
-#define TBT_CABLE_ROUNDED_SUPPORT(_vdo_) \
-                                       (((_vdo_) & GENMASK(20, 19)) >> 19)
+#define TBT_CABLE_ROUNDED_SUPPORT(_vdo_) FIELD_GET(GENMASK(20, 19), _vdo_)
+
 #define   TBT_GEN3_NON_ROUNDED                 0
 #define   TBT_GEN3_GEN4_ROUNDED_NON_ROUNDED    1
 #define TBT_CABLE_OPTICAL              BIT(21)