summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornohee ko <noheek@broadcom.com>2010-10-05 19:08:36 -0700
committerGreg Kroah-Hartman <gregkh@suse.de>2010-10-05 20:28:33 -0700
commitd11a5c6e683a76a1439b323194921c19e255ceac (patch)
tree461bd22bffe3ea216005862798e30801b9424670
parent0ddc6f46291b030523e4f6538e4ca3c5b75a15e0 (diff)
downloadlinux-d11a5c6e683a76a1439b323194921c19e255ceac.tar.bz2
staging: brcm80211: remove duplicated file, bcmwifi.c
Remove duplicated file, bcmwifi.c from brcmfmac. bcmwifi.c under brcm80211/util/ will be shared between softmac & fullmac drivers Signed-off-by: Nohee Ko <noheek@broadcom.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--drivers/staging/brcm80211/brcmfmac/Makefile2
-rw-r--r--drivers/staging/brcm80211/brcmfmac/bcmwifi.c170
-rw-r--r--drivers/staging/brcm80211/util/bcmwifi.c17
3 files changed, 18 insertions, 171 deletions
diff --git a/drivers/staging/brcm80211/brcmfmac/Makefile b/drivers/staging/brcm80211/brcmfmac/Makefile
index 883ca9668adb..276e3ac30b4e 100644
--- a/drivers/staging/brcm80211/brcmfmac/Makefile
+++ b/drivers/staging/brcm80211/brcmfmac/Makefile
@@ -42,7 +42,7 @@ ccflags-y := \
-Idrivers/staging/brcm80211/util
DHDOFILES = dhd_linux.o linux_osl.o bcmutils.o dhd_common.o dhd_custom_gpio.o \
- wl_iw.o wl_cfg80211.o ../util/siutils.o ../util/sbutils.o ../util/aiutils.o ../util/hndpmu.o bcmwifi.o dhd_sdio.o \
+ wl_iw.o wl_cfg80211.o ../util/siutils.o ../util/sbutils.o ../util/aiutils.o ../util/hndpmu.o ../util/bcmwifi.o dhd_sdio.o \
dhd_linux_sched.o dhd_cdc.o bcmsdh_sdmmc.o bcmsdh.o bcmsdh_linux.o \
bcmsdh_sdmmc_linux.o
diff --git a/drivers/staging/brcm80211/brcmfmac/bcmwifi.c b/drivers/staging/brcm80211/brcmfmac/bcmwifi.c
deleted file mode 100644
index 20baf447558f..000000000000
--- a/drivers/staging/brcm80211/brcmfmac/bcmwifi.c
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright (c) 2010 Broadcom Corporation
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
- * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
- * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
- * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include <typedefs.h>
-
-#ifdef BCMDRIVER
-#include <osl.h>
-#include <bcmutils.h>
-#define strtoul(nptr, endptr, base) bcm_strtoul((nptr), (endptr), (base))
-#define tolower(c) (bcm_isupper((c)) ? ((c) + 'a' - 'A') : (c))
-#else
-#include <stdio.h>
-#include <stdlib.h>
-#include <ctype.h>
-#endif
-#include <bcmwifi.h>
-
-#if defined(WIN32) && (defined(BCMDLL) || defined(WLMDLL))
-#include <bcmstdlib.h>
-#endif
-
-char *wf_chspec_ntoa(chanspec_t chspec, char *buf)
-{
- const char *band, *bw, *sb;
- uint channel;
-
- band = "";
- bw = "";
- sb = "";
- channel = CHSPEC_CHANNEL(chspec);
-
- if ((CHSPEC_IS2G(chspec) && channel > CH_MAX_2G_CHANNEL) ||
- (CHSPEC_IS5G(chspec) && channel <= CH_MAX_2G_CHANNEL))
- band = (CHSPEC_IS2G(chspec)) ? "b" : "a";
- if (CHSPEC_IS40(chspec)) {
- if (CHSPEC_SB_UPPER(chspec)) {
- sb = "u";
- channel += CH_10MHZ_APART;
- } else {
- sb = "l";
- channel -= CH_10MHZ_APART;
- }
- } else if (CHSPEC_IS10(chspec)) {
- bw = "n";
- }
-
- snprintf(buf, 6, "%d%s%s%s", channel, band, bw, sb);
- return buf;
-}
-
-chanspec_t wf_chspec_aton(char *a)
-{
- char *endp = NULL;
- uint channel, band, bw, ctl_sb;
- char c;
-
- channel = strtoul(a, &endp, 10);
-
- if (endp == a)
- return 0;
-
- if (channel > MAXCHANNEL)
- return 0;
-
- band =
- ((channel <=
- CH_MAX_2G_CHANNEL) ? WL_CHANSPEC_BAND_2G : WL_CHANSPEC_BAND_5G);
- bw = WL_CHANSPEC_BW_20;
- ctl_sb = WL_CHANSPEC_CTL_SB_NONE;
-
- a = endp;
-
- c = tolower(a[0]);
- if (c == '\0')
- goto done;
-
- if (c == 'a' || c == 'b') {
- band = (c == 'a') ? WL_CHANSPEC_BAND_5G : WL_CHANSPEC_BAND_2G;
- a++;
- c = tolower(a[0]);
- if (c == '\0')
- goto done;
- }
-
- if (c == 'n') {
- bw = WL_CHANSPEC_BW_10;
- } else if (c == 'l') {
- bw = WL_CHANSPEC_BW_40;
- ctl_sb = WL_CHANSPEC_CTL_SB_LOWER;
-
- if (channel <= (MAXCHANNEL - CH_20MHZ_APART))
- channel += CH_10MHZ_APART;
- else
- return 0;
- } else if (c == 'u') {
- bw = WL_CHANSPEC_BW_40;
- ctl_sb = WL_CHANSPEC_CTL_SB_UPPER;
-
- if (channel > CH_20MHZ_APART)
- channel -= CH_10MHZ_APART;
- else
- return 0;
- } else {
- return 0;
- }
-
-done:
- return channel | band | bw | ctl_sb;
-}
-
-int wf_mhz2channel(uint freq, uint start_factor)
-{
- int ch = -1;
- uint base;
- int offset;
-
- if (start_factor == 0) {
- if (freq >= 2400 && freq <= 2500)
- start_factor = WF_CHAN_FACTOR_2_4_G;
- else if (freq >= 5000 && freq <= 6000)
- start_factor = WF_CHAN_FACTOR_5_G;
- }
-
- if (freq == 2484 && start_factor == WF_CHAN_FACTOR_2_4_G)
- return 14;
-
- base = start_factor / 2;
-
- if ((freq < base) || (freq > base + 1000))
- return -1;
-
- offset = freq - base;
- ch = offset / 5;
-
- if (offset != (ch * 5))
- return -1;
-
- if (start_factor == WF_CHAN_FACTOR_2_4_G && (ch < 1 || ch > 13))
- return -1;
-
- return ch;
-}
-
-int wf_channel2mhz(uint ch, uint start_factor)
-{
- int freq;
-
- if ((start_factor == WF_CHAN_FACTOR_2_4_G && (ch < 1 || ch > 14)) ||
- (ch <= 200))
- freq = -1;
- if ((start_factor == WF_CHAN_FACTOR_2_4_G) && (ch == 14))
- freq = 2484;
- else
- freq = ch * 5 + start_factor / 2;
-
- return freq;
-}
diff --git a/drivers/staging/brcm80211/util/bcmwifi.c b/drivers/staging/brcm80211/util/bcmwifi.c
index b84cdf06b6dd..4e89867aa367 100644
--- a/drivers/staging/brcm80211/util/bcmwifi.c
+++ b/drivers/staging/brcm80211/util/bcmwifi.c
@@ -302,6 +302,22 @@ int wf_mhz2channel(uint freq, uint start_factor)
*
* Reference 802.11 REVma, section 17.3.8.3, and 802.11B section 18.4.6.2
*/
+#ifdef BRCM_FULLMAC
+int wf_channel2mhz(uint ch, uint start_factor)
+{
+ int freq;
+
+ if ((start_factor == WF_CHAN_FACTOR_2_4_G && (ch < 1 || ch > 14)) ||
+ (ch <= 200))
+ freq = -1;
+ if ((start_factor == WF_CHAN_FACTOR_2_4_G) && (ch == 14))
+ freq = 2484;
+ else
+ freq = ch * 5 + start_factor / 2;
+
+ return freq;
+}
+#else /* !BRCM_FULLMAC */
int wf_channel2mhz(uint ch, uint start_factor)
{
int freq;
@@ -316,3 +332,4 @@ int wf_channel2mhz(uint ch, uint start_factor)
return freq;
}
+#endif /* BRCM_FULLMAC */