wlan: UBSP Stats: Avoid using void arguments and use global structures.

Same structured are used in HDD and SME layers so instead of defining
them in all layer define them globaly so that they can be used by
all layer.
Also avoid using void arguments in the functions.

CRs-fixed: 771074
Change-Id: Ibbf5c71b81484793ae96800025629d2056108805
diff --git a/CORE/HDD/inc/wlan_hdd_main.h b/CORE/HDD/inc/wlan_hdd_main.h
index 5ad52af..b3c9237 100644
--- a/CORE/HDD/inc/wlan_hdd_main.h
+++ b/CORE/HDD/inc/wlan_hdd_main.h
@@ -836,12 +836,6 @@
 
 #endif
 
-typedef enum
-{
-   FW_UBSP_STATS = 1,
-   FW_STATS_MAX,
-}hddFwStatsType;
-
 typedef struct
 {
    struct completion completion;
@@ -849,21 +843,6 @@
    hdd_adapter_t *pAdapter;
 }fwStatsContext_t;
 
-typedef struct
-{
-   tANI_U32 ubsp_enter_cnt;
-   tANI_U32 ubsp_jump_ddr_cnt;
-}hddUbspFwStats;
-
-typedef struct
-{
-   hddFwStatsType type;
-   /*data*/
-   union{
-     hddUbspFwStats ubspStats;
-   }hddFwStatsData;
-}fwStatsResult_t;
-
 #define WLAN_HDD_ADAPTER_MAGIC 0x574c414e //ASCII "WLAN"
 
 struct hdd_adapter_s
@@ -1068,7 +1047,7 @@
    sme_QosWmmUpType hddWmmDscpToUpMap[WLAN_HDD_MAX_DSCP+1];
    /* Lock for active sessions while processing deauth/Disassoc */
    spinlock_t lock_for_active_session;
-   fwStatsResult_t  fwStatsRsp;
+   tSirFwStatsResult  fwStatsRsp;
 };
 
 #define WLAN_HDD_GET_STATION_CTX_PTR(pAdapter) (&(pAdapter)->sessionCtx.station)
diff --git a/CORE/HDD/src/wlan_hdd_main.c b/CORE/HDD/src/wlan_hdd_main.c
index 635fdf1..73bd3aa 100644
--- a/CORE/HDD/src/wlan_hdd_main.c
+++ b/CORE/HDD/src/wlan_hdd_main.c
@@ -1964,15 +1964,15 @@
     return;
 }
 
