wiphy: add wiphy_get_allowed_freqs

This is more or less copied from scan_get_allowed_freqs but is
going to be needed by station (basically just saves the need for
station to do the same clone/constrain sequence itself).

One slight alteration is now a band mask can be passed in which
provides more flexibility for additional filtering.
This commit is contained in:
James Prestwood 2023-09-25 11:54:18 -07:00 committed by Denis Kenzior
parent e4fb9786c5
commit 112b1de2ee
2 changed files with 17 additions and 0 deletions

View File

@ -500,6 +500,21 @@ const struct scan_freq_set *wiphy_get_supported_freqs(
return wiphy->supported_freqs;
}
struct scan_freq_set *wiphy_get_allowed_freqs(const struct wiphy *wiphy,
uint32_t band_mask)
{
struct scan_freq_set *allowed = scan_freq_set_clone(
wiphy->supported_freqs,
band_mask);
if (!wiphy_constrain_freq_set(wiphy, allowed)) {
scan_freq_set_free(allowed);
allowed = NULL;
}
return allowed;
}
static struct band *wiphy_get_band(const struct wiphy *wiphy, enum band_freq band)
{
switch (band) {

View File

@ -100,6 +100,8 @@ const char *wiphy_get_path(struct wiphy *wiphy);
uint32_t wiphy_get_supported_bands(struct wiphy *wiphy);
const struct scan_freq_set *wiphy_get_supported_freqs(
const struct wiphy *wiphy);
struct scan_freq_set *wiphy_get_allowed_freqs(const struct wiphy *wiphy,
uint32_t band_mask);
const struct band_freq_attrs *wiphy_get_frequency_info(
const struct wiphy *wiphy,