/* call this function with wiphy mutex is held */ #define rtw89_for_each_rtwvif(rtwdev, rtwvif) \
list_for_each_entry(rtwvif, &(rtwdev)->rtwvifs_list, list)
/* Before adding rtwvif to list, we need to check if it already exist, beacase *insomecasesuchasSERL2happenduringWoWLANflow,callingreconfig *twicecausethelisttobeaddedtwice.
*/ staticinlinebool rtw89_rtwvif_in_list(struct rtw89_dev *rtwdev, struct rtw89_vif *new)
{ struct rtw89_vif *rtwvif;
lockdep_assert_wiphy(rtwdev->hw->wiphy);
rtw89_for_each_rtwvif(rtwdev, rtwvif) if (rtwvif == new) returntrue;
returnfalse;
}
/* The result of negative dividend and positive divisor is undefined, but it *shouldbeonecaseofround-downorround-up.So,makeitround-downifthe *resultisround-up. *Note:themaximumvalueofdivisoris0x7FFF_FFFF,becausewecastitto *signedvaluetomakecompilertousesigneddivideinstruction.
*/ staticinline s32 s32_div_u32_round_down(s32 dividend, u32 divisor, s32 *remainder)
{
s32 i_divisor = (s32)divisor;
s32 i_remainder;
s32 quotient;
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.