C 此宏执行什么操作?

C 此宏执行什么操作?,c,linux,linux-kernel,linux-device-driver,embedded-linux,C,Linux,Linux Kernel,Linux Device Driver,Embedded Linux,此宏在drivers/net/wireless/ath/ath10k/core.h中定义。\u v给出一个表达式,用于计算寄存器的v值,并命名字段。宏扩展为一个表达式,该表达式按位ANDs&值与由FIELD_mask命名的掩码,然后按FIELD_LSB右移以右对齐 换句话说,它解压一个位域。\u v给出一个表达式,计算一个寄存器的v值,并命名一个字段。宏扩展为一个表达式,该表达式按位ANDs&值与由FIELD_mask命名的掩码,然后按FIELD_LSB右移以右对齐 换句话说,它解压一个位域。看

此宏在drivers/net/wireless/ath/ath10k/core.h中定义。

\u v给出一个表达式,用于计算寄存器的v值,并命名字段。宏扩展为一个表达式,该表达式按位ANDs&值与由FIELD_mask命名的掩码,然后按FIELD_LSB右移以右对齐

换句话说,它解压一个位域。

\u v给出一个表达式,计算一个寄存器的v值,并命名一个字段。宏扩展为一个表达式,该表达式按位ANDs&值与由FIELD_mask命名的掩码,然后按FIELD_LSB右移以右对齐


换句话说,它解压一个位域。

看起来像是最高有效的MS字节。看起来像是最高有效的MS字节。这是什么意思?是的,你告诉我它的面具和LSB?但是关于语法,它在做什么,它意味着什么?@BeagleBone,这是令牌连接操作符。它将令牌拼接在一起。这是什么意思?是的,你告诉我它的面具和LSB?但是关于语法,它在做什么,它意味着什么?@BeagleBone,这是令牌连接操作符。它将代币拼接在一起。
#define MS(_v, _f) (((_v) & _f##_MASK) >> _f##_LSB)