From: Johannes Berg Date: Tue, 12 Jul 2022 16:32:49 +0000 (+0200) Subject: wifi: cfg80211: add cfg80211_get_iftype_ext_capa() X-Git-Tag: v6.1-rc5~731^2~64^2~67 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7464f665158e09f3f29116d8d0676824c1f1eeda;p=platform%2Fkernel%2Flinux-starfive.git wifi: cfg80211: add cfg80211_get_iftype_ext_capa() Add a helper function cfg80211_get_iftype_ext_capa() to look up interface type-specific (extended) capabilities. Signed-off-by: Johannes Berg --- diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h index 8dbc642..d5af3a7 100644 --- a/include/net/cfg80211.h +++ b/include/net/cfg80211.h @@ -5006,6 +5006,14 @@ struct wiphy_iftype_ext_capab { }; /** + * cfg80211_get_iftype_ext_capa - lookup interface type extended capability + * @wiphy: the wiphy to look up from + * @type: the interface type to look up + */ +const struct wiphy_iftype_ext_capab * +cfg80211_get_iftype_ext_capa(struct wiphy *wiphy, enum nl80211_iftype type); + +/** * struct cfg80211_pmsr_capabilities - cfg80211 peer measurement capabilities * @max_peers: maximum number of peers in a single measurement * @report_ap_tsf: can report assoc AP's TSF for radio resource measurement diff --git a/net/wireless/util.c b/net/wireless/util.c index fe7956c..2c12795 100644 --- a/net/wireless/util.c +++ b/net/wireless/util.c @@ -2490,3 +2490,17 @@ int cfg80211_remove_virtual_intf(struct cfg80211_registered_device *rdev, return rdev_del_virtual_intf(rdev, wdev); } + +const struct wiphy_iftype_ext_capab * +cfg80211_get_iftype_ext_capa(struct wiphy *wiphy, enum nl80211_iftype type) +{ + int i; + + for (i = 0; i < wiphy->num_iftype_ext_capab; i++) { + if (wiphy->iftype_ext_capab[i].iftype == type) + return &wiphy->iftype_ext_capab[i]; + } + + return NULL; +} +EXPORT_SYMBOL(cfg80211_get_iftype_ext_capa);