staging: brcm80211: use native ctype library
authorAndy Shevchenko <andy.shevchenko@gmail.com>
Wed, 15 Sep 2010 09:47:17 +0000 (12:47 +0300)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 16 Sep 2010 19:51:56 +0000 (12:51 -0700)
Signed-off-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/brcm80211/include/bcmutils.h
drivers/staging/brcm80211/sys/wlc_mac80211.c
drivers/staging/brcm80211/util/bcmutils.c
drivers/staging/brcm80211/util/bcmwifi.c

index 321071b53727c8c176da76daa4cd2a47d027bda2..f17dbb18ee43bf76895b76515a7d2006853d9136 100644 (file)
 extern "C" {
 #endif
 
-/* ctype replacement */
-#define _BCM_U 0x01            /* upper */
-#define _BCM_L 0x02            /* lower */
-#define _BCM_D 0x04            /* digit */
-#define _BCM_C 0x08            /* cntrl */
-#define _BCM_P 0x10            /* punct */
-#define _BCM_S 0x20            /* white space (space/lf/tab) */
-#define _BCM_X 0x40            /* hex digit */
-#define _BCM_SP        0x80            /* hard space (0x20) */
-
-       extern const unsigned char bcm_ctype[];
-#define bcm_ismask(x)  (bcm_ctype[(int)(unsigned char)(x)])
-
-#define bcm_isalnum(c) ((bcm_ismask(c)&(_BCM_U|_BCM_L|_BCM_D)) != 0)
-#define bcm_isalpha(c) ((bcm_ismask(c)&(_BCM_U|_BCM_L)) != 0)
-#define bcm_iscntrl(c) ((bcm_ismask(c)&(_BCM_C)) != 0)
-#define bcm_isdigit(c) ((bcm_ismask(c)&(_BCM_D)) != 0)
-#define bcm_isgraph(c) ((bcm_ismask(c)&(_BCM_P|_BCM_U|_BCM_L|_BCM_D)) != 0)
-#define bcm_islower(c) ((bcm_ismask(c)&(_BCM_L)) != 0)
-#define bcm_isprint(c) ((bcm_ismask(c)&(_BCM_P|_BCM_U|_BCM_L|_BCM_D|_BCM_SP)) != 0)
-#define bcm_ispunct(c) ((bcm_ismask(c)&(_BCM_P)) != 0)
-#define bcm_isspace(c) ((bcm_ismask(c)&(_BCM_S)) != 0)
-#define bcm_isupper(c) ((bcm_ismask(c)&(_BCM_U)) != 0)
-#define bcm_isxdigit(c)        ((bcm_ismask(c)&(_BCM_D|_BCM_X)) != 0)
-#define bcm_tolower(c) (bcm_isupper((c)) ? ((c) + 'a' - 'A') : (c))
-#define bcm_toupper(c) (bcm_islower((c)) ? ((c) + 'A' - 'a') : (c))
-
 /* Buffer structure for collecting string-formatted data
 * using bcm_bprintf() API.
 * Use bcm_binit() to initialize before use
index 27ddc23ae9e58a1752eeef781021c1c3343d2003..db9a7c2ea7faec93997242c1a01fd70d8d16b3f4 100644 (file)
@@ -75,6 +75,8 @@
 #define W_REG(osh, r, v) RPC_WRITE_REG(osh, r, v)
 #endif
 
+#include <linux/ctype.h>
+
 /*
  * buffer length needed for wlc_format_ssid
  * 32 SSID chars, max of 4 chars for each SSID char "\xFF", plus NULL.
@@ -5486,7 +5488,7 @@ int wlc_format_ssid(char *buf, const uchar ssid[], uint ssid_len)
                if (c == '\\') {
                        *p++ = '\\';
                        *p++ = '\\';
-               } else if (bcm_isprint((uchar) c)) {
+               } else if (isprint((uchar) c)) {
                        *p++ = (char)c;
                } else {
                        p += snprintf(p, (endp - p), "\\x%02X", c);
index 950506495be72c84ba59976ab81606070afb5647..3f521e9cf168e855061dd233d864d8395d4a9b6e 100644 (file)
@@ -27,6 +27,8 @@
 #include <proto/802.1d.h>
 #include <proto/802.11.h>
 
+#include <linux/ctype.h>
+
 #ifdef WLC_LOW
 /* nvram vars cache */
 static char *nvram_vars;
@@ -490,52 +492,6 @@ void *BCMFASTPATH pktq_mdeq(struct pktq *pq, uint prec_bmp, int *prec_out)
        return p;
 }
 
-const unsigned char bcm_ctype[] = {
-
-       _BCM_C, _BCM_C, _BCM_C, _BCM_C, _BCM_C, _BCM_C, _BCM_C, _BCM_C, /* 0-7 */
-       _BCM_C, _BCM_C | _BCM_S, _BCM_C | _BCM_S, _BCM_C | _BCM_S,
-           _BCM_C | _BCM_S, _BCM_C | _BCM_S, _BCM_C,
-       _BCM_C,                 /* 8-15 */
-       _BCM_C, _BCM_C, _BCM_C, _BCM_C, _BCM_C, _BCM_C, _BCM_C, _BCM_C, /* 16-23 */
-       _BCM_C, _BCM_C, _BCM_C, _BCM_C, _BCM_C, _BCM_C, _BCM_C, _BCM_C, /* 24-31 */
-       _BCM_S | _BCM_SP, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P,       /* 32-39 */
-       _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, /* 40-47 */
-       _BCM_D, _BCM_D, _BCM_D, _BCM_D, _BCM_D, _BCM_D, _BCM_D, _BCM_D, /* 48-55 */
-       _BCM_D, _BCM_D, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, /* 56-63 */
-       _BCM_P, _BCM_U | _BCM_X, _BCM_U | _BCM_X, _BCM_U | _BCM_X,
-           _BCM_U | _BCM_X, _BCM_U | _BCM_X,
-       _BCM_U | _BCM_X, _BCM_U,        /* 64-71 */
-       _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U, /* 72-79 */
-       _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U, /* 80-87 */
-       _BCM_U, _BCM_U, _BCM_U, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, /* 88-95 */
-       _BCM_P, _BCM_L | _BCM_X, _BCM_L | _BCM_X, _BCM_L | _BCM_X,
-           _BCM_L | _BCM_X, _BCM_L | _BCM_X,
-       _BCM_L | _BCM_X, _BCM_L,        /* 96-103 */
-       _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L, /* 104-111 */
-       _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L, /* 112-119 */
-       _BCM_L, _BCM_L, _BCM_L, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_C, /* 120-127 */
-       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 128-143 */
-       0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 144-159 */
-       _BCM_S | _BCM_SP, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P,
-           _BCM_P, _BCM_P, _BCM_P,
-       _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, /* 160-175 */
-       _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P,
-           _BCM_P, _BCM_P,
-       _BCM_P, _BCM_P, _BCM_P, _BCM_P, _BCM_P, /* 176-191 */
-       _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U,
-           _BCM_U, _BCM_U,
-       _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U, /* 192-207 */
-       _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_P, _BCM_U,
-           _BCM_U, _BCM_U,
-       _BCM_U, _BCM_U, _BCM_U, _BCM_U, _BCM_L, /* 208-223 */
-       _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L,
-           _BCM_L, _BCM_L,
-       _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L, /* 224-239 */
-       _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_P, _BCM_L,
-           _BCM_L, _BCM_L,
-       _BCM_L, _BCM_L, _BCM_L, _BCM_L, _BCM_L  /* 240-255 */
-};
-
 ulong BCMROMFN(bcm_strtoul) (char *cp, char **endp, uint base)
 {
        ulong result, last_result = 0, value;
@@ -543,7 +499,7 @@ ulong BCMROMFN(bcm_strtoul) (char *cp, char **endp, uint base)
 
        minus = FALSE;
 
-       while (bcm_isspace(*cp))
+       while (isspace(*cp))
                cp++;
 
        if (cp[0] == '+')
@@ -571,9 +527,9 @@ ulong BCMROMFN(bcm_strtoul) (char *cp, char **endp, uint base)
 
        result = 0;
 
-       while (bcm_isxdigit(*cp) &&
+       while (isxdigit(*cp) &&
               (value =
-               bcm_isdigit(*cp) ? *cp - '0' : bcm_toupper(*cp) - 'A' + 10) <
+               isdigit(*cp) ? *cp - '0' : toupper(*cp) - 'A' + 10) <
               base) {
                result = result * base + value;
                /* Detected overflow */
@@ -1775,7 +1731,7 @@ int bcm_format_ssid(char *buf, const uchar ssid[], uint ssid_len)
                if (c == '\\') {
                        *p++ = '\\';
                        *p++ = '\\';
-               } else if (bcm_isprint((uchar) c)) {
+               } else if (isprint((uchar) c)) {
                        *p++ = (char)c;
                } else {
                        p += snprintf(p, (endp - p), "\\x%02X", c);
index 5eced8ef125c5892359526d800c9e2174681cf40..cb41d10daf34bc13eb2952dc112db3d59b957012 100644 (file)
 #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))
 #include <bcmwifi.h>
 
+#include <linux/ctype.h>
+
 /* Chanspec ASCII representation:
  * <channel><band><bandwidth><ctl-sideband>
  *   digit   [AB]     [N]        [UL]