3
0
mirror of https://git.kernel.org/pub/scm/network/wireless/iwd.git synced 2024-12-22 12:42:51 +01:00

wiphy: use enum band_freq with rates getter

wiphy_get_supported_rates expected an enum defined in the nl80211
header but the argument type was an unsigned int, not exactly
intuitive to anyone using the API. Since the nl80211 enum value
was only used in a switch statement it could just as well be IWD's
internal enum band_freq.

This also allows modules which do not reference nl80211.h to use
wiphy_get_supported_rates().
This commit is contained in:
James Prestwood 2022-12-09 11:39:27 -08:00 committed by Denis Kenzior
parent bce3ab2bf2
commit 3cd93505d6
3 changed files with 9 additions and 6 deletions

View File

@ -426,7 +426,7 @@ static struct l_genl_msg *scan_build_cmd(struct scan_context *sc,
* rates we don't want to advertise support for 802.11b rates.
*/
if (L_WARN_ON(!(supported = wiphy_get_supported_rates(sc->wiphy,
NL80211_BAND_2GHZ,
BAND_FREQ_2_4_GHZ,
&num_supported))))
goto done;

View File

@ -788,19 +788,20 @@ bool wiphy_supports_iftype(struct wiphy *wiphy, uint32_t iftype)
return wiphy->supported_iftypes & (1 << (iftype - 1));
}
const uint8_t *wiphy_get_supported_rates(struct wiphy *wiphy, unsigned int band,
const uint8_t *wiphy_get_supported_rates(struct wiphy *wiphy,
enum band_freq band,
unsigned int *out_num)
{
struct band *bandp;
switch (band) {
case NL80211_BAND_2GHZ:
case BAND_FREQ_2_4_GHZ:
bandp = wiphy->band_2g;
break;
case NL80211_BAND_5GHZ:
case BAND_FREQ_5_GHZ:
bandp = wiphy->band_5g;
break;
case NL80211_BAND_6GHZ:
case BAND_FREQ_6_GHZ:
bandp = wiphy->band_6g;
break;
default:

View File

@ -29,6 +29,7 @@ struct scan_freq_set;
struct wiphy_radio_work_item;
struct ie_rsn_info;
enum security;
enum band_freq;
typedef bool (*wiphy_radio_work_func_t)(struct wiphy_radio_work_item *item);
typedef void (*wiphy_radio_work_destroy_func_t)(
@ -112,7 +113,8 @@ uint8_t wiphy_get_max_num_ssids_per_scan(struct wiphy *wiphy);
uint16_t wiphy_get_max_scan_ie_len(struct wiphy *wiphy);
uint32_t wiphy_get_max_roc_duration(struct wiphy *wiphy);
bool wiphy_supports_iftype(struct wiphy *wiphy, uint32_t iftype);
const uint8_t *wiphy_get_supported_rates(struct wiphy *wiphy, unsigned int band,
const uint8_t *wiphy_get_supported_rates(struct wiphy *wiphy,
enum band_freq band,
unsigned int *out_num);
bool wiphy_supports_adhoc_rsn(struct wiphy *wiphy);
bool wiphy_can_offchannel_tx(struct wiphy *wiphy);