Commit c1eb22d0 authored by Johannes Tenschert's avatar Johannes Tenschert Committed by Greg Kroah-Hartman

staging: bcm: led_control.c: fix whitespaces

Signed-off-by: default avatarJohannes Tenschert <Johannes.Tenschert@informatik.stud.uni-erlangen.de>
Reviewed-by: default avatarDan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent d3a21c3c
...@@ -5,18 +5,19 @@ ...@@ -5,18 +5,19 @@
static B_UINT16 CFG_CalculateChecksum(B_UINT8 *pu8Buffer, B_UINT32 u32Size) static B_UINT16 CFG_CalculateChecksum(B_UINT8 *pu8Buffer, B_UINT32 u32Size)
{ {
B_UINT16 u16CheckSum=0; B_UINT16 u16CheckSum = 0;
while(u32Size--) { while (u32Size--) {
u16CheckSum += (B_UINT8)~(*pu8Buffer); u16CheckSum += (B_UINT8)~(*pu8Buffer);
pu8Buffer++; pu8Buffer++;
} }
return u16CheckSum; return u16CheckSum;
} }
BOOLEAN IsReqGpioIsLedInNVM(PMINI_ADAPTER Adapter, UINT gpios) BOOLEAN IsReqGpioIsLedInNVM(PMINI_ADAPTER Adapter, UINT gpios)
{ {
INT Status ; INT Status;
Status = (Adapter->gpioBitMap & gpios) ^ gpios ; Status = (Adapter->gpioBitMap & gpios) ^ gpios;
if(Status) if (Status)
return FALSE; return FALSE;
else else
return TRUE; return TRUE;
...@@ -28,15 +29,15 @@ static INT LED_Blink(PMINI_ADAPTER Adapter, UINT GPIO_Num, UCHAR uiLedIndex, ULO ...@@ -28,15 +29,15 @@ static INT LED_Blink(PMINI_ADAPTER Adapter, UINT GPIO_Num, UCHAR uiLedIndex, ULO
BOOLEAN bInfinite = FALSE; BOOLEAN bInfinite = FALSE;
/*Check if num_of_time is -ve. If yes, blink led in infinite loop*/ /*Check if num_of_time is -ve. If yes, blink led in infinite loop*/
if(num_of_time < 0) if (num_of_time < 0)
{ {
bInfinite = TRUE; bInfinite = TRUE;
num_of_time = 1; num_of_time = 1;
} }
while(num_of_time) while (num_of_time)
{ {
if(currdriverstate == Adapter->DriverState) if (currdriverstate == Adapter->DriverState)
TURN_ON_LED(GPIO_Num, uiLedIndex); TURN_ON_LED(GPIO_Num, uiLedIndex);
/*Wait for timeout after setting on the LED*/ /*Wait for timeout after setting on the LED*/
...@@ -44,26 +45,26 @@ static INT LED_Blink(PMINI_ADAPTER Adapter, UINT GPIO_Num, UCHAR uiLedIndex, ULO ...@@ -44,26 +45,26 @@ static INT LED_Blink(PMINI_ADAPTER Adapter, UINT GPIO_Num, UCHAR uiLedIndex, ULO
currdriverstate != Adapter->DriverState || kthread_should_stop(), currdriverstate != Adapter->DriverState || kthread_should_stop(),
msecs_to_jiffies(timeout)); msecs_to_jiffies(timeout));
if(kthread_should_stop()) if (kthread_should_stop())
{ {
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "Led thread got signal to exit..hence exiting"); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "Led thread got signal to exit..hence exiting");
Adapter->LEDInfo.led_thread_running= BCM_LED_THREAD_DISABLED; Adapter->LEDInfo.led_thread_running = BCM_LED_THREAD_DISABLED;
TURN_OFF_LED(GPIO_Num, uiLedIndex); TURN_OFF_LED(GPIO_Num, uiLedIndex);
Status=EVENT_SIGNALED; Status = EVENT_SIGNALED;
break; break;
} }
if(Status) if (Status)
{ {
TURN_OFF_LED(GPIO_Num, uiLedIndex); TURN_OFF_LED(GPIO_Num, uiLedIndex);
Status=EVENT_SIGNALED; Status = EVENT_SIGNALED;
break; break;
} }
TURN_OFF_LED(GPIO_Num, uiLedIndex); TURN_OFF_LED(GPIO_Num, uiLedIndex);
Status = wait_event_interruptible_timeout(Adapter->LEDInfo.notify_led_event, Status = wait_event_interruptible_timeout(Adapter->LEDInfo.notify_led_event,
currdriverstate!= Adapter->DriverState || kthread_should_stop(), currdriverstate != Adapter->DriverState || kthread_should_stop(),
msecs_to_jiffies(timeout)); msecs_to_jiffies(timeout));
if(bInfinite == FALSE) if (bInfinite == FALSE)
num_of_time--; num_of_time--;
} }
return Status; return Status;
...@@ -71,19 +72,19 @@ static INT LED_Blink(PMINI_ADAPTER Adapter, UINT GPIO_Num, UCHAR uiLedIndex, ULO ...@@ -71,19 +72,19 @@ static INT LED_Blink(PMINI_ADAPTER Adapter, UINT GPIO_Num, UCHAR uiLedIndex, ULO
static INT ScaleRateofTransfer(ULONG rate) static INT ScaleRateofTransfer(ULONG rate)
{ {
if(rate <= 3) if (rate <= 3)
return rate; return rate;
else if((rate > 3) && (rate <= 100)) else if ((rate > 3) && (rate <= 100))
return 5; return 5;
else if((rate > 100) && (rate <= 200)) else if ((rate > 100) && (rate <= 200))
return 6; return 6;
else if((rate > 200) && (rate <= 300)) else if ((rate > 200) && (rate <= 300))
return 7; return 7;
else if((rate > 300) && (rate <= 400)) else if ((rate > 300) && (rate <= 400))
return 8; return 8;
else if((rate > 400) && (rate <= 500)) else if ((rate > 400) && (rate <= 500))
return 9; return 9;
else if((rate > 500) && (rate <= 600)) else if ((rate > 500) && (rate <= 600))
return 10; return 10;
else else
return MAX_NUM_OF_BLINKS; return MAX_NUM_OF_BLINKS;
...@@ -112,29 +113,29 @@ static INT LED_Proportional_Blink(PMINI_ADAPTER Adapter, UCHAR GPIO_Num_tx, ...@@ -112,29 +113,29 @@ static INT LED_Proportional_Blink(PMINI_ADAPTER Adapter, UCHAR GPIO_Num_tx,
Initial_num_of_packts_rx = Adapter->dev->stats.rx_packets; Initial_num_of_packts_rx = Adapter->dev->stats.rx_packets;
/*Scale the rate of transfer to no of blinks.*/ /*Scale the rate of transfer to no of blinks.*/
num_of_time_tx= ScaleRateofTransfer((ULONG)rate_of_transfer_tx); num_of_time_tx = ScaleRateofTransfer((ULONG)rate_of_transfer_tx);
num_of_time_rx= ScaleRateofTransfer((ULONG)rate_of_transfer_rx); num_of_time_rx = ScaleRateofTransfer((ULONG)rate_of_transfer_rx);
while((Adapter->device_removed == FALSE)) while ((Adapter->device_removed == FALSE))
{ {
timeout = 50; timeout = 50;
/*Blink Tx and Rx LED when both Tx and Rx is in normal bandwidth*/ /*Blink Tx and Rx LED when both Tx and Rx is in normal bandwidth*/
if(bBlinkBothLED) if (bBlinkBothLED)
{ {
/*Assign minimum number of blinks of either Tx or Rx.*/ /*Assign minimum number of blinks of either Tx or Rx.*/
if(num_of_time_tx > num_of_time_rx) if (num_of_time_tx > num_of_time_rx)
num_of_time = num_of_time_rx; num_of_time = num_of_time_rx;
else else
num_of_time = num_of_time_tx; num_of_time = num_of_time_tx;
if(num_of_time > 0) if (num_of_time > 0)
{ {
/*Blink both Tx and Rx LEDs*/ /*Blink both Tx and Rx LEDs*/
if(LED_Blink(Adapter, 1<<GPIO_Num_tx, uiTxLedIndex, timeout, num_of_time,currdriverstate) if (LED_Blink(Adapter, 1 << GPIO_Num_tx, uiTxLedIndex, timeout, num_of_time, currdriverstate)
== EVENT_SIGNALED) == EVENT_SIGNALED)
{ {
return EVENT_SIGNALED; return EVENT_SIGNALED;
} }
if(LED_Blink(Adapter, 1<<GPIO_Num_rx, uiRxLedIndex, timeout, num_of_time,currdriverstate) if (LED_Blink(Adapter, 1 << GPIO_Num_rx, uiRxLedIndex, timeout, num_of_time, currdriverstate)
== EVENT_SIGNALED) == EVENT_SIGNALED)
{ {
return EVENT_SIGNALED; return EVENT_SIGNALED;
...@@ -142,11 +143,11 @@ static INT LED_Proportional_Blink(PMINI_ADAPTER Adapter, UCHAR GPIO_Num_tx, ...@@ -142,11 +143,11 @@ static INT LED_Proportional_Blink(PMINI_ADAPTER Adapter, UCHAR GPIO_Num_tx,
} }
if(num_of_time == num_of_time_tx) if (num_of_time == num_of_time_tx)
{ {
/*Blink pending rate of Rx*/ /*Blink pending rate of Rx*/
if(LED_Blink(Adapter, (1 << GPIO_Num_rx), uiRxLedIndex, timeout, if (LED_Blink(Adapter, (1 << GPIO_Num_rx), uiRxLedIndex, timeout,
num_of_time_rx-num_of_time,currdriverstate) == EVENT_SIGNALED) num_of_time_rx-num_of_time, currdriverstate) == EVENT_SIGNALED)
{ {
return EVENT_SIGNALED; return EVENT_SIGNALED;
} }
...@@ -155,8 +156,8 @@ static INT LED_Proportional_Blink(PMINI_ADAPTER Adapter, UCHAR GPIO_Num_tx, ...@@ -155,8 +156,8 @@ static INT LED_Proportional_Blink(PMINI_ADAPTER Adapter, UCHAR GPIO_Num_tx,
else else
{ {
/*Blink pending rate of Tx*/ /*Blink pending rate of Tx*/
if(LED_Blink(Adapter, 1<<GPIO_Num_tx, uiTxLedIndex, timeout, if (LED_Blink(Adapter, 1 << GPIO_Num_tx, uiTxLedIndex, timeout,
num_of_time_tx-num_of_time,currdriverstate) == EVENT_SIGNALED) num_of_time_tx-num_of_time, currdriverstate) == EVENT_SIGNALED)
{ {
return EVENT_SIGNALED; return EVENT_SIGNALED;
} }
...@@ -165,10 +166,10 @@ static INT LED_Proportional_Blink(PMINI_ADAPTER Adapter, UCHAR GPIO_Num_tx, ...@@ -165,10 +166,10 @@ static INT LED_Proportional_Blink(PMINI_ADAPTER Adapter, UCHAR GPIO_Num_tx,
} }
else else
{ {
if(num_of_time == num_of_time_tx) if (num_of_time == num_of_time_tx)
{ {
/*Blink pending rate of Rx*/ /*Blink pending rate of Rx*/
if(LED_Blink(Adapter, 1<<GPIO_Num_tx, uiTxLedIndex, timeout, num_of_time,currdriverstate) if (LED_Blink(Adapter, 1 << GPIO_Num_tx, uiTxLedIndex, timeout, num_of_time, currdriverstate)
== EVENT_SIGNALED) == EVENT_SIGNALED)
{ {
return EVENT_SIGNALED; return EVENT_SIGNALED;
...@@ -177,8 +178,8 @@ static INT LED_Proportional_Blink(PMINI_ADAPTER Adapter, UCHAR GPIO_Num_tx, ...@@ -177,8 +178,8 @@ static INT LED_Proportional_Blink(PMINI_ADAPTER Adapter, UCHAR GPIO_Num_tx,
else else
{ {
/*Blink pending rate of Tx*/ /*Blink pending rate of Tx*/
if(LED_Blink(Adapter, 1<<GPIO_Num_rx, uiRxLedIndex, timeout, if (LED_Blink(Adapter, 1 << GPIO_Num_rx, uiRxLedIndex, timeout,
num_of_time,currdriverstate) == EVENT_SIGNALED) num_of_time, currdriverstate) == EVENT_SIGNALED)
{ {
return EVENT_SIGNALED; return EVENT_SIGNALED;
} }
...@@ -188,31 +189,31 @@ static INT LED_Proportional_Blink(PMINI_ADAPTER Adapter, UCHAR GPIO_Num_tx, ...@@ -188,31 +189,31 @@ static INT LED_Proportional_Blink(PMINI_ADAPTER Adapter, UCHAR GPIO_Num_tx,
* wait till delay completes to 1 second * wait till delay completes to 1 second
*/ */
remDelay = MAX_NUM_OF_BLINKS - num_of_time; remDelay = MAX_NUM_OF_BLINKS - num_of_time;
if(remDelay > 0) if (remDelay > 0)
{ {
timeout= 100 * remDelay; timeout = 100 * remDelay;
Status = wait_event_interruptible_timeout(Adapter->LEDInfo.notify_led_event, Status = wait_event_interruptible_timeout(Adapter->LEDInfo.notify_led_event,
currdriverstate!= Adapter->DriverState ||kthread_should_stop() , currdriverstate != Adapter->DriverState || kthread_should_stop(),
msecs_to_jiffies (timeout)); msecs_to_jiffies(timeout));
if(kthread_should_stop()) if (kthread_should_stop())
{ {
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "Led thread got signal to exit..hence exiting"); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "Led thread got signal to exit..hence exiting");
Adapter->LEDInfo.led_thread_running= BCM_LED_THREAD_DISABLED; Adapter->LEDInfo.led_thread_running = BCM_LED_THREAD_DISABLED;
return EVENT_SIGNALED; return EVENT_SIGNALED;
} }
if(Status) if (Status)
return EVENT_SIGNALED; return EVENT_SIGNALED;
} }
/*Turn off both Tx and Rx LEDs before next second*/ /*Turn off both Tx and Rx LEDs before next second*/
TURN_OFF_LED(1<<GPIO_Num_tx, uiTxLedIndex); TURN_OFF_LED(1 << GPIO_Num_tx, uiTxLedIndex);
TURN_OFF_LED(1<<GPIO_Num_rx, uiTxLedIndex); TURN_OFF_LED(1 << GPIO_Num_rx, uiTxLedIndex);
/* /*
* Read the Tx & Rx packets transmission after 1 second and * Read the Tx & Rx packets transmission after 1 second and
* calculate rate of transfer * calculate rate of transfer
*/ */
Final_num_of_packts_tx = Adapter->dev->stats.tx_packets; Final_num_of_packts_tx = Adapter->dev->stats.tx_packets;
Final_num_of_packts_rx = Adapter->dev->stats.rx_packets; Final_num_of_packts_rx = Adapter->dev->stats.rx_packets;
...@@ -221,11 +222,11 @@ static INT LED_Proportional_Blink(PMINI_ADAPTER Adapter, UCHAR GPIO_Num_tx, ...@@ -221,11 +222,11 @@ static INT LED_Proportional_Blink(PMINI_ADAPTER Adapter, UCHAR GPIO_Num_tx,
/*Read initial value of packets sent/received */ /*Read initial value of packets sent/received */
Initial_num_of_packts_tx = Final_num_of_packts_tx; Initial_num_of_packts_tx = Final_num_of_packts_tx;
Initial_num_of_packts_rx = Final_num_of_packts_rx ; Initial_num_of_packts_rx = Final_num_of_packts_rx;
/*Scale the rate of transfer to no of blinks.*/ /*Scale the rate of transfer to no of blinks.*/
num_of_time_tx= ScaleRateofTransfer((ULONG)rate_of_transfer_tx); num_of_time_tx = ScaleRateofTransfer((ULONG)rate_of_transfer_tx);
num_of_time_rx= ScaleRateofTransfer((ULONG)rate_of_transfer_rx); num_of_time_rx = ScaleRateofTransfer((ULONG)rate_of_transfer_rx);
} }
return Status; return Status;
...@@ -246,22 +247,19 @@ static INT LED_Proportional_Blink(PMINI_ADAPTER Adapter, UCHAR GPIO_Num_tx, ...@@ -246,22 +247,19 @@ static INT LED_Proportional_Blink(PMINI_ADAPTER Adapter, UCHAR GPIO_Num_tx,
// <OSAL_STATUS_CODE> // <OSAL_STATUS_CODE>
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
static INT ValidateDSDParamsChecksum( static INT ValidateDSDParamsChecksum(PMINI_ADAPTER Adapter, ULONG ulParamOffset, USHORT usParamLen)
PMINI_ADAPTER Adapter,
ULONG ulParamOffset,
USHORT usParamLen )
{ {
INT Status = STATUS_SUCCESS; INT Status = STATUS_SUCCESS;
PUCHAR puBuffer = NULL; PUCHAR puBuffer = NULL;
USHORT usChksmOrg = 0; USHORT usChksmOrg = 0;
USHORT usChecksumCalculated = 0; USHORT usChecksumCalculated = 0;
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"LED Thread:ValidateDSDParamsChecksum: 0x%lx 0x%X",ulParamOffset, usParamLen); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "LED Thread:ValidateDSDParamsChecksum: 0x%lx 0x%X", ulParamOffset, usParamLen);
puBuffer = kmalloc(usParamLen, GFP_KERNEL); puBuffer = kmalloc(usParamLen, GFP_KERNEL);
if(!puBuffer) if (!puBuffer)
{ {
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"LED Thread: ValidateDSDParamsChecksum Allocation failed"); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "LED Thread: ValidateDSDParamsChecksum Allocation failed");
return -ENOMEM; return -ENOMEM;
} }
...@@ -269,38 +267,38 @@ static INT ValidateDSDParamsChecksum( ...@@ -269,38 +267,38 @@ static INT ValidateDSDParamsChecksum(
// //
// Read the DSD data from the parameter offset. // Read the DSD data from the parameter offset.
// //
if(STATUS_SUCCESS != BeceemNVMRead(Adapter,(PUINT)puBuffer,ulParamOffset,usParamLen)) if (STATUS_SUCCESS != BeceemNVMRead(Adapter, (PUINT)puBuffer, ulParamOffset, usParamLen))
{ {
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"LED Thread: ValidateDSDParamsChecksum BeceemNVMRead failed"); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "LED Thread: ValidateDSDParamsChecksum BeceemNVMRead failed");
Status=STATUS_IMAGE_CHECKSUM_MISMATCH; Status = STATUS_IMAGE_CHECKSUM_MISMATCH;
goto exit; goto exit;
} }
// //
// Calculate the checksum of the data read from the DSD parameter. // Calculate the checksum of the data read from the DSD parameter.
// //
usChecksumCalculated = CFG_CalculateChecksum(puBuffer,usParamLen); usChecksumCalculated = CFG_CalculateChecksum(puBuffer, usParamLen);
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"LED Thread: usCheckSumCalculated = 0x%x\n", usChecksumCalculated); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "LED Thread: usCheckSumCalculated = 0x%x\n", usChecksumCalculated);
// //
// End of the DSD parameter will have a TWO bytes checksum stored in it. Read it and compare with the calculated // End of the DSD parameter will have a TWO bytes checksum stored in it. Read it and compare with the calculated
// Checksum. // Checksum.
// //
if(STATUS_SUCCESS != BeceemNVMRead(Adapter,(PUINT)&usChksmOrg,ulParamOffset+usParamLen,2)) if (STATUS_SUCCESS != BeceemNVMRead(Adapter, (PUINT)&usChksmOrg, ulParamOffset+usParamLen, 2))
{ {
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"LED Thread: ValidateDSDParamsChecksum BeceemNVMRead failed"); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "LED Thread: ValidateDSDParamsChecksum BeceemNVMRead failed");
Status=STATUS_IMAGE_CHECKSUM_MISMATCH; Status = STATUS_IMAGE_CHECKSUM_MISMATCH;
goto exit; goto exit;
} }
usChksmOrg = ntohs(usChksmOrg); usChksmOrg = ntohs(usChksmOrg);
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"LED Thread: usChksmOrg = 0x%x", usChksmOrg); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "LED Thread: usChksmOrg = 0x%x", usChksmOrg);
// //
// Compare the checksum calculated with the checksum read from DSD section // Compare the checksum calculated with the checksum read from DSD section
// //
if(usChecksumCalculated ^ usChksmOrg) if (usChecksumCalculated ^ usChksmOrg)
{ {
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"LED Thread: ValidateDSDParamsChecksum: Checksums don't match"); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "LED Thread: ValidateDSDParamsChecksum: Checksums don't match");
Status = STATUS_IMAGE_CHECKSUM_MISMATCH; Status = STATUS_IMAGE_CHECKSUM_MISMATCH;
goto exit; goto exit;
} }
...@@ -327,21 +325,21 @@ static INT ValidateDSDParamsChecksum( ...@@ -327,21 +325,21 @@ static INT ValidateDSDParamsChecksum(
static INT ValidateHWParmStructure(PMINI_ADAPTER Adapter, ULONG ulHwParamOffset) static INT ValidateHWParmStructure(PMINI_ADAPTER Adapter, ULONG ulHwParamOffset)
{ {
INT Status = STATUS_SUCCESS ; INT Status = STATUS_SUCCESS;
USHORT HwParamLen = 0; USHORT HwParamLen = 0;
// Add DSD start offset to the hwParamOffset to get the actual address. // Add DSD start offset to the hwParamOffset to get the actual address.
ulHwParamOffset += DSD_START_OFFSET; ulHwParamOffset += DSD_START_OFFSET;
/*Read the Length of HW_PARAM structure*/ /*Read the Length of HW_PARAM structure*/
BeceemNVMRead(Adapter,(PUINT)&HwParamLen,ulHwParamOffset,2); BeceemNVMRead(Adapter, (PUINT)&HwParamLen, ulHwParamOffset, 2);
HwParamLen = ntohs(HwParamLen); HwParamLen = ntohs(HwParamLen);
if(0==HwParamLen || HwParamLen > Adapter->uiNVMDSDSize) if (0 == HwParamLen || HwParamLen > Adapter->uiNVMDSDSize)
{ {
return STATUS_IMAGE_CHECKSUM_MISMATCH; return STATUS_IMAGE_CHECKSUM_MISMATCH;
} }
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "LED Thread:HwParamLen = 0x%x", HwParamLen); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "LED Thread:HwParamLen = 0x%x", HwParamLen);
Status =ValidateDSDParamsChecksum(Adapter,ulHwParamOffset,HwParamLen); Status = ValidateDSDParamsChecksum(Adapter, ulHwParamOffset, HwParamLen);
return Status; return Status;
} /* ValidateHWParmStructure() */ } /* ValidateHWParmStructure() */
...@@ -349,20 +347,20 @@ static int ReadLEDInformationFromEEPROM(PMINI_ADAPTER Adapter, UCHAR GPIO_Array[ ...@@ -349,20 +347,20 @@ static int ReadLEDInformationFromEEPROM(PMINI_ADAPTER Adapter, UCHAR GPIO_Array[
{ {
int Status = STATUS_SUCCESS; int Status = STATUS_SUCCESS;
ULONG dwReadValue = 0; ULONG dwReadValue = 0;
USHORT usHwParamData = 0; USHORT usHwParamData = 0;
USHORT usEEPROMVersion = 0; USHORT usEEPROMVersion = 0;
UCHAR ucIndex = 0; UCHAR ucIndex = 0;
UCHAR ucGPIOInfo[32] = {0}; UCHAR ucGPIOInfo[32] = {0};
BeceemNVMRead(Adapter,(PUINT)&usEEPROMVersion,EEPROM_VERSION_OFFSET,2); BeceemNVMRead(Adapter, (PUINT)&usEEPROMVersion, EEPROM_VERSION_OFFSET, 2);
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"usEEPROMVersion: Minor:0x%X Major:0x%x",usEEPROMVersion&0xFF, ((usEEPROMVersion>>8)&0xFF)); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "usEEPROMVersion: Minor:0x%X Major:0x%x", usEEPROMVersion&0xFF, ((usEEPROMVersion>>8)&0xFF));
if(((usEEPROMVersion>>8)&0xFF) < EEPROM_MAP5_MAJORVERSION) if (((usEEPROMVersion>>8)&0xFF) < EEPROM_MAP5_MAJORVERSION)
{ {
BeceemNVMRead(Adapter,(PUINT)&usHwParamData,EEPROM_HW_PARAM_POINTER_ADDRESS,2); BeceemNVMRead(Adapter, (PUINT)&usHwParamData, EEPROM_HW_PARAM_POINTER_ADDRESS, 2);
usHwParamData = ntohs(usHwParamData); usHwParamData = ntohs(usHwParamData);
dwReadValue = usHwParamData; dwReadValue = usHwParamData;
} }
...@@ -372,19 +370,19 @@ static int ReadLEDInformationFromEEPROM(PMINI_ADAPTER Adapter, UCHAR GPIO_Array[ ...@@ -372,19 +370,19 @@ static int ReadLEDInformationFromEEPROM(PMINI_ADAPTER Adapter, UCHAR GPIO_Array[
// Validate Compatibility section and then read HW param if compatibility section is valid. // Validate Compatibility section and then read HW param if compatibility section is valid.
// //
Status = ValidateDSDParamsChecksum(Adapter, Status = ValidateDSDParamsChecksum(Adapter,
DSD_START_OFFSET, DSD_START_OFFSET,
COMPATIBILITY_SECTION_LENGTH_MAP5); COMPATIBILITY_SECTION_LENGTH_MAP5);
if(Status != STATUS_SUCCESS) if (Status != STATUS_SUCCESS)
{ {
return Status; return Status;
} }
BeceemNVMRead(Adapter,(PUINT)&dwReadValue,EEPROM_HW_PARAM_POINTER_ADDRRES_MAP5,4); BeceemNVMRead(Adapter, (PUINT)&dwReadValue, EEPROM_HW_PARAM_POINTER_ADDRRES_MAP5, 4);
dwReadValue = ntohl(dwReadValue); dwReadValue = ntohl(dwReadValue);
} }
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"LED Thread: Start address of HW_PARAM structure = 0x%lx",dwReadValue); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "LED Thread: Start address of HW_PARAM structure = 0x%lx", dwReadValue);
// //
// Validate if the address read out is within the DSD. // Validate if the address read out is within the DSD.
...@@ -392,14 +390,14 @@ static int ReadLEDInformationFromEEPROM(PMINI_ADAPTER Adapter, UCHAR GPIO_Array[ ...@@ -392,14 +390,14 @@ static int ReadLEDInformationFromEEPROM(PMINI_ADAPTER Adapter, UCHAR GPIO_Array[
// lower limit should be above DSD_START_OFFSET and // lower limit should be above DSD_START_OFFSET and
// upper limit should be below (Adapter->uiNVMDSDSize-DSD_START_OFFSET) // upper limit should be below (Adapter->uiNVMDSDSize-DSD_START_OFFSET)
// //
if(dwReadValue < DSD_START_OFFSET || if (dwReadValue < DSD_START_OFFSET ||
dwReadValue > (Adapter->uiNVMDSDSize-DSD_START_OFFSET)) dwReadValue > (Adapter->uiNVMDSDSize-DSD_START_OFFSET))
{ {
return STATUS_IMAGE_CHECKSUM_MISMATCH; return STATUS_IMAGE_CHECKSUM_MISMATCH;
} }
Status = ValidateHWParmStructure(Adapter, dwReadValue); Status = ValidateHWParmStructure(Adapter, dwReadValue);
if(Status){ if (Status) {
return Status; return Status;
} }
...@@ -413,36 +411,36 @@ static int ReadLEDInformationFromEEPROM(PMINI_ADAPTER Adapter, UCHAR GPIO_Array[ ...@@ -413,36 +411,36 @@ static int ReadLEDInformationFromEEPROM(PMINI_ADAPTER Adapter, UCHAR GPIO_Array[
dwReadValue += GPIO_SECTION_START_OFFSET; // = GPIO start offset within HW Param section. dwReadValue += GPIO_SECTION_START_OFFSET; // = GPIO start offset within HW Param section.
/* Read the GPIO values for 32 GPIOs from EEPROM and map the function /* Read the GPIO values for 32 GPIOs from EEPROM and map the function
* number to GPIO pin number to GPIO_Array * number to GPIO pin number to GPIO_Array
*/ */
BeceemNVMRead(Adapter, (UINT *)ucGPIOInfo,dwReadValue,32); BeceemNVMRead(Adapter, (UINT *)ucGPIOInfo, dwReadValue, 32);
for(ucIndex = 0; ucIndex < 32; ucIndex++) for (ucIndex = 0; ucIndex < 32; ucIndex++)
{ {
switch(ucGPIOInfo[ucIndex]) switch (ucGPIOInfo[ucIndex])
{ {
case RED_LED: case RED_LED:
{ {
GPIO_Array[RED_LED] = ucIndex; GPIO_Array[RED_LED] = ucIndex;
Adapter->gpioBitMap |= (1<<ucIndex); Adapter->gpioBitMap |= (1 << ucIndex);
break; break;
} }
case BLUE_LED: case BLUE_LED:
{ {
GPIO_Array[BLUE_LED] = ucIndex; GPIO_Array[BLUE_LED] = ucIndex;
Adapter->gpioBitMap |= (1<<ucIndex); Adapter->gpioBitMap |= (1 << ucIndex);
break; break;
} }
case YELLOW_LED: case YELLOW_LED:
{ {
GPIO_Array[YELLOW_LED] = ucIndex; GPIO_Array[YELLOW_LED] = ucIndex;
Adapter->gpioBitMap |= (1<<ucIndex); Adapter->gpioBitMap |= (1 << ucIndex);
break; break;
} }
case GREEN_LED: case GREEN_LED:
{ {
GPIO_Array[GREEN_LED] = ucIndex; GPIO_Array[GREEN_LED] = ucIndex;
Adapter->gpioBitMap |= (1<<ucIndex); Adapter->gpioBitMap |= (1 << ucIndex);
break; break;
} }
default: default:
...@@ -450,8 +448,8 @@ static int ReadLEDInformationFromEEPROM(PMINI_ADAPTER Adapter, UCHAR GPIO_Array[ ...@@ -450,8 +448,8 @@ static int ReadLEDInformationFromEEPROM(PMINI_ADAPTER Adapter, UCHAR GPIO_Array[
} }
} }
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"GPIO's bit map correspond to LED :0x%X",Adapter->gpioBitMap); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "GPIO's bit map correspond to LED :0x%X", Adapter->gpioBitMap);
return Status; return Status;
} }
...@@ -465,21 +463,21 @@ static int ReadConfigFileStructure(PMINI_ADAPTER Adapter, BOOLEAN *bEnableThread ...@@ -465,21 +463,21 @@ static int ReadConfigFileStructure(PMINI_ADAPTER Adapter, BOOLEAN *bEnableThread
UCHAR bData = 0; UCHAR bData = 0;
memset(GPIO_Array, DISABLE_GPIO_NUM, NUM_OF_LEDS+1); memset(GPIO_Array, DISABLE_GPIO_NUM, NUM_OF_LEDS+1);
if(!Adapter->pstargetparams || IS_ERR(Adapter->pstargetparams)) if (!Adapter->pstargetparams || IS_ERR(Adapter->pstargetparams))
{ {
BCM_DEBUG_PRINT (Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "Target Params not Avail.\n"); BCM_DEBUG_PRINT (Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "Target Params not Avail.\n");
return -ENOENT; return -ENOENT;
} }
/*Populate GPIO_Array with GPIO numbers for LED functions*/ /*Populate GPIO_Array with GPIO numbers for LED functions*/
/*Read the GPIO numbers from EEPROM*/ /*Read the GPIO numbers from EEPROM*/
Status = ReadLEDInformationFromEEPROM(Adapter, GPIO_Array); Status = ReadLEDInformationFromEEPROM(Adapter, GPIO_Array);
if(Status == STATUS_IMAGE_CHECKSUM_MISMATCH) if (Status == STATUS_IMAGE_CHECKSUM_MISMATCH)
{ {
*bEnableThread = FALSE; *bEnableThread = FALSE;
return STATUS_SUCCESS; return STATUS_SUCCESS;
} }
else if(Status) else if (Status)
{ {
*bEnableThread = FALSE; *bEnableThread = FALSE;
return Status; return Status;
...@@ -488,21 +486,21 @@ static int ReadConfigFileStructure(PMINI_ADAPTER Adapter, BOOLEAN *bEnableThread ...@@ -488,21 +486,21 @@ static int ReadConfigFileStructure(PMINI_ADAPTER Adapter, BOOLEAN *bEnableThread
* CONFIG file read successfully. Deallocate the memory of * CONFIG file read successfully. Deallocate the memory of
* uiFileNameBufferSize * uiFileNameBufferSize
*/ */
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"LED Thread: Config file read successfully\n"); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "LED Thread: Config file read successfully\n");
puCFGData = (PUCHAR) &Adapter->pstargetparams->HostDrvrConfig1; puCFGData = (PUCHAR) &Adapter->pstargetparams->HostDrvrConfig1;
/* /*
* Offset for HostDrvConfig1, HostDrvConfig2, HostDrvConfig3 which * Offset for HostDrvConfig1, HostDrvConfig2, HostDrvConfig3 which
* will have the information of LED type, LED on state for different * will have the information of LED type, LED on state for different
* driver state and LED blink state. * driver state and LED blink state.
*/ */
for(uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++) for (uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++)
{ {
bData = *puCFGData; bData = *puCFGData;
/*Check Bit 8 for polarity. If it is set, polarity is reverse polarity*/ /*Check Bit 8 for polarity. If it is set, polarity is reverse polarity*/
if(bData & 0x80) if (bData & 0x80)
{ {
Adapter->LEDInfo.LEDState[uiIndex].BitPolarity = 0; Adapter->LEDInfo.LEDState[uiIndex].BitPolarity = 0;
/*unset the bit 8*/ /*unset the bit 8*/
...@@ -510,7 +508,7 @@ static int ReadConfigFileStructure(PMINI_ADAPTER Adapter, BOOLEAN *bEnableThread ...@@ -510,7 +508,7 @@ static int ReadConfigFileStructure(PMINI_ADAPTER Adapter, BOOLEAN *bEnableThread
} }
Adapter->LEDInfo.LEDState[uiIndex].LED_Type = bData; Adapter->LEDInfo.LEDState[uiIndex].LED_Type = bData;
if(bData <= NUM_OF_LEDS) if (bData <= NUM_OF_LEDS)
Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num = GPIO_Array[bData]; Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num = GPIO_Array[bData];
else else
Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num = DISABLE_GPIO_NUM; Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num = DISABLE_GPIO_NUM;
...@@ -520,19 +518,19 @@ static int ReadConfigFileStructure(PMINI_ADAPTER Adapter, BOOLEAN *bEnableThread ...@@ -520,19 +518,19 @@ static int ReadConfigFileStructure(PMINI_ADAPTER Adapter, BOOLEAN *bEnableThread
Adapter->LEDInfo.LEDState[uiIndex].LED_On_State = bData; Adapter->LEDInfo.LEDState[uiIndex].LED_On_State = bData;
puCFGData++; puCFGData++;
bData = *puCFGData; bData = *puCFGData;
Adapter->LEDInfo.LEDState[uiIndex].LED_Blink_State= bData; Adapter->LEDInfo.LEDState[uiIndex].LED_Blink_State = bData;
puCFGData++; puCFGData++;
} }
/*Check if all the LED settings are disabled. If it is disabled, dont launch the LED control thread.*/ /*Check if all the LED settings are disabled. If it is disabled, dont launch the LED control thread.*/
for(uiIndex = 0; uiIndex<NUM_OF_LEDS; uiIndex++) for (uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++)
{ {
if((Adapter->LEDInfo.LEDState[uiIndex].LED_Type == DISABLE_GPIO_NUM) || if ((Adapter->LEDInfo.LEDState[uiIndex].LED_Type == DISABLE_GPIO_NUM) ||
(Adapter->LEDInfo.LEDState[uiIndex].LED_Type == 0x7f) || (Adapter->LEDInfo.LEDState[uiIndex].LED_Type == 0x7f) ||
(Adapter->LEDInfo.LEDState[uiIndex].LED_Type == 0)) (Adapter->LEDInfo.LEDState[uiIndex].LED_Type == 0))
uiNum_of_LED_Type++; uiNum_of_LED_Type++;
} }
if(uiNum_of_LED_Type >= NUM_OF_LEDS) if (uiNum_of_LED_Type >= NUM_OF_LEDS)
*bEnableThread = FALSE; *bEnableThread = FALSE;
return Status; return Status;
...@@ -556,40 +554,40 @@ static VOID LedGpioInit(PMINI_ADAPTER Adapter) ...@@ -556,40 +554,40 @@ static VOID LedGpioInit(PMINI_ADAPTER Adapter)
UINT uiIndex = 0; UINT uiIndex = 0;
/* Set all LED GPIO Mode to output mode */ /* Set all LED GPIO Mode to output mode */
if(rdmalt(Adapter, GPIO_MODE_REGISTER, &uiResetValue, sizeof(uiResetValue)) <0) if (rdmalt(Adapter, GPIO_MODE_REGISTER, &uiResetValue, sizeof(uiResetValue)) < 0)
BCM_DEBUG_PRINT (Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"LED Thread: RDM Failed\n"); BCM_DEBUG_PRINT (Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "LED Thread: RDM Failed\n");
for(uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++) for (uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++)
{ {
if(Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != DISABLE_GPIO_NUM) if (Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != DISABLE_GPIO_NUM)
uiResetValue |= (1 << Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num); uiResetValue |= (1 << Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num);
TURN_OFF_LED(1<<Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num,uiIndex); TURN_OFF_LED(1 << Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num, uiIndex);
} }
if(wrmalt(Adapter, GPIO_MODE_REGISTER, &uiResetValue, sizeof(uiResetValue)) < 0) if (wrmalt(Adapter, GPIO_MODE_REGISTER, &uiResetValue, sizeof(uiResetValue)) < 0)
BCM_DEBUG_PRINT (Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"LED Thread: WRM Failed\n"); BCM_DEBUG_PRINT (Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "LED Thread: WRM Failed\n");
Adapter->LEDInfo.bIdle_led_off = FALSE; Adapter->LEDInfo.bIdle_led_off = FALSE;
} }
//----------------------------------------------------------------------------- //-----------------------------------------------------------------------------
static INT BcmGetGPIOPinInfo(PMINI_ADAPTER Adapter, UCHAR *GPIO_num_tx, UCHAR *GPIO_num_rx ,UCHAR *uiLedTxIndex, UCHAR *uiLedRxIndex,LedEventInfo_t currdriverstate) static INT BcmGetGPIOPinInfo(PMINI_ADAPTER Adapter, UCHAR *GPIO_num_tx, UCHAR *GPIO_num_rx, UCHAR *uiLedTxIndex, UCHAR *uiLedRxIndex, LedEventInfo_t currdriverstate)
{ {
UINT uiIndex = 0; UINT uiIndex = 0;
*GPIO_num_tx = DISABLE_GPIO_NUM; *GPIO_num_tx = DISABLE_GPIO_NUM;
*GPIO_num_rx = DISABLE_GPIO_NUM; *GPIO_num_rx = DISABLE_GPIO_NUM;
for(uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++) for (uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++)
{ {
if((currdriverstate == NORMAL_OPERATION)|| if ((currdriverstate == NORMAL_OPERATION) ||
(currdriverstate == IDLEMODE_EXIT)|| (currdriverstate == IDLEMODE_EXIT) ||
(currdriverstate == FW_DOWNLOAD)) (currdriverstate == FW_DOWNLOAD))
{ {
if(Adapter->LEDInfo.LEDState[uiIndex].LED_Blink_State & currdriverstate) if (Adapter->LEDInfo.LEDState[uiIndex].LED_Blink_State & currdriverstate)
{ {
if(Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != DISABLE_GPIO_NUM) if (Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != DISABLE_GPIO_NUM)
{ {
if(*GPIO_num_tx == DISABLE_GPIO_NUM) if (*GPIO_num_tx == DISABLE_GPIO_NUM)
{ {
*GPIO_num_tx = Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num; *GPIO_num_tx = Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num;
*uiLedTxIndex = uiIndex; *uiLedTxIndex = uiIndex;
...@@ -604,9 +602,9 @@ static INT BcmGetGPIOPinInfo(PMINI_ADAPTER Adapter, UCHAR *GPIO_num_tx, UCHAR *G ...@@ -604,9 +602,9 @@ static INT BcmGetGPIOPinInfo(PMINI_ADAPTER Adapter, UCHAR *GPIO_num_tx, UCHAR *G
} }
else else
{ {
if(Adapter->LEDInfo.LEDState[uiIndex].LED_On_State & currdriverstate) if (Adapter->LEDInfo.LEDState[uiIndex].LED_On_State & currdriverstate)
{ {
if(Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != DISABLE_GPIO_NUM) if (Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != DISABLE_GPIO_NUM)
{ {
*GPIO_num_tx = Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num; *GPIO_num_tx = Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num;
*uiLedTxIndex = uiIndex; *uiLedTxIndex = uiIndex;
...@@ -614,21 +612,21 @@ static INT BcmGetGPIOPinInfo(PMINI_ADAPTER Adapter, UCHAR *GPIO_num_tx, UCHAR *G ...@@ -614,21 +612,21 @@ static INT BcmGetGPIOPinInfo(PMINI_ADAPTER Adapter, UCHAR *GPIO_num_tx, UCHAR *G
} }
} }
} }
return STATUS_SUCCESS ; return STATUS_SUCCESS;
} }
static VOID LEDControlThread(PMINI_ADAPTER Adapter) static VOID LEDControlThread(PMINI_ADAPTER Adapter)
{ {
UINT uiIndex = 0; UINT uiIndex = 0;
UCHAR GPIO_num = 0; UCHAR GPIO_num = 0;
UCHAR uiLedIndex = 0 ; UCHAR uiLedIndex = 0;
UINT uiResetValue = 0; UINT uiResetValue = 0;
LedEventInfo_t currdriverstate = 0; LedEventInfo_t currdriverstate = 0;
ulong timeout = 0; ulong timeout = 0;
INT Status = 0; INT Status = 0;
UCHAR dummyGPIONum = 0; UCHAR dummyGPIONum = 0;
UCHAR dummyIndex = 0; UCHAR dummyIndex = 0;
//currdriverstate = Adapter->DriverState; //currdriverstate = Adapter->DriverState;
Adapter->LEDInfo.bIdleMode_tx_from_host = FALSE; Adapter->LEDInfo.bIdleMode_tx_from_host = FALSE;
...@@ -637,75 +635,75 @@ static VOID LEDControlThread(PMINI_ADAPTER Adapter) ...@@ -637,75 +635,75 @@ static VOID LEDControlThread(PMINI_ADAPTER Adapter)
//wait_event(Adapter->LEDInfo.notify_led_event, //wait_event(Adapter->LEDInfo.notify_led_event,
// currdriverstate!= Adapter->DriverState); // currdriverstate!= Adapter->DriverState);
GPIO_num = DISABLE_GPIO_NUM ; GPIO_num = DISABLE_GPIO_NUM;
while(TRUE) while (TRUE)
{ {
/*Wait till event is triggered*/ /*Wait till event is triggered*/
if( (GPIO_num == DISABLE_GPIO_NUM) if ((GPIO_num == DISABLE_GPIO_NUM)
|| ||
((currdriverstate != FW_DOWNLOAD) && ((currdriverstate != FW_DOWNLOAD) &&
(currdriverstate != NORMAL_OPERATION) && (currdriverstate != NORMAL_OPERATION) &&
(currdriverstate != LOWPOWER_MODE_ENTER)) (currdriverstate != LOWPOWER_MODE_ENTER))
|| ||
(currdriverstate == LED_THREAD_INACTIVE) ) (currdriverstate == LED_THREAD_INACTIVE))
{ {
Status = wait_event_interruptible(Adapter->LEDInfo.notify_led_event, Status = wait_event_interruptible(Adapter->LEDInfo.notify_led_event,
currdriverstate != Adapter->DriverState || kthread_should_stop()); currdriverstate != Adapter->DriverState || kthread_should_stop());
} }
if(kthread_should_stop() || Adapter->device_removed ) if (kthread_should_stop() || Adapter->device_removed)
{ {
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "Led thread got signal to exit..hence exiting"); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "Led thread got signal to exit..hence exiting");
Adapter->LEDInfo.led_thread_running = BCM_LED_THREAD_DISABLED; Adapter->LEDInfo.led_thread_running = BCM_LED_THREAD_DISABLED;
TURN_OFF_LED(1<<GPIO_num, uiLedIndex); TURN_OFF_LED(1 << GPIO_num, uiLedIndex);
return ;//STATUS_FAILURE; return;//STATUS_FAILURE;
} }
if(GPIO_num != DISABLE_GPIO_NUM) if (GPIO_num != DISABLE_GPIO_NUM)
{ {
TURN_OFF_LED(1<<GPIO_num, uiLedIndex); TURN_OFF_LED(1 << GPIO_num, uiLedIndex);
} }
if(Adapter->LEDInfo.bLedInitDone == FALSE) if (Adapter->LEDInfo.bLedInitDone == FALSE)
{ {
LedGpioInit(Adapter); LedGpioInit(Adapter);
Adapter->LEDInfo.bLedInitDone = TRUE; Adapter->LEDInfo.bLedInitDone = TRUE;
} }
switch(Adapter->DriverState) switch (Adapter->DriverState)
{ {
case DRIVER_INIT: case DRIVER_INIT:
{ {
currdriverstate = DRIVER_INIT;//Adapter->DriverState; currdriverstate = DRIVER_INIT;//Adapter->DriverState;
BcmGetGPIOPinInfo(Adapter, &GPIO_num, &dummyGPIONum, &uiLedIndex, &dummyIndex, currdriverstate); BcmGetGPIOPinInfo(Adapter, &GPIO_num, &dummyGPIONum, &uiLedIndex, &dummyIndex, currdriverstate);
if(GPIO_num != DISABLE_GPIO_NUM) if (GPIO_num != DISABLE_GPIO_NUM)
{ {
TURN_ON_LED(1<<GPIO_num, uiLedIndex); TURN_ON_LED(1 << GPIO_num, uiLedIndex);
} }
} }
break; break;
case FW_DOWNLOAD: case FW_DOWNLOAD:
{ {
//BCM_DEBUG_PRINT (Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"LED Thread: FW_DN_DONE called\n"); //BCM_DEBUG_PRINT (Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"LED Thread: FW_DN_DONE called\n");
currdriverstate = FW_DOWNLOAD; currdriverstate = FW_DOWNLOAD;
BcmGetGPIOPinInfo(Adapter, &GPIO_num, &dummyGPIONum, &uiLedIndex, &dummyIndex, currdriverstate); BcmGetGPIOPinInfo(Adapter, &GPIO_num, &dummyGPIONum, &uiLedIndex, &dummyIndex, currdriverstate);
if(GPIO_num != DISABLE_GPIO_NUM) if (GPIO_num != DISABLE_GPIO_NUM)
{ {
timeout = 50; timeout = 50;
LED_Blink(Adapter, 1<<GPIO_num, uiLedIndex, timeout, -1,currdriverstate); LED_Blink(Adapter, 1 << GPIO_num, uiLedIndex, timeout, -1, currdriverstate);
} }
} }
break; break;
case FW_DOWNLOAD_DONE: case FW_DOWNLOAD_DONE:
{ {
currdriverstate = FW_DOWNLOAD_DONE; currdriverstate = FW_DOWNLOAD_DONE;
BcmGetGPIOPinInfo(Adapter, &GPIO_num, &dummyGPIONum, &uiLedIndex, &dummyIndex,currdriverstate); BcmGetGPIOPinInfo(Adapter, &GPIO_num, &dummyGPIONum, &uiLedIndex, &dummyIndex, currdriverstate);
if(GPIO_num != DISABLE_GPIO_NUM) if (GPIO_num != DISABLE_GPIO_NUM)
{ {
TURN_ON_LED(1<<GPIO_num, uiLedIndex); TURN_ON_LED(1 << GPIO_num, uiLedIndex);
} }
} }
break; break;
...@@ -716,10 +714,10 @@ static VOID LEDControlThread(PMINI_ADAPTER Adapter) ...@@ -716,10 +714,10 @@ static VOID LEDControlThread(PMINI_ADAPTER Adapter)
case NO_NETWORK_ENTRY: case NO_NETWORK_ENTRY:
{ {
currdriverstate = NO_NETWORK_ENTRY; currdriverstate = NO_NETWORK_ENTRY;
BcmGetGPIOPinInfo(Adapter, &GPIO_num, &dummyGPIONum, &uiLedIndex,&dummyGPIONum,currdriverstate); BcmGetGPIOPinInfo(Adapter, &GPIO_num, &dummyGPIONum, &uiLedIndex, &dummyGPIONum, currdriverstate);
if(GPIO_num != DISABLE_GPIO_NUM) if (GPIO_num != DISABLE_GPIO_NUM)
{ {
TURN_ON_LED(1<<GPIO_num, uiLedIndex); TURN_ON_LED(1 << GPIO_num, uiLedIndex);
} }
} }
break; break;
...@@ -730,48 +728,48 @@ static VOID LEDControlThread(PMINI_ADAPTER Adapter) ...@@ -730,48 +728,48 @@ static VOID LEDControlThread(PMINI_ADAPTER Adapter)
UCHAR uiLEDTx = 0; UCHAR uiLEDTx = 0;
UCHAR uiLEDRx = 0; UCHAR uiLEDRx = 0;
currdriverstate = NORMAL_OPERATION; currdriverstate = NORMAL_OPERATION;
Adapter->LEDInfo.bIdle_led_off = FALSE; Adapter->LEDInfo.bIdle_led_off = FALSE;
BcmGetGPIOPinInfo(Adapter, &GPIO_num_tx, &GPIO_num_rx, &uiLEDTx,&uiLEDRx,currdriverstate); BcmGetGPIOPinInfo(Adapter, &GPIO_num_tx, &GPIO_num_rx, &uiLEDTx, &uiLEDRx, currdriverstate);
if((GPIO_num_tx == DISABLE_GPIO_NUM) && (GPIO_num_rx == DISABLE_GPIO_NUM)) if ((GPIO_num_tx == DISABLE_GPIO_NUM) && (GPIO_num_rx == DISABLE_GPIO_NUM))
{ {
GPIO_num = DISABLE_GPIO_NUM ; GPIO_num = DISABLE_GPIO_NUM;
} }
else else
{ {
/*If single LED is selected, use same for both Tx and Rx*/ /*If single LED is selected, use same for both Tx and Rx*/
if(GPIO_num_tx == DISABLE_GPIO_NUM) if (GPIO_num_tx == DISABLE_GPIO_NUM)
{ {
GPIO_num_tx = GPIO_num_rx; GPIO_num_tx = GPIO_num_rx;
uiLEDTx = uiLEDRx; uiLEDTx = uiLEDRx;
} }
else if(GPIO_num_rx == DISABLE_GPIO_NUM) else if (GPIO_num_rx == DISABLE_GPIO_NUM)
{ {
GPIO_num_rx = GPIO_num_tx; GPIO_num_rx = GPIO_num_tx;
uiLEDRx = uiLEDTx; uiLEDRx = uiLEDTx;
} }
/*Blink the LED in proportionate to Tx and Rx transmissions.*/ /*Blink the LED in proportionate to Tx and Rx transmissions.*/
LED_Proportional_Blink(Adapter, GPIO_num_tx, uiLEDTx, GPIO_num_rx, uiLEDRx,currdriverstate); LED_Proportional_Blink(Adapter, GPIO_num_tx, uiLEDTx, GPIO_num_rx, uiLEDRx, currdriverstate);
} }
} }
break; break;
case LOWPOWER_MODE_ENTER: case LOWPOWER_MODE_ENTER:
{ {
currdriverstate = LOWPOWER_MODE_ENTER; currdriverstate = LOWPOWER_MODE_ENTER;
if( DEVICE_POWERSAVE_MODE_AS_MANUAL_CLOCK_GATING == Adapter->ulPowerSaveMode) if (DEVICE_POWERSAVE_MODE_AS_MANUAL_CLOCK_GATING == Adapter->ulPowerSaveMode)
{ {
/* Turn OFF all the LED */ /* Turn OFF all the LED */
uiResetValue = 0; uiResetValue = 0;
for(uiIndex =0; uiIndex < NUM_OF_LEDS; uiIndex++) for (uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++)
{ {
if(Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != DISABLE_GPIO_NUM) if (Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != DISABLE_GPIO_NUM)
TURN_OFF_LED((1<<Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num),uiIndex); TURN_OFF_LED((1 << Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num), uiIndex);
} }
} }
/* Turn off LED And WAKE-UP for Sendinf IDLE mode ACK */ /* Turn off LED And WAKE-UP for Sendinf IDLE mode ACK */
Adapter->LEDInfo.bLedInitDone = FALSE; Adapter->LEDInfo.bLedInitDone = FALSE;
Adapter->LEDInfo.bIdle_led_off = TRUE; Adapter->LEDInfo.bIdle_led_off = TRUE;
wake_up(&Adapter->LEDInfo.idleModeSyncEvent); wake_up(&Adapter->LEDInfo.idleModeSyncEvent);
GPIO_num = DISABLE_GPIO_NUM; GPIO_num = DISABLE_GPIO_NUM;
break; break;
...@@ -790,39 +788,39 @@ static VOID LEDControlThread(PMINI_ADAPTER Adapter) ...@@ -790,39 +788,39 @@ static VOID LEDControlThread(PMINI_ADAPTER Adapter)
{ {
currdriverstate = DRIVER_HALT; currdriverstate = DRIVER_HALT;
GPIO_num = DISABLE_GPIO_NUM; GPIO_num = DISABLE_GPIO_NUM;
for(uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++) for (uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++)
{ {
if(Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != if (Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num !=
DISABLE_GPIO_NUM) DISABLE_GPIO_NUM)
TURN_OFF_LED((1<<Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num),uiIndex); TURN_OFF_LED((1 << Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num), uiIndex);
} }
//Adapter->DriverState = DRIVER_INIT; //Adapter->DriverState = DRIVER_INIT;
} }
break; break;
case LED_THREAD_INACTIVE : case LED_THREAD_INACTIVE:
{ {
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"InActivating LED thread..."); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "InActivating LED thread...");
currdriverstate = LED_THREAD_INACTIVE; currdriverstate = LED_THREAD_INACTIVE;
Adapter->LEDInfo.led_thread_running = BCM_LED_THREAD_RUNNING_INACTIVELY ; Adapter->LEDInfo.led_thread_running = BCM_LED_THREAD_RUNNING_INACTIVELY;
Adapter->LEDInfo.bLedInitDone = FALSE ; Adapter->LEDInfo.bLedInitDone = FALSE;
//disable ALL LED //disable ALL LED
for(uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++) for (uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++)
{ {
if(Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num != if (Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num !=
DISABLE_GPIO_NUM) DISABLE_GPIO_NUM)
TURN_OFF_LED((1<<Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num),uiIndex); TURN_OFF_LED((1 << Adapter->LEDInfo.LEDState[uiIndex].GPIO_Num), uiIndex);
} }
} }
break; break;
case LED_THREAD_ACTIVE : case LED_THREAD_ACTIVE:
{ {
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"Activating LED thread again..."); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "Activating LED thread again...");
if(Adapter->LinkUpStatus == FALSE) if (Adapter->LinkUpStatus == FALSE)
Adapter->DriverState = NO_NETWORK_ENTRY; Adapter->DriverState = NO_NETWORK_ENTRY;
else else
Adapter->DriverState = NORMAL_OPERATION; Adapter->DriverState = NORMAL_OPERATION;
Adapter->LEDInfo.led_thread_running = BCM_LED_THREAD_RUNNING_ACTIVELY ; Adapter->LEDInfo.led_thread_running = BCM_LED_THREAD_RUNNING_ACTIVELY;
} }
break; break;
//return; //return;
...@@ -842,21 +840,21 @@ int InitLedSettings(PMINI_ADAPTER Adapter) ...@@ -842,21 +840,21 @@ int InitLedSettings(PMINI_ADAPTER Adapter)
/*Initially set BitPolarity to normal polarity. The bit 8 of LED type /*Initially set BitPolarity to normal polarity. The bit 8 of LED type
* is used to change the polarity of the LED.*/ * is used to change the polarity of the LED.*/
for(uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++) { for (uiIndex = 0; uiIndex < NUM_OF_LEDS; uiIndex++) {
Adapter->LEDInfo.LEDState[uiIndex].BitPolarity = 1; Adapter->LEDInfo.LEDState[uiIndex].BitPolarity = 1;
} }
/*Read the LED settings of CONFIG file and map it to GPIO numbers in EEPROM*/ /*Read the LED settings of CONFIG file and map it to GPIO numbers in EEPROM*/
Status = ReadConfigFileStructure(Adapter, &bEnableThread); Status = ReadConfigFileStructure(Adapter, &bEnableThread);
if(STATUS_SUCCESS != Status) if (STATUS_SUCCESS != Status)
{ {
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL,"LED Thread: FAILED in ReadConfigFileStructure\n"); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "LED Thread: FAILED in ReadConfigFileStructure\n");
return Status; return Status;
} }
if(Adapter->LEDInfo.led_thread_running) if (Adapter->LEDInfo.led_thread_running)
{ {
if(bEnableThread) if (bEnableThread)
; ;
else else
{ {
...@@ -867,21 +865,21 @@ int InitLedSettings(PMINI_ADAPTER Adapter) ...@@ -867,21 +865,21 @@ int InitLedSettings(PMINI_ADAPTER Adapter)
} }
else if(bEnableThread) else if (bEnableThread)
{ {
/*Create secondary thread to handle the LEDs*/ /*Create secondary thread to handle the LEDs*/
init_waitqueue_head(&Adapter->LEDInfo.notify_led_event); init_waitqueue_head(&Adapter->LEDInfo.notify_led_event);
init_waitqueue_head(&Adapter->LEDInfo.idleModeSyncEvent); init_waitqueue_head(&Adapter->LEDInfo.idleModeSyncEvent);
Adapter->LEDInfo.led_thread_running = BCM_LED_THREAD_RUNNING_ACTIVELY; Adapter->LEDInfo.led_thread_running = BCM_LED_THREAD_RUNNING_ACTIVELY;
Adapter->LEDInfo.bIdle_led_off = FALSE; Adapter->LEDInfo.bIdle_led_off = FALSE;
Adapter->LEDInfo.led_cntrl_threadid = kthread_run((int (*)(void *)) Adapter->LEDInfo.led_cntrl_threadid = kthread_run((int (*)(void *))
LEDControlThread, Adapter, "led_control_thread"); LEDControlThread, Adapter, "led_control_thread");
if(IS_ERR(Adapter->LEDInfo.led_cntrl_threadid)) if (IS_ERR(Adapter->LEDInfo.led_cntrl_threadid))
{ {
BCM_DEBUG_PRINT(Adapter,DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "Not able to spawn Kernel Thread\n"); BCM_DEBUG_PRINT(Adapter, DBG_TYPE_OTHERS, LED_DUMP_INFO, DBG_LVL_ALL, "Not able to spawn Kernel Thread\n");
Adapter->LEDInfo.led_thread_running = BCM_LED_THREAD_DISABLED; Adapter->LEDInfo.led_thread_running = BCM_LED_THREAD_DISABLED;
return PTR_ERR(Adapter->LEDInfo.led_cntrl_threadid); return PTR_ERR(Adapter->LEDInfo.led_cntrl_threadid);
} }
} }
return Status; return Status;
} }
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