On Wed, 2022-06-08 at 08:13 +0000, Ping-Ke Shih wrote: > > > This is because common_info in ieee80211_trigger is __le64: > > +struct ieee80211_trigger { > ... > + __le64 common_info; > ... > +} > > Then, > type = le64_get_bits(tf->common_info, > IEEE80211_TRIGGER_TYPE_MASK); > is used to access trigger type of common_info in patch 2/3. Yep, but you have (after macro expansion) static __always_inline u64 le64_get_bits(__le64 v, u64 field) { return ...; } so you can easily pass any number as the 'field' argument, it doesn't need to already be ULL :-) johannes