| Index: chromeos/drivers/ath6kl/miscdrv/ar3kps/ar3kpsparser.c
|
| diff --git a/chromeos/drivers/ath6kl/miscdrv/ar3kps/ar3kpsparser.c b/chromeos/drivers/ath6kl/miscdrv/ar3kps/ar3kpsparser.c
|
| index f29df28b05be7f6703925f836cb7c10908da334c..8dce0542282b5b10d269f7a54ee00fc53c769a67 100644
|
| --- a/chromeos/drivers/ath6kl/miscdrv/ar3kps/ar3kpsparser.c
|
| +++ b/chromeos/drivers/ath6kl/miscdrv/ar3kps/ar3kpsparser.c
|
| @@ -1,5 +1,5 @@
|
| /*
|
| - * Copyright (c) 2004-2008 Atheros Communications Inc.
|
| + * Copyright (c) 2004-2010 Atheros Communications Inc.
|
| * All rights reserved.
|
| *
|
| * This file implements the Atheros PS and patch parser.
|
| @@ -27,6 +27,9 @@
|
|
|
| #include "ar3kpsparser.h"
|
|
|
| +#include <linux/ctype.h>
|
| +#include <linux/kernel.h>
|
| +
|
| #define BD_ADDR_SIZE 6
|
| #define WRITE_PATCH 8
|
| #define ENABLE_PATCH 11
|
| @@ -61,20 +64,6 @@
|
| #define MAX_BYTE_LENGTH 244
|
|
|
| #define SKIP_BLANKS(str) while (*str == ' ') str++
|
| -#define MIN(x, y) (((x) <= (y))? (x):(y))
|
| -#define MAX(x, y) (((x) >= (y))? (x):(y))
|
| -
|
| -#define UNUSED(x) (x=x)
|
| -
|
| -#define IS_BETWEEN(x, lower, upper) (((lower) <= (x)) && ((x) <= (upper)))
|
| -#define IS_DIGIT(c) (IS_BETWEEN((c), '0', '9'))
|
| -#define IS_HEX(c) (IS_BETWEEN((c), '0', '9') || IS_BETWEEN((c), 'a', 'f') || IS_BETWEEN((c), 'A', 'F'))
|
| -#define TO_LOWER(c) (IS_BETWEEN((c), 'A', 'Z') ? ((c) - 'A' + 'a') : (c))
|
| -#define IS_BLANK(c) ((c) == ' ')
|
| -#define CONV_DEC_DIGIT_TO_VALUE(c) ((c) - '0')
|
| -#define CONV_HEX_DIGIT_TO_VALUE(c) (IS_DIGIT(c) ? ((c) - '0') : (IS_BETWEEN((c), 'A', 'Z') ? ((c) - 'A' + 10) : ((c) - 'a' + 10)))
|
| -#define CONV_VALUE_TO_HEX(v) ((A_UINT8)( ((v & 0x0F) <= 9) ? ((v & 0x0F) + '0') : ((v & 0x0F) - 10 + 'A') ) )
|
| -
|
|
|
| enum MinBootFileFormatE
|
| {
|
| @@ -483,12 +472,12 @@ A_STATUS AthParseFilesUnified(A_UCHAR *srcbuffer,A_UINT32 srclen, int FileFormat
|
| if((stPS_DataFormat.eDataType == eHex) && stPS_DataFormat.bIsArray == true) {
|
| while(uReadCount > 0) {
|
| PsTagEntry[TagCount].TagData[stReadStatus.uByteCount] =
|
| - (A_UINT8)(CONV_HEX_DIGIT_TO_VALUE(pCharLine[stReadStatus.uCharCount]) << 4)
|
| - | (A_UINT8)(CONV_HEX_DIGIT_TO_VALUE(pCharLine[stReadStatus.uCharCount + 1]));
|
| + (A_UINT8)(hex_to_bin(pCharLine[stReadStatus.uCharCount]) << 4)
|
| + | (A_UINT8)(hex_to_bin(pCharLine[stReadStatus.uCharCount + 1]));
|
|
|
| PsTagEntry[TagCount].TagData[stReadStatus.uByteCount+1] =
|
| - (A_UINT8)(CONV_HEX_DIGIT_TO_VALUE(pCharLine[stReadStatus.uCharCount + 3]) << 4)
|
| - | (A_UINT8)(CONV_HEX_DIGIT_TO_VALUE(pCharLine[stReadStatus.uCharCount + 4]));
|
| + (A_UINT8)(hex_to_bin(pCharLine[stReadStatus.uCharCount + 3]) << 4)
|
| + | (A_UINT8)(hex_to_bin(pCharLine[stReadStatus.uCharCount + 4]));
|
|
|
| stReadStatus.uCharCount += 6; // read two bytes, plus a space;
|
| stReadStatus.uByteCount += 2;
|
| @@ -574,14 +563,14 @@ A_STATUS GetNextTwoChar(A_UCHAR *srcbuffer,A_UINT32 len, A_UINT32 *pos, char * b
|
| unsigned char ch;
|
|
|
| ch = AthReadChar(srcbuffer,len,pos);
|
| - if(ch != '\0' && IS_HEX(ch)) {
|
| + if(ch != '\0' && isxdigit(ch)) {
|
| buffer[0] = ch;
|
| } else
|
| {
|
| return A_ERROR;
|
| }
|
| ch = AthReadChar(srcbuffer,len,pos);
|
| - if(ch != '\0' && IS_HEX(ch)) {
|
| + if(ch != '\0' && isxdigit(ch)) {
|
| buffer[1] = ch;
|
| } else
|
| {
|
| @@ -606,7 +595,7 @@ A_STATUS AthDoParsePatch(A_UCHAR *patchbuffer, A_UINT32 patchlen)
|
| Patch_Count = 0;
|
|
|
| while(NULL != AthGetLine(Line,MAX_BYTE_LENGTH,patchbuffer,patchlen,&filepos)) {
|
| - if(strlen(Line) <= 1 || !IS_HEX(Line[0])) {
|
| + if(strlen(Line) <= 1 || !isxdigit(Line[0])) {
|
| continue;
|
| } else {
|
| break;
|
| @@ -796,7 +785,7 @@ int AthCreateCommandList(PSCmdPacket **HciPacketList, A_UINT32 *numPackets)
|
| if(Patch_Count > 0) {
|
| NumcmdEntry++; /* Patch Enable Command */
|
| }
|
| - AR_DEBUG_PRINTF(ATH_DEBUG_ERR,("Num Cmd Entries %d Size %d \r\n",NumcmdEntry,sizeof(PSCmdPacket) * NumcmdEntry));
|
| + AR_DEBUG_PRINTF(ATH_DEBUG_ERR,("Num Cmd Entries %d Size %d \r\n",NumcmdEntry,(A_UINT32)sizeof(PSCmdPacket) * NumcmdEntry));
|
| (*HciPacketList) = A_MALLOC(sizeof(PSCmdPacket) * NumcmdEntry);
|
| if(NULL == *HciPacketList) {
|
| AR_DEBUG_PRINTF(ATH_DEBUG_ERR,("memory allocation failed \r\n"));
|
|
|