]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/staging/winbond/wblinux.c
Staging: w35und: remove memcpy/memcmp wrappers
[linux-2.6-omap-h63xx.git] / drivers / staging / winbond / wblinux.c
index 4ed45e48831871c494eea1dfac594143fa230794..a662dde8e411a7598eec885eba7dd8702746a384 100644 (file)
 //============================================================================
 #include "os_common.h"
 
-u32
-WBLINUX_MemoryAlloc(void* *VirtualAddress, u32 Length)
-{
-       *VirtualAddress = kzalloc( Length, GFP_ATOMIC ); //GFP_KERNEL is not suitable
-
-       if (*VirtualAddress == NULL)
-               return 0;
-       return 1;
-}
-
-s32
-EncapAtomicInc(PADAPTER Adapter, void* pAtomic)
-{
-       PWBLINUX pWbLinux = &Adapter->WbLinux;
-       u32     ltmp;
-       u32 *   pltmp = (u32 *)pAtomic;
-       spin_lock_irq( &pWbLinux->AtomicSpinLock );
-       (*pltmp)++;
-       ltmp = (*pltmp);
-       spin_unlock_irq( &pWbLinux->AtomicSpinLock );
-       return ltmp;
-}
-
-s32
-EncapAtomicDec(PADAPTER Adapter, void* pAtomic)
-{
-       PWBLINUX pWbLinux = &Adapter->WbLinux;
-       u32     ltmp;
-       u32 *   pltmp = (u32 *)pAtomic;
-       spin_lock_irq( &pWbLinux->AtomicSpinLock );
-       (*pltmp)--;
-       ltmp = (*pltmp);
-       spin_unlock_irq( &pWbLinux->AtomicSpinLock );
-       return ltmp;
-}
-
 unsigned char
-WBLINUX_Initial(PADAPTER Adapter)
+WBLINUX_Initial(struct wb35_adapter * adapter)
 {
-       PWBLINUX pWbLinux = &Adapter->WbLinux;
-
-       spin_lock_init( &pWbLinux->SpinLock );
-       spin_lock_init( &pWbLinux->AtomicSpinLock );
-       return TRUE;
+       spin_lock_init( &adapter->SpinLock );
+       return true;
 }
 
 void
-WBLinux_ReceivePacket(PADAPTER Adapter, PRXLAYER1 pRxLayer1)
+WBLinux_ReceivePacket(struct wb35_adapter * adapter, PRXLAYER1 pRxLayer1)
 {
        BUG();
 }
 
 
 void
-WBLINUX_GetNextPacket(PADAPTER Adapter,  PDESCRIPTOR pDes)
+WBLINUX_GetNextPacket(struct wb35_adapter * adapter,  PDESCRIPTOR pDes)
 {
        BUG();
 }
 
 void
-WBLINUX_GetNextPacketCompleted(PADAPTER Adapter, PDESCRIPTOR pDes)
+WBLINUX_GetNextPacketCompleted(struct wb35_adapter * adapter, PDESCRIPTOR pDes)
 {
        BUG();
 }
 
 void
-WBLINUX_Destroy(PADAPTER Adapter)
+WBLINUX_Destroy(struct wb35_adapter * adapter)
 {
-       WBLINUX_stop( Adapter );
+       WBLINUX_stop( adapter );
 #ifdef _PE_USB_INI_DUMP_
        WBDEBUG(("[w35und] unregister_netdev!\n"));
 #endif
 }
 
 void
-WBLINUX_stop(  PADAPTER Adapter )
+WBLINUX_stop(  struct wb35_adapter * adapter )
 {
-       PWBLINUX        pWbLinux = &Adapter->WbLinux;
        struct sk_buff *pSkb;
 
-       if (OS_ATOMIC_INC( Adapter, &pWbLinux->ThreadCount ) == 1) {
+       if (atomic_inc_return(&adapter->ThreadCount) == 1) {
                // Shutdown module immediately
-               pWbLinux->shutdown = 1;
+               adapter->shutdown = 1;
 
-               while (pWbLinux->skb_array[ pWbLinux->skb_GetIndex ]) {
+               while (adapter->skb_array[ adapter->skb_GetIndex ]) {
                        // Trying to free the un-sending packet
-                       pSkb = pWbLinux->skb_array[ pWbLinux->skb_GetIndex ];
-                       pWbLinux->skb_array[ pWbLinux->skb_GetIndex ] = NULL;
+                       pSkb = adapter->skb_array[ adapter->skb_GetIndex ];
+                       adapter->skb_array[ adapter->skb_GetIndex ] = NULL;
                        if( in_irq() )
                                dev_kfree_skb_irq( pSkb );
                        else
                                dev_kfree_skb( pSkb );
 
-                       pWbLinux->skb_GetIndex++;
-                       pWbLinux->skb_GetIndex %= WBLINUX_PACKET_ARRAY_SIZE;
+                       adapter->skb_GetIndex++;
+                       adapter->skb_GetIndex %= WBLINUX_PACKET_ARRAY_SIZE;
                }
 
 #ifdef _PE_STATE_DUMP_
@@ -112,33 +72,33 @@ WBLINUX_stop(  PADAPTER Adapter )
 #endif
        }
 
-       OS_ATOMIC_DEC( Adapter, &pWbLinux->ThreadCount );
+       atomic_dec(&adapter->ThreadCount);
 }
 
 void
-WbWlanHalt(  PADAPTER Adapter )
+WbWlanHalt(struct wb35_adapter *adapter)
 {
        //---------------------
-       Adapter->sLocalPara.ShutDowned = TRUE;
+       adapter->sLocalPara.ShutDowned = true;
 
-       Mds_Destroy( Adapter );
+       Mds_Destroy(adapter);
 
        // Turn off Rx and Tx hardware ability
-       hal_stop( &Adapter->sHwData );
+       hal_stop(&adapter->sHwData);
 #ifdef _PE_USB_INI_DUMP_
        WBDEBUG(("[w35und] Hal_stop O.K.\n"));
 #endif
-       OS_SLEEP(100000);// Waiting Irp completed
+       msleep(100);// Waiting Irp completed
 
        // Destroy the NDIS module
-       WBLINUX_Destroy( Adapter );
+       WBLINUX_Destroy(adapter);
 
        // Halt the HAL
-       hal_halt(&Adapter->sHwData, NULL);
+       hal_halt(&adapter->sHwData, NULL);
 }
 
 unsigned char
-WbWLanInitialize(PADAPTER Adapter)
+WbWLanInitialize(struct wb35_adapter *adapter)
 {
        phw_data_t      pHwData;
        u8              *pMacAddr;
@@ -150,22 +110,22 @@ WbWLanInitialize(PADAPTER Adapter)
        //
        // Setting default value for Linux
        //
-       Adapter->sLocalPara.region_INF = REGION_AUTO;
-       Adapter->sLocalPara.TxRateMode = RATE_AUTO;
+       adapter->sLocalPara.region_INF = REGION_AUTO;
+       adapter->sLocalPara.TxRateMode = RATE_AUTO;
        psLOCAL->bMacOperationMode = MODE_802_11_BG;    // B/G mode
-       Adapter->Mds.TxRTSThreshold = DEFAULT_RTSThreshold;
-       Adapter->Mds.TxFragmentThreshold = DEFAULT_FRAGMENT_THRESHOLD;
-       hal_set_phy_type( &Adapter->sHwData, RF_WB_242_1 );
-       Adapter->sLocalPara.MTUsize = MAX_ETHERNET_PACKET_SIZE;
+       adapter->Mds.TxRTSThreshold = DEFAULT_RTSThreshold;
+       adapter->Mds.TxFragmentThreshold = DEFAULT_FRAGMENT_THRESHOLD;
+       hal_set_phy_type( &adapter->sHwData, RF_WB_242_1 );
+       adapter->sLocalPara.MTUsize = MAX_ETHERNET_PACKET_SIZE;
        psLOCAL->bPreambleMode = AUTO_MODE;
-       Adapter->sLocalPara.RadioOffStatus.boSwRadioOff = FALSE;
-       pHwData = &Adapter->sHwData;
+       adapter->sLocalPara.RadioOffStatus.boSwRadioOff = false;
+       pHwData = &adapter->sHwData;
        hal_set_phy_type( pHwData, RF_DECIDE_BY_INF );
 
        //
        // Initial each module and variable
        //
-       if (!WBLINUX_Initial(Adapter)) {
+       if (!WBLINUX_Initial(adapter)) {
 #ifdef _PE_USB_INI_DUMP_
                WBDEBUG(("[w35und]WBNDIS initialization failed\n"));
 #endif
@@ -173,17 +133,17 @@ WbWLanInitialize(PADAPTER Adapter)
        }
 
        // Initial Software variable
-       Adapter->sLocalPara.ShutDowned = FALSE;
+       adapter->sLocalPara.ShutDowned = false;
 
        //added by ws for wep key error detection
-       Adapter->sLocalPara.bWepKeyError= FALSE;
-       Adapter->sLocalPara.bToSelfPacketReceived = FALSE;
-       Adapter->sLocalPara.WepKeyDetectTimerCount= 2 * 100; /// 2 seconds
+       adapter->sLocalPara.bWepKeyError= false;
+       adapter->sLocalPara.bToSelfPacketReceived = false;
+       adapter->sLocalPara.WepKeyDetectTimerCount= 2 * 100; /// 2 seconds
 
        // Initial USB hal
        InitStep = 1;
-       pHwData = &Adapter->sHwData;
-       if (!hal_init_hardware(pHwData, Adapter))
+       pHwData = &adapter->sHwData;
+       if (!hal_init_hardware(pHwData, adapter))
                goto error;
 
        EEPROM_region = hal_get_region_from_EEPROM( pHwData );
@@ -197,9 +157,9 @@ WbWLanInitialize(PADAPTER Adapter)
        }
 
        // Get Software setting flag from hal
-       Adapter->sLocalPara.boAntennaDiversity = FALSE;
+       adapter->sLocalPara.boAntennaDiversity = false;
        if (hal_software_set(pHwData) & 0x00000001)
-               Adapter->sLocalPara.boAntennaDiversity = TRUE;
+               adapter->sLocalPara.boAntennaDiversity = true;
 
        //
        // For TS module
@@ -208,7 +168,7 @@ WbWLanInitialize(PADAPTER Adapter)
 
        // For MDS module
        InitStep = 3;
-       Mds_initial(Adapter);
+       Mds_initial(adapter);
 
        //=======================================
        // Initialize the SME, SCAN, MLME, ROAM
@@ -218,15 +178,14 @@ WbWLanInitialize(PADAPTER Adapter)
        InitStep = 6;
 
        // If no user-defined address in the registry, use the addresss "burned" on the NIC instead.
-       pMacAddr = Adapter->sLocalPara.ThisMacAddress;
-       pMacAddr2 = Adapter->sLocalPara.PermanentAddress;
-       hal_get_permanent_address( pHwData, Adapter->sLocalPara.PermanentAddress );// Reading ethernet address from EEPROM
-       if (OS_MEMORY_COMPARE(pMacAddr, "\x00\x00\x00\x00\x00\x00", MAC_ADDR_LENGTH )) // Is equal
-       {
-               memcpy( pMacAddr, pMacAddr2, MAC_ADDR_LENGTH );
-       } else {
+       pMacAddr = adapter->sLocalPara.ThisMacAddress;
+       pMacAddr2 = adapter->sLocalPara.PermanentAddress;
+       hal_get_permanent_address( pHwData, adapter->sLocalPara.PermanentAddress );// Reading ethernet address from EEPROM
+       if (memcmp(pMacAddr, "\x00\x00\x00\x00\x00\x00", MAC_ADDR_LENGTH) == 0)
+               memcpy(pMacAddr, pMacAddr2, MAC_ADDR_LENGTH);
+       else {
                // Set the user define MAC address
-               hal_set_ethernet_address( pHwData, Adapter->sLocalPara.ThisMacAddress );
+               hal_set_ethernet_address(pHwData, adapter->sLocalPara.ThisMacAddress);
        }
 
        //get current antenna
@@ -238,9 +197,9 @@ WbWLanInitialize(PADAPTER Adapter)
 
        // Waiting for HAL setting OK
        while (!hal_idle(pHwData))
-               OS_SLEEP(10000);
+               msleep(10);
 
-       MTO_Init(Adapter);
+       MTO_Init(adapter);
 
        HwRadioOff = hal_get_hw_radio_off( pHwData );
        psLOCAL->RadioOffStatus.boHwRadioOff = !!HwRadioOff;
@@ -249,27 +208,25 @@ WbWLanInitialize(PADAPTER Adapter)
 
        hal_driver_init_OK(pHwData) = 1; // Notify hal that the driver is ready now.
        //set a tx power for reference.....
-//     sme_set_tx_power_level(Adapter, 12);    FIXME?
-       return TRUE;
+//     sme_set_tx_power_level(adapter, 12);    FIXME?
+       return true;
 
 error:
        switch (InitStep) {
        case 5:
        case 4:
-       case 3: Mds_Destroy( Adapter );
+       case 3: Mds_Destroy( adapter );
        case 2:
-       case 1: WBLINUX_Destroy( Adapter );
+       case 1: WBLINUX_Destroy( adapter );
                hal_halt( pHwData, NULL );
        case 0: break;
        }
 
-       return FALSE;
+       return false;
 }
 
-void WBLINUX_ConnectStatus(PADAPTER Adapter, u32 flag)
+void WBLINUX_ConnectStatus(struct wb35_adapter * adapter, u32 flag)
 {
-       PWBLINUX        pWbLinux = &Adapter->WbLinux;
-
-       pWbLinux->LinkStatus = flag; // OS_DISCONNECTED or  OS_CONNECTED
+       adapter->LinkStatus = flag; // OS_DISCONNECTED  or  OS_CONNECTED
 }