Commit 40d1ba63 authored by Janusz Dziedzic's avatar Janusz Dziedzic Committed by Johannes Berg

cfg80211: add helper functions for start/end freq

Add helper fuctions for start/end freq.
Signed-off-by: default avatarJanusz Dziedzic <janusz.dziedzic@tieto.com>
Reviewed-by: default avatarLuis R. Rodriguez <mcgrof@do-not-panic.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent c17aa52c
...@@ -277,6 +277,32 @@ void cfg80211_set_dfs_state(struct wiphy *wiphy, ...@@ -277,6 +277,32 @@ void cfg80211_set_dfs_state(struct wiphy *wiphy,
width, dfs_state); 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, static int cfg80211_get_chans_dfs_required(struct wiphy *wiphy,
u32 center_freq, u32 center_freq,
u32 bandwidth) u32 bandwidth)
...@@ -284,13 +310,8 @@ static int cfg80211_get_chans_dfs_required(struct wiphy *wiphy, ...@@ -284,13 +310,8 @@ static int cfg80211_get_chans_dfs_required(struct wiphy *wiphy,
struct ieee80211_channel *c; struct ieee80211_channel *c;
u32 freq, start_freq, end_freq; u32 freq, start_freq, end_freq;
if (bandwidth <= 20) { start_freq = cfg80211_get_start_freq(center_freq, bandwidth);
start_freq = center_freq; end_freq = cfg80211_get_end_freq(center_freq, bandwidth);
end_freq = center_freq;
} else {
start_freq = center_freq - bandwidth/2 + 10;
end_freq = center_freq + bandwidth/2 - 10;
}
for (freq = start_freq; freq <= end_freq; freq += 20) { for (freq = start_freq; freq <= end_freq; freq += 20) {
c = ieee80211_get_channel(wiphy, freq); c = ieee80211_get_channel(wiphy, freq);
...@@ -337,13 +358,8 @@ static bool cfg80211_secondary_chans_ok(struct wiphy *wiphy, ...@@ -337,13 +358,8 @@ static bool cfg80211_secondary_chans_ok(struct wiphy *wiphy,
struct ieee80211_channel *c; struct ieee80211_channel *c;
u32 freq, start_freq, end_freq; u32 freq, start_freq, end_freq;
if (bandwidth <= 20) { start_freq = cfg80211_get_start_freq(center_freq, bandwidth);
start_freq = center_freq; end_freq = cfg80211_get_end_freq(center_freq, bandwidth);
end_freq = center_freq;
} else {
start_freq = center_freq - bandwidth/2 + 10;
end_freq = center_freq + bandwidth/2 - 10;
}
for (freq = start_freq; freq <= end_freq; freq += 20) { for (freq = start_freq; freq <= end_freq; freq += 20) {
c = ieee80211_get_channel(wiphy, freq); c = ieee80211_get_channel(wiphy, freq);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment