summaryrefslogtreecommitdiff
path: root/wl1271/utils/timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'wl1271/utils/timer.c')
-rw-r--r--wl1271/utils/timer.c666
1 files changed, 0 insertions, 666 deletions
diff --git a/wl1271/utils/timer.c b/wl1271/utils/timer.c
deleted file mode 100644
index 7be2426a..00000000
--- a/wl1271/utils/timer.c
+++ /dev/null
@@ -1,666 +0,0 @@
-/*
- * timer.c
- *
- * Copyright(c) 1998 - 2010 Texas Instruments. All rights reserved.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name Texas Instruments nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-
-/** \file timer.c
- * \brief The timers services OS-Independent layer over the OS-API timer services which are OS-Dependent.
- *
- * \see timer.h, osapi.c
- */
-
-#define __FILE_ID__ FILE_ID_0
-#include "osApi.h"
-#include "report.h"
-#include "queue.h"
-#include "context.h"
-#include "timer.h"
-
-
-#define EXPIRY_QUE_SIZE QUE_UNLIMITED_SIZE
-
-/* The timer module structure (common to all timers) */
-typedef struct
-{
- TI_HANDLE hOs;
- TI_HANDLE hReport;
- TI_HANDLE hContext;
- TI_UINT32 uContextId; /* The ID allocated to this module on registration to context module */
- TI_HANDLE hInitQueue; /* Handle of the Init-Queue */
- TI_HANDLE hOperQueue; /* Handle of the Operational-Queue */
- TI_BOOL bOperState; /* TRUE when the driver is in operational state (not init or recovery) */
- TI_UINT32 uTwdInitCount; /* Increments on each TWD init (i.e. recovery) */
- TI_UINT32 uTimersCount; /* Number of created timers */
-} TTimerModule;
-
-/* Per timer structure */
-typedef struct
-{
- TI_HANDLE hTimerModule; /* The timer module handle (see TTimerModule, needed on expiry) */
- TI_HANDLE hOsTimerObj; /* The OS-API timer object handle */
- TQueNodeHdr tQueNodeHdr; /* The header used for queueing the timer */
- TTimerCbFunc fExpiryCbFunc; /* The CB-function provided by the timer user for expiration */
- TI_HANDLE hExpiryCbHndl; /* The CB-function handle */
- TI_UINT32 uIntervalMsec; /* The timer duration in Msec */
- TI_BOOL bPeriodic; /* If TRUE, restarted after each expiry */
- TI_BOOL bOperStateWhenStarted; /* The bOperState value when the timer was started */
- TI_UINT32 uTwdInitCountWhenStarted; /* The uTwdInitCount value when the timer was started */
-} TTimerInfo;
-
-
-
-
-/**
- * \fn tmr_Create
- * \brief Create the timer module
- *
- * Allocate and clear the timer module object.
- *
- * \note This is NOT a specific timer creation! (see tmr_CreateTimer)
- * \param hOs - Handle to Os Abstraction Layer
- * \return Handle of the allocated object
- * \sa tmr_Destroy
- */
-TI_HANDLE tmr_Create (TI_HANDLE hOs)
-{
- TI_HANDLE hTimerModule;
-
- /* allocate module object */
- hTimerModule = os_memoryAlloc (hOs, sizeof(TTimerModule));
-
- if (!hTimerModule)
- {
- WLAN_OS_REPORT (("tmr_Create(): Allocation failed!!\n"));
- return NULL;
- }
-
- os_memoryZero (hOs, hTimerModule, (sizeof(TTimerModule)));
-
- return (hTimerModule);
-}
-
-
-/**
- * \fn tmr_Destroy
- * \brief Destroy the module.
- *
- * Free the module's queues and object.
- *
- * \note This is NOT a specific timer destruction! (see tmr_DestroyTimer)
- * \param hTimerModule - The module object
- * \return TI_OK on success or TI_NOK on failure
- * \sa tmr_Create
- */
-TI_STATUS tmr_Destroy (TI_HANDLE hTimerModule)
-{
- TTimerModule *pTimerModule = (TTimerModule *)hTimerModule;
-
- if (!pTimerModule)
- {
- WLAN_OS_REPORT (("tmr_Destroy(): ERROR - NULL timer!\n"));
- return TI_NOK;
- }
-
- /* Alert if there are still timers that were not destroyed */
- if (pTimerModule->uTimersCount)
- {
- WLAN_OS_REPORT (("tmr_Destroy(): ERROR - Destroying Timer module but not all timers were destroyed!!\n"));
- }
-
- /* Destroy the module's queues (protect in critical section)) */
- context_EnterCriticalSection (pTimerModule->hContext);
- que_Destroy (pTimerModule->hInitQueue);
- que_Destroy (pTimerModule->hOperQueue);
- context_LeaveCriticalSection (pTimerModule->hContext);
-
- /* free module object */
- os_memoryFree (pTimerModule->hOs, pTimerModule, sizeof(TTimerModule));
-
- return TI_OK;
-}
-/**
- * \fn tmr_Free
- * \brief Free the memory.
- *
- * Free the module's queues and object.
- *
- * \param hTimerModule - The module object
- * \return TI_OK on success or TI_NOK on failure
- * \sa tmr_Create
- */
-TI_STATUS tmr_Free(TI_HANDLE hTimerModule)
-{
- TTimerModule *pTimerModule = (TTimerModule *)hTimerModule;
-
- if (!pTimerModule)
- {
- WLAN_OS_REPORT (("tmr_Free(): ERROR - NULL timer!\n"));
- return TI_NOK;
- }
-
- /* free module object */
- os_memoryFree (pTimerModule->hOs, pTimerModule, sizeof(TTimerModule));
-
- return TI_OK;
-}
-
-
-/**
- * \fn tmr_ClearInitQueue & tmr_ClearOperQueue
- * \brief Clear Init/Operationsl queue
- *
- * Dequeue all queued timers.
- *
- * \note
- * \param hTimerModule - The object
- * \return void
- * \sa
- */
-void tmr_ClearInitQueue (TI_HANDLE hTimerModule)
-{
- TTimerModule *pTimerModule = (TTimerModule *)hTimerModule;
-
- context_EnterCriticalSection (pTimerModule->hContext);
- while (que_Dequeue (pTimerModule->hInitQueue) != NULL) {}
- context_LeaveCriticalSection (pTimerModule->hContext);
-}
-
-void tmr_ClearOperQueue (TI_HANDLE hTimerModule)
-{
- TTimerModule *pTimerModule = (TTimerModule *)hTimerModule;
-
- context_EnterCriticalSection (pTimerModule->hContext);
- while (que_Dequeue (pTimerModule->hOperQueue) != NULL) {}
- context_LeaveCriticalSection (pTimerModule->hContext);
-}
-
-
-/**
- * \fn tmr_Init
- * \brief Init required handles
- *
- * Init required handles and module variables, create the init-queue and
- * operational-queue, and register as the context-engine client.
- *
- * \note
- * \param hTimerModule - The queue object
- * \param hOs - Handle to Os Abstraction Layer
- * \param hReport - Handle to report module
- * \param hContext - Handle to context module
- * \return void
- * \sa
- */
-void tmr_Init (TI_HANDLE hTimerModule, TI_HANDLE hOs, TI_HANDLE hReport, TI_HANDLE hContext)
-{
- TTimerModule *pTimerModule = (TTimerModule *)hTimerModule;
- TI_UINT32 uNodeHeaderOffset;
-
- if (!pTimerModule)
- {
- WLAN_OS_REPORT (("tmr_Init(): ERROR - NULL timer!\n"));
- return;
- }
-
- pTimerModule->hOs = hOs;
- pTimerModule->hReport = hReport;
- pTimerModule->hContext = hContext;
-
- pTimerModule->bOperState = TI_FALSE;
- pTimerModule->uTimersCount = 0;
- pTimerModule->uTwdInitCount = 0;
-
- /* The offset of the queue-node-header from timer structure entry is needed by the queue */
- uNodeHeaderOffset = TI_FIELD_OFFSET(TTimerInfo, tQueNodeHdr);
-
- /* Create and initialize the Init and Operational queues (for timers expiry events) */
- pTimerModule->hInitQueue = que_Create (pTimerModule->hOs,
- pTimerModule->hReport,
- EXPIRY_QUE_SIZE,
- uNodeHeaderOffset);
- pTimerModule->hOperQueue = que_Create (pTimerModule->hOs,
- pTimerModule->hReport,
- EXPIRY_QUE_SIZE,
- uNodeHeaderOffset);
-
- /* Register to the context engine and get the client ID */
- pTimerModule->uContextId = context_RegisterClient (pTimerModule->hContext,
- tmr_HandleExpiry,
- hTimerModule,
- TI_TRUE,
- "TIMER",
- sizeof("TIMER"));
-}
-
-
-/**
- * \fn tmr_UpdateDriverState
- * \brief Update driver state
- *
- * Under critical section, update driver state (operational or not),
- * and if opertional, clear init queue.
- * Leave critical section and if operational state, request schedule for handling
- * timer events in driver context (if any).
- *
- * \note
- * \param hTimerModule - The timer module object
- * \param bOperState - TRUE if driver state is now operational, FALSE if not.
- * \return void
- * \sa
- */
-void tmr_UpdateDriverState (TI_HANDLE hTimerModule, TI_BOOL bOperState)
-{
- TTimerModule *pTimerModule = (TTimerModule *)hTimerModule;
-
- if (!pTimerModule)
- {
- WLAN_OS_REPORT (("tmr_UpdateDriverState(): ERROR - NULL timer!\n"));
- return;
- }
-
- /* Enter critical section */
- context_EnterCriticalSection (pTimerModule->hContext);
-
- if (bOperState == pTimerModule->bOperState)
- {
- context_LeaveCriticalSection (pTimerModule->hContext);
- TRACE1(pTimerModule->hReport, REPORT_SEVERITY_ERROR, "tmr_UpdateDriverState(): New bOperState (%d) is as current!\n", bOperState);
- return;
- }
-
- /* Save new state (TRUE means operational). */
- pTimerModule->bOperState = bOperState;
-
- /* If new state is operational */
- if (bOperState)
- {
- /* Increment the TWD initializations counter (for detecting recovery events). */
- pTimerModule->uTwdInitCount++;
-
- /* Empty the init queue (obsolete). */
- while (que_Dequeue (pTimerModule->hInitQueue) != NULL) {}
- }
-
- /* Leave critical section */
- context_LeaveCriticalSection (pTimerModule->hContext);
-
- /* If new state is operational, request switch to driver context for handling timer events */
- if (bOperState)
- {
- context_RequestSchedule (pTimerModule->hContext, pTimerModule->uContextId);
- }
-}
-
-
-
-/**
- * \fn tmr_CreateTimer
- * \brief Create a new timer
- *
- * Create a new timer object, icluding creating a timer in the OS-API.
- *
- * \note This timer creation may be used only after tmr_Create() and tmr_Init() were executed!!
- * \param hTimerModule - The module handle
- * \return TI_HANDLE - The created timer handle
- * \sa tmr_DestroyTimer
- */
-TI_HANDLE tmr_CreateTimer (TI_HANDLE hTimerModule)
-{
- TTimerModule *pTimerModule = (TTimerModule *)hTimerModule; /* The timer module handle */
- TTimerInfo *pTimerInfo; /* The created timer handle */
-
- if (!pTimerModule)
- {
- WLAN_OS_REPORT (("tmr_CreateTimer(): ERROR - NULL timer!\n"));
- return NULL;
- }
-
- /* Allocate timer object */
- pTimerInfo = os_memoryAlloc (pTimerModule->hOs, sizeof(TTimerInfo));
- if (!pTimerInfo)
- {
- WLAN_OS_REPORT (("tmr_CreateTimer(): Timer allocation failed!!\n"));
- return NULL;
- }
- os_memoryZero (pTimerModule->hOs, pTimerInfo, (sizeof(TTimerInfo)));
-
- /* Allocate OS-API timer, providing the common expiry callback with the current timer handle */
- pTimerInfo->hOsTimerObj = os_timerCreate(pTimerModule->hOs, tmr_GetExpiry, (TI_HANDLE)pTimerInfo);
- if (!pTimerInfo->hOsTimerObj)
- {
- TRACE0(pTimerModule->hReport, REPORT_SEVERITY_CONSOLE ,"tmr_CreateTimer(): OS-API Timer allocation failed!!\n");
- os_memoryFree (pTimerModule->hOs, pTimerInfo, sizeof(TTimerInfo));
- WLAN_OS_REPORT (("tmr_CreateTimer(): OS-API Timer allocation failed!!\n"));
- return NULL;
- }
-
- /* Save the timer module handle in the created timer object (needed for the expiry callback) */
- pTimerInfo->hTimerModule = hTimerModule;
- pTimerModule->uTimersCount++; /* count created timers */
-
- /* Return the created timer handle */
- return (TI_HANDLE)pTimerInfo;
-}
-
-
-/**
- * \fn tmr_DestroyTimer
- * \brief Destroy the specified timer
- *
- * Destroy the specified timer object, icluding the timer in the OS-API.
- *
- * \note This timer destruction function should be used before tmr_Destroy() is executed!!
- * \param hTimerInfo - The timer handle
- * \return TI_OK on success or TI_NOK on failure
- * \sa tmr_CreateTimer
- */
-TI_STATUS tmr_DestroyTimer (TI_HANDLE hTimerInfo)
-{
- TTimerInfo *pTimerInfo = (TTimerInfo *)hTimerInfo; /* The timer handle */
- TTimerModule *pTimerModule; /* The timer module handle */
-
- if (!pTimerInfo)
- {
- return TI_NOK;
- }
- pTimerModule = (TTimerModule *)pTimerInfo->hTimerModule;
- if (!pTimerModule)
- {
- WLAN_OS_REPORT (("tmr_DestroyTimer(): ERROR - NULL timer!\n"));
- return TI_NOK;
- }
-
- /* Free the OS-API timer */
- if (pTimerInfo->hOsTimerObj) {
- os_timerDestroy (pTimerModule->hOs, pTimerInfo->hOsTimerObj);
- pTimerModule->uTimersCount--; /* update created timers number */
- }
- /* Free the timer object */
- os_memoryFree (pTimerModule->hOs, hTimerInfo, sizeof(TTimerInfo));
- return TI_OK;
-}
-
-
-/**
- * \fn tmr_StartTimer
- * \brief Start a timer
- *
- * Start the specified timer running.
- *
- * \note Periodic-Timer may be used by applications that serve the timer expiry
- * in a single context.
- * If an application can't finish serving the timer expiry in a single context,
- * e.g. periodic scan, then it isn't recommended to use the periodic timer service.
- * If such an application uses the periodic timer then it should protect itself from cases
- * where the timer expires again before the previous timer expiry processing is finished!!
- * \param hTimerInfo - The specific timer handle
- * \param fExpiryCbFunc - The timer's expiry callback function.
- * \param hExpiryCbHndl - The client's expiry callback function handle.
- * \param uIntervalMsec - The timer's duration in Msec.
- * \param bPeriodic - If TRUE, the timer is restarted after expiry.
- * \return void
- * \sa tmr_StopTimer, tmr_GetExpiry
- */
-void tmr_StartTimer (TI_HANDLE hTimerInfo,
- TTimerCbFunc fExpiryCbFunc,
- TI_HANDLE hExpiryCbHndl,
- TI_UINT32 uIntervalMsec,
- TI_BOOL bPeriodic)
-{
- TTimerInfo *pTimerInfo = (TTimerInfo *)hTimerInfo; /* The timer handle */
- TTimerModule *pTimerModule = (TTimerModule *)pTimerInfo->hTimerModule; /* The timer module handle */
-
- if (!pTimerModule)
- {
- WLAN_OS_REPORT (("tmr_StartTimer(): ERROR - NULL timer!\n"));
- return;
- }
-
- /* Save the timer parameters. */
- pTimerInfo->fExpiryCbFunc = fExpiryCbFunc;
- pTimerInfo->hExpiryCbHndl = hExpiryCbHndl;
- pTimerInfo->uIntervalMsec = uIntervalMsec;
- pTimerInfo->bPeriodic = bPeriodic;
- pTimerInfo->bOperStateWhenStarted = pTimerModule->bOperState;
- pTimerInfo->uTwdInitCountWhenStarted = pTimerModule->uTwdInitCount;
-
- /* Start OS-API timer running */
- os_timerStart(pTimerModule->hOs, pTimerInfo->hOsTimerObj, uIntervalMsec);
-}
-
-
-/**
- * \fn tmr_StopTimer
- * \brief Stop a running timer
- *
- * Stop the specified timer.
- *
- * \note When using this function, it must be considered that timer expiry may happen
- * right before the timer is stopped, so it can't be assumed that this completely
- * prevents the timer expiry event!
- * \param hTimerInfo - The specific timer handle
- * \return void
- * \sa tmr_StartTimer
- */
-void tmr_StopTimer (TI_HANDLE hTimerInfo)
-{
- TTimerInfo *pTimerInfo = (TTimerInfo *)hTimerInfo; /* The timer handle */
- TTimerModule *pTimerModule = (TTimerModule *)pTimerInfo->hTimerModule; /* The timer module handle */
-
- if (!pTimerModule)
- {
- WLAN_OS_REPORT (("tmr_StopTimer(): ERROR - NULL timer!\n"));
- return;
- }
-
- /* Stop OS-API timer running */
- os_timerStop(pTimerModule->hOs, pTimerInfo->hOsTimerObj);
-
- /* Clear periodic flag to prevent timer restart if we are in tmr_HandleExpiry context. */
- pTimerInfo->bPeriodic = TI_FALSE;
-}
-
-
-/**
- * \fn tmr_GetExpiry
- * \brief Called by OS-API upon any timer expiry
- *
- * This is the common callback function called upon expiartion of any timer.
- * It is called by the OS-API in timer expiry context and handles the transition
- * to the driver's context for handling the expiry event.
- *
- * \note
- * \param hTimerInfo - The specific timer handle
- * \return void
- * \sa tmr_HandleExpiry
- */
-void tmr_GetExpiry (TI_HANDLE hTimerInfo)
-{
- TTimerInfo *pTimerInfo = (TTimerInfo *)hTimerInfo; /* The timer handle */
- TTimerModule *pTimerModule = (TTimerModule *)pTimerInfo->hTimerModule; /* The timer module handle */
-
- if (!pTimerModule)
- {
- WLAN_OS_REPORT (("tmr_GetExpiry(): ERROR - NULL timer!\n"));
- return;
- }
-
- /* Enter critical section */
- context_EnterCriticalSection (pTimerModule->hContext);
-
- /*
- * If the expired timer was started when the driver's state was Operational,
- * insert it to the Operational-queue
- */
- if (pTimerInfo->bOperStateWhenStarted)
- {
- que_Enqueue (pTimerModule->hOperQueue, hTimerInfo);
- }
-
- /*
- * Else (started when driver's state was NOT-Operational), if now the state is still
- * NOT Operational insert it to the Init-queue.
- * (If state changed from non-operational to operational the event is ignored)
- */
- else if (!pTimerModule->bOperState)
- {
- que_Enqueue (pTimerModule->hInitQueue, hTimerInfo);
- }
-
- /* Leave critical section */
- context_LeaveCriticalSection (pTimerModule->hContext);
-
- /* Request switch to driver context for handling timer events */
- context_RequestSchedule (pTimerModule->hContext, pTimerModule->uContextId);
-}
-
-
-/**
- * \fn tmr_HandleExpiry
- * \brief Handles queued expiry events in driver context
- *
- * This is the Timer module's callback that is registered to the ContextEngine module to be invoked
- * from the driver task (after requested by tmr_GetExpiry through context_RequestSchedule ()).
- * It dequeues all expiry events from the queue that correlates to the current driver state,
- * and calls their users callbacks.
- *
- * \note
- * \param hTimerModule - The module object
- * \return void
- * \sa tmr_GetExpiry
- */
-void tmr_HandleExpiry (TI_HANDLE hTimerModule)
-{
- TTimerModule *pTimerModule = (TTimerModule *)hTimerModule; /* The timer module handle */
- TTimerInfo *pTimerInfo; /* The timer handle */
- TI_BOOL bTwdInitOccured; /* Indicates if TWD init occured since timer start */
-
- if (!pTimerModule)
- {
- WLAN_OS_REPORT (("tmr_HandleExpiry(): ERROR - NULL timer!\n"));
- return;
- }
-
- while (1)
- {
- /* Enter critical section */
- context_EnterCriticalSection (pTimerModule->hContext);
-
- /* If current driver state is Operational, dequeue timer object from Operational-queue */
- if (pTimerModule->bOperState)
- {
- pTimerInfo = (TTimerInfo *) que_Dequeue (pTimerModule->hOperQueue);
- }
-
- /* Else (driver state is NOT-Operational), dequeue timer object from Init-queue */
- else
- {
- pTimerInfo = (TTimerInfo *) que_Dequeue (pTimerModule->hInitQueue);
- }
-
- /* Leave critical section */
- context_LeaveCriticalSection (pTimerModule->hContext);
-
- /* If no more objects in queue, exit */
- if (!pTimerInfo)
- {
- return; /** EXIT Point **/
- }
-
- /* If current TWD-Init-Count is different than when the timer was started, Init occured. */
- bTwdInitOccured = (pTimerModule->uTwdInitCount != pTimerInfo->uTwdInitCountWhenStarted);
-
- /* Call specific timer callback function */
- pTimerInfo->fExpiryCbFunc (pTimerInfo->hExpiryCbHndl, bTwdInitOccured);
-
- /* If the expired timer is periodic, start it again. */
- if (pTimerInfo->bPeriodic)
- {
- tmr_StartTimer ((TI_HANDLE)pTimerInfo,
- pTimerInfo->fExpiryCbFunc,
- pTimerInfo->hExpiryCbHndl,
- pTimerInfo->uIntervalMsec,
- pTimerInfo->bPeriodic);
- }
- }
-}
-
-
-/**
- * \fn tmr_PrintModule / tmr_PrintTimer
- * \brief Print module / timer information
- *
- * Print the module's information / a specific timer information.
- *
- * \note
- * \param The module / timer handle
- * \return void
- * \sa
- */
-
-#ifdef TI_DBG
-
-void tmr_PrintModule (TI_HANDLE hTimerModule)
-{
- TTimerModule *pTimerModule = (TTimerModule *)hTimerModule;
-
- if (!pTimerModule)
- {
- WLAN_OS_REPORT (("tmr_PrintModule(): ERROR - NULL timer!\n"));
- return;
- }
-
- /* Print module parameters */
- WLAN_OS_REPORT(("tmr_PrintModule(): uContextId=%d, bOperState=%d, uTwdInitCount=%d, uTimersCount=%d\n",
- pTimerModule->uContextId, pTimerModule->bOperState,
- pTimerModule->uTwdInitCount, pTimerModule->uTimersCount));
-
- /* Print Init Queue Info */
- WLAN_OS_REPORT(("tmr_PrintModule(): Init-Queue:\n"));
- que_Print(pTimerModule->hInitQueue);
-
- /* Print Operational Queue Info */
- WLAN_OS_REPORT(("tmr_PrintModule(): Operational-Queue:\n"));
- que_Print(pTimerModule->hOperQueue);
-}
-
-void tmr_PrintTimer (TI_HANDLE hTimerInfo)
-{
-#ifdef REPORT_LOG
- TTimerInfo *pTimerInfo = (TTimerInfo *)hTimerInfo; /* The timer handle */
-
- WLAN_OS_REPORT(("tmr_PrintTimer(): uIntervalMs=%d, bPeriodic=%d, bOperStateWhenStarted=%d, uTwdInitCountWhenStarted=%d, hOsTimerObj=0x%x, fExpiryCbFunc=0x%x\n",
- pTimerInfo->uIntervalMsec, pTimerInfo->bPeriodic, pTimerInfo->bOperStateWhenStarted,
- pTimerInfo->uTwdInitCountWhenStarted, pTimerInfo->hOsTimerObj, pTimerInfo->fExpiryCbFunc));
-#endif
-}
-
-#endif /* TI_DBG */