-void hdd_FWStatisCB( VOS_STATUS status, void *fwStats, void *data )
+void hdd_FWStatisCB( VOS_STATUS status,
+     tSirFwStatsResult *fwStatsResult, void *pContext )
 {
     fwStatsContext_t *fwStatsCtx;
-    fwStatsResult_t  *fwStatsResult;
     hdd_adapter_t *pAdapter;
 
     hddLog(VOS_TRACE_LEVEL_INFO, FL(" with status = %d"),status);
 
-    if (NULL == data)
+    if (NULL == pContext)
     {
         hddLog(VOS_TRACE_LEVEL_ERROR, FL("argument data is NULL"));
         return;
@@ -1982,7 +1982,7 @@
        before or while this code is executing.  we use a spinlock to
        serialize these actions */
     spin_lock(&hdd_context_lock);
-    fwStatsCtx = (fwStatsContext_t *) data;
+    fwStatsCtx = (fwStatsContext_t *) pContext;
     if (fwStatsCtx->magic != FW_STATS_CONTEXT_MAGIC)
     {
         hddLog(VOS_TRACE_LEVEL_ERROR,
@@ -1999,19 +1999,17 @@
         return;
     }
     pAdapter->fwStatsRsp.type = 0;
-    if ((VOS_STATUS_SUCCESS == status) && (NULL != fwStats))
+    if ((VOS_STATUS_SUCCESS == status) && (NULL != fwStatsResult))
     {
-        fwStatsResult = (fwStatsResult_t *)fwStats;
         switch( fwStatsResult->type )
         {
             case FW_UBSP_STATS:
             {
-                 memcpy(&pAdapter->fwStatsRsp,fwStatsResult,sizeof(fwStatsResult_t));
-
+                 memcpy(&pAdapter->fwStatsRsp,fwStatsResult,sizeof(tSirFwStatsResult));
                  hddLog(VOS_TRACE_LEVEL_INFO,
                   FL("ubsp_enter_cnt = %d ubsp_jump_ddr_cnt = %d"),
-                  pAdapter->fwStatsRsp.hddFwStatsData.ubspStats.ubsp_enter_cnt,
-                  pAdapter->fwStatsRsp.hddFwStatsData.ubspStats.ubsp_jump_ddr_cnt);
+                  pAdapter->fwStatsRsp.fwStatsData.ubspStats.ubsp_enter_cnt,
+                  pAdapter->fwStatsRsp.fwStatsData.ubspStats.ubsp_jump_ddr_cnt);
             }
             break;
             default:
@@ -4232,7 +4230,7 @@
            char len;
            long waitRet;
            fwStatsContext_t fwStatsCtx;
-           fwStatsResult_t *fwStatsRsp = &(pAdapter->fwStatsRsp);
+           tSirFwStatsResult *fwStatsRsp = &(pAdapter->fwStatsRsp);
            tANI_U8 *ptr = command;
            int stats = *(ptr + 11) - '0';
 
@@ -4258,7 +4256,7 @@
            fwStatsCtx.pAdapter = pAdapter;
            fwStatsRsp->type = 0;
            status = sme_GetFwStats( (tHalHandle)pHddCtx->hHal, stats,
-                                   (&fwStatsCtx), hdd_FWStatisCB);
+                                   &fwStatsCtx, hdd_FWStatisCB);
            if (eHAL_STATUS_SUCCESS != status)
            {
                hddLog(VOS_TRACE_LEVEL_ERROR,
@@ -4295,8 +4293,8 @@
                    {
                         len = snprintf(buf, FW_STATE_RSP_LEN,
                               "GETFWSTATS: ubsp_enter_cnt %d ubsp_jump_ddr_cnt %d",
-                              fwStatsRsp->hddFwStatsData.ubspStats.ubsp_enter_cnt,
-                              fwStatsRsp->hddFwStatsData.ubspStats.ubsp_jump_ddr_cnt);
+                              fwStatsRsp->fwStatsData.ubspStats.ubsp_enter_cnt,
+                              fwStatsRsp->fwStatsData.ubspStats.ubsp_jump_ddr_cnt);
                    }
                    break;
                    default:
diff --git a/CORE/MAC/inc/sirApi.h b/CORE/MAC/inc/sirApi.h
index bf2bebe..0b766fc 100644
--- a/CORE/MAC/inc/sirApi.h
+++ b/CORE/MAC/inc/sirApi.h
@@ -4811,8 +4811,8 @@
 
 typedef void (*pGetBcnMissRateCB)( tANI_S32 bcnMissRate,
                                    VOS_STATUS status, void *data);
-typedef void (*tSirFWStatsCallback)(VOS_STATUS status, void *fwStatsRsp,
-                                                            void *data);
+typedef void (*tSirFWStatsCallback)(VOS_STATUS status,
+                    tSirFwStatsResult *fwStatsRsp, void *pContext);
 typedef PACKED_PRE struct PACKED_POST
 {
    tANI_U32   msgLen;
diff --git a/CORE/MAC/inc/sirTypes.h b/CORE/MAC/inc/sirTypes.h
index a6cc129..9af2ef8 100644
--- a/CORE/MAC/inc/sirTypes.h
+++ b/CORE/MAC/inc/sirTypes.h
@@ -184,4 +184,26 @@
 
 } tSirRetStatus;
 
+typedef enum
+{
+   FW_UBSP_STATS = 1,
+   FW_STATS_MAX,
+}tSirFwStatsType;
+
+
+typedef struct
+{
+   v_U32_t ubsp_enter_cnt;
+   v_U32_t ubsp_jump_ddr_cnt;
+}tSirUbspFwStats;
+
+typedef struct
+{
+   tSirFwStatsType type;
+   /*data*/
+   union{
+     tSirUbspFwStats ubspStats;
+   }fwStatsData;
+}tSirFwStatsResult;
+
 # endif // __SIR_TYPES_H
diff --git a/CORE/SME/inc/sme_Api.h b/CORE/SME/inc/sme_Api.h
index 5f114a3..51aa5f0 100644
--- a/CORE/SME/inc/sme_Api.h
+++ b/CORE/SME/inc/sme_Api.h
@@ -3478,8 +3478,8 @@
                                      tANI_S32 tdlsOffCh,
                                      tANI_S32 tdlsOffChBwOffset,
                                      tANI_U8 tdlsSwMode);
-eHalStatus sme_GetFwStats(tHalHandle hHal, tANI_U32 stats, void *data,
-                                                void *callback);
+eHalStatus sme_GetFwStats(tHalHandle hHal, tANI_U32 stats,
+                 void *pContext, tSirFWStatsCallback callback);
 void sme_SetMiracastMode (tHalHandle hHal,tANI_U8 mode);
 
 void sme_resetCoexEevent(tHalHandle hHal);
diff --git a/CORE/SME/src/sme_common/sme_Api.c b/CORE/SME/src/sme_common/sme_Api.c
index 5f4e405..f44cfa4 100644
--- a/CORE/SME/src/sme_common/sme_Api.c
+++ b/CORE/SME/src/sme_common/sme_Api.c
@@ -5008,8 +5008,8 @@
 
 }
 
-eHalStatus sme_GetFwStats(tHalHandle hHal, tANI_U32 stats, void *data,
-                                                        void *callback)
+eHalStatus sme_GetFwStats(tHalHandle hHal, tANI_U32 stats,
+                            void *pContext, tSirFWStatsCallback callback)
 {
    tpAniSirGlobal pMac = PMAC_STRUCT( hHal );
    vos_msg_t msg;
@@ -5029,7 +5029,7 @@
        }
        pGetFWStatsReq->stats = stats;
        pGetFWStatsReq->callback = (tSirFWStatsCallback)callback;
-       pGetFWStatsReq->data = data;
+       pGetFWStatsReq->data = pContext;
 
        msg.type = WDA_FW_STATS_GET_REQ;
        msg.reserved = 0;