cfg80211: add helper functions for start/end freq
Add helper fuctions for start/end freq. Signed-off-by: Janusz Dziedzic <janusz.dziedzic@tieto.com> Reviewed-by: Luis R. Rodriguez <mcgrof@do-not-panic.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
This commit is contained in:
Родитель
c17aa52c5b
Коммит
40d1ba63ff
|
@ -277,6 +277,32 @@ void cfg80211_set_dfs_state(struct wiphy *wiphy,
|
|||
width, dfs_state);
|
||||
}
|
||||
|
||||
static u32 cfg80211_get_start_freq(u32 center_freq,
|
||||
u32 bandwidth)
|
||||
{
|
||||
u32 start_freq;
|
||||
|
||||
if (bandwidth <= 20)
|
||||
start_freq = center_freq;
|
||||
else
|
||||
start_freq = center_freq - bandwidth/2 + 10;
|
||||
|
||||
return start_freq;
|
||||
}
|
||||
|
||||
static u32 cfg80211_get_end_freq(u32 center_freq,
|
||||
u32 bandwidth)
|
||||
{
|
||||
u32 end_freq;
|
||||
|
||||
if (bandwidth <= 20)
|
||||
end_freq = center_freq;
|
||||
else
|
||||
end_freq = center_freq + bandwidth/2 - 10;
|
||||
|
||||
return end_freq;
|
||||
}
|
||||
|
||||
static int cfg80211_get_chans_dfs_required(struct wiphy *wiphy,
|
||||
u32 center_freq,
|
||||
u32 bandwidth)
|
||||
|
@ -284,13 +310,8 @@ static int cfg80211_get_chans_dfs_required(struct wiphy *wiphy,
|
|||
struct ieee80211_channel *c;
|
||||
u32 freq, start_freq, end_freq;
|
||||
|
||||
if (bandwidth <= 20) {
|
||||
start_freq = center_freq;
|
||||
end_freq = center_freq;
|
||||
} else {
|
||||
start_freq = center_freq - bandwidth/2 + 10;
|
||||
end_freq = center_freq + bandwidth/2 - 10;
|
||||
}
|
||||
start_freq = cfg80211_get_start_freq(center_freq, bandwidth);
|
||||
end_freq = cfg80211_get_end_freq(center_freq, bandwidth);
|
||||
|
||||
for (freq = start_freq; freq <= end_freq; freq += 20) {
|
||||
c = ieee80211_get_channel(wiphy, freq);
|
||||
|
@ -337,13 +358,8 @@ static bool cfg80211_secondary_chans_ok(struct wiphy *wiphy,
|
|||
struct ieee80211_channel *c;
|
||||
u32 freq, start_freq, end_freq;
|
||||
|
||||
if (bandwidth <= 20) {
|
||||
start_freq = center_freq;
|
||||
end_freq = center_freq;
|
||||
} else {
|
||||
start_freq = center_freq - bandwidth/2 + 10;
|
||||
end_freq = center_freq + bandwidth/2 - 10;
|
||||
}
|
||||
start_freq = cfg80211_get_start_freq(center_freq, bandwidth);
|
||||
end_freq = cfg80211_get_end_freq(center_freq, bandwidth);
|
||||
|
||||
for (freq = start_freq; freq <= end_freq; freq += 20) {
|
||||
c = ieee80211_get_channel(wiphy, freq);
|
||||
|
|
Загрузка…
Ссылка в новой задаче