aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorLuis R. Rodriguez <lrodriguez@atheros.com>2010-04-15 17:38:32 -0400
committerJohn W. Linville <linville@tuxdriver.com>2010-04-16 15:43:23 -0400
commit7152451aa12558ab032f319a119ceb928396b905 (patch)
tree0b84c7516d4264bc9f57f5a88aa67c0d74abc03b /drivers/net
parentda6f1d7f5f46d71f85d69a6521a16b83ad00e7e3 (diff)
downloadkernel_samsung_smdk4412-7152451aa12558ab032f319a119ceb928396b905.zip
kernel_samsung_smdk4412-7152451aa12558ab032f319a119ceb928396b905.tar.gz
kernel_samsung_smdk4412-7152451aa12558ab032f319a119ceb928396b905.tar.bz2
ath9k_hw: add common channel select helpers for ar900[23]
Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/ath/ath9k/ar9002_phy.c4
-rw-r--r--drivers/net/wireless/ath/ath9k/phy.h4
2 files changed, 6 insertions, 2 deletions
diff --git a/drivers/net/wireless/ath/ath9k/ar9002_phy.c b/drivers/net/wireless/ath/ath9k/ar9002_phy.c
index 87541a8..1f8ac0a 100644
--- a/drivers/net/wireless/ath/ath9k/ar9002_phy.c
+++ b/drivers/net/wireless/ath/ath9k/ar9002_phy.c
@@ -83,7 +83,7 @@ static int ar9002_hw_set_channel(struct ath_hw *ah, struct ath9k_channel *chan)
bMode = 1;
fracMode = 1;
aModeRefSel = 0;
- channelSel = (freq * 0x10000) / 15;
+ channelSel = CHANSEL_2G(freq);
if (AR_SREV_9287_11_OR_LATER(ah)) {
if (freq == 2484) {
@@ -126,7 +126,7 @@ static int ar9002_hw_set_channel(struct ath_hw *ah, struct ath9k_channel *chan)
*/
fracMode = 1;
refDivA = 1;
- channelSel = (freq * 0x8000) / 15;
+ channelSel = CHANSEL_5G(freq);
/* RefDivA setting */
REG_RMW_FIELD(ah, AR_AN_SYNTH9,
diff --git a/drivers/net/wireless/ath/ath9k/phy.h b/drivers/net/wireless/ath/ath9k/phy.h
index b908152..7d397fd 100644
--- a/drivers/net/wireless/ath/ath9k/phy.h
+++ b/drivers/net/wireless/ath/ath9k/phy.h
@@ -17,6 +17,10 @@
#ifndef PHY_H
#define PHY_H
+#define CHANSEL_DIV 15
+#define CHANSEL_2G(_freq) (((_freq) * 0x10000) / CHANSEL_DIV)
+#define CHANSEL_5G(_freq) (((_freq) * 0x8000) / CHANSEL_DIV)
+
#define AR_PHY_BASE 0x9800
#define AR_PHY(_n) (AR_PHY_BASE + ((_n)<<2))