Message ID | 20221209193930.845238-1-prestwoj@gmail.com (mailing list archive) |
---|---|
State | Accepted, archived |
Headers | show |
Series | [v3,1/4] wiphy: use enum band_freq with rates getter | expand |
Context | Check | Description |
---|---|---|
tedd_an/pre-ci_am | success | Success |
prestwoj/iwd-alpine-ci-fetch | success | Fetch PR |
prestwoj/iwd-ci-gitlint | success | GitLint |
prestwoj/iwd-ci-fetch | success | Fetch PR |
prestwoj/iwd-alpine-ci-makedistcheck | success | Make Distcheck |
prestwoj/iwd-alpine-ci-build | success | Build - Configure |
prestwoj/iwd-ci-build | success | Build - Configure |
prestwoj/iwd-alpine-ci-makecheckvalgrind | success | Make Check w/Valgrind |
prestwoj/iwd-alpine-ci-makecheck | success | Make Check |
prestwoj/iwd-ci-clang | success | clang PASS |
prestwoj/iwd-ci-makecheckvalgrind | success | Make Check w/Valgrind |
prestwoj/iwd-ci-makecheck | success | Make Check |
prestwoj/iwd-alpine-ci-incremental_build | success | Incremental Build with patches |
prestwoj/iwd-ci-incremental_build | success | Incremental Build with patches |
prestwoj/iwd-ci-makedistcheck | success | Make Distcheck |
prestwoj/iwd-ci-testrunner | success | test-runner PASS |
Hi James, On 12/9/22 13:39, James Prestwood wrote: > 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(). > --- > src/scan.c | 2 +- > src/wiphy.c | 9 +++++---- > src/wiphy.h | 4 +++- > 3 files changed, 9 insertions(+), 6 deletions(-) > All applied, thanks. Regards, -Denis
diff --git a/src/scan.c b/src/scan.c index ef222f66..5d2f2957 100644 --- a/src/scan.c +++ b/src/scan.c @@ -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; diff --git a/src/wiphy.c b/src/wiphy.c index 10514572..37e0cdb8 100644 --- a/src/wiphy.c +++ b/src/wiphy.c @@ -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: diff --git a/src/wiphy.h b/src/wiphy.h index f8de7e0e..410105dd 100644 --- a/src/wiphy.h +++ b/src/wiphy.h @@ -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);