qcacmn: Return QDF_STATUS from qdf_timer_init()

In preparation for QDF timer tracking, return QDF_STATUS from
qdf_timer_init(). This allows callers to handle the eventual possibility
of a QDF timer init failure.

Change-Id: I9da4643610099d32b002bda9218af26247a4edc6
CRs-Fixed: 2327724
This commit is contained in:
Dustin Brown
2018-10-04 10:33:23 -07:00
committed by nshrivas
parent 6d113e258a
commit 121d7d1bff
2 changed files with 22 additions and 33 deletions

View File

@@ -43,13 +43,13 @@ typedef __qdf_timer_t qdf_timer_t;
* Timer type QDF_TIMER_TYPE_WAKE_APPS means its a non-deferrable timer which * Timer type QDF_TIMER_TYPE_WAKE_APPS means its a non-deferrable timer which
* will cause CPU wake up on expiry * will cause CPU wake up on expiry
* *
* Return: none * Return: QDF_STATUS
*/ */
static inline void qdf_timer_init(qdf_handle_t hdl, qdf_timer_t *timer, static inline QDF_STATUS
qdf_timer_func_t func, void *arg, qdf_timer_init(qdf_handle_t hdl, qdf_timer_t *timer, qdf_timer_func_t func,
QDF_TIMER_TYPE type) void *arg, QDF_TIMER_TYPE type)
{ {
__qdf_timer_init(hdl, timer, func, arg, type); return __qdf_timer_init(timer, func, arg, type);
} }
/** /**

View File

@@ -45,7 +45,6 @@ typedef void (*__qdf_dummy_timer_func_t)(unsigned long arg);
/** /**
* __qdf_timer_init() - initialize a softirq timer * __qdf_timer_init() - initialize a softirq timer
* @hdl: OS handle
* @timer: Pointer to timer object * @timer: Pointer to timer object
* @func: Function pointer * @func: Function pointer
* @arg: Argument * @arg: Argument
@@ -58,28 +57,24 @@ typedef void (*__qdf_dummy_timer_func_t)(unsigned long arg);
* *
* Return: QDF_STATUS * Return: QDF_STATUS
*/ */
static inline QDF_STATUS __qdf_timer_init(qdf_handle_t hdl, static inline QDF_STATUS __qdf_timer_init(struct timer_list *timer,
struct timer_list *timer,
qdf_timer_func_t func, void *arg, qdf_timer_func_t func, void *arg,
QDF_TIMER_TYPE type) QDF_TIMER_TYPE type)
{ {
bool is_on_stack = object_is_on_stack(timer);
__qdf_dummy_timer_func_t callback = (__qdf_dummy_timer_func_t)func;
unsigned long ctx = (unsigned long)arg;
if (type == QDF_TIMER_TYPE_SW) { if (type == QDF_TIMER_TYPE_SW) {
if (object_is_on_stack(timer)) if (is_on_stack)
setup_deferrable_timer_on_stack( setup_deferrable_timer_on_stack(timer, callback, ctx);
timer, (__qdf_dummy_timer_func_t)func,
(unsigned long)arg);
else else
setup_deferrable_timer(timer, setup_deferrable_timer(timer, callback, ctx);
(__qdf_dummy_timer_func_t)func,
(unsigned long)arg);
} else { } else {
if (object_is_on_stack(timer)) if (is_on_stack)
setup_timer_on_stack(timer, setup_timer_on_stack(timer, callback, ctx);
(__qdf_dummy_timer_func_t)func,
(unsigned long)arg);
else else
setup_timer(timer, (__qdf_dummy_timer_func_t)func, setup_timer(timer, callback, ctx);
(unsigned long)arg);
} }
return QDF_STATUS_SUCCESS; return QDF_STATUS_SUCCESS;
@@ -88,32 +83,26 @@ static inline QDF_STATUS __qdf_timer_init(qdf_handle_t hdl,
/** /**
* __qdf_timer_start() - start a qdf softirq timer * __qdf_timer_start() - start a qdf softirq timer
* @timer: Pointer to timer object * @timer: Pointer to timer object
* @delay: Delay in milli seconds * @delay: Delay in milliseconds
* *
* Return: QDF_STATUS * Return: None
*/ */
static inline QDF_STATUS __qdf_timer_start(struct timer_list *timer, static inline void __qdf_timer_start(struct timer_list *timer, uint32_t delay)
uint32_t delay)
{ {
timer->expires = jiffies + msecs_to_jiffies(delay); timer->expires = jiffies + msecs_to_jiffies(delay);
add_timer(timer); add_timer(timer);
return QDF_STATUS_SUCCESS;
} }
/** /**
* __qdf_timer_mod() - modify a timer * __qdf_timer_mod() - modify a timer
* @timer: Pointer to timer object * @timer: Pointer to timer object
* @delay: Delay in milli seconds * @delay: Delay in milliseconds
* *
* Return: QDF_STATUS * Return: None
*/ */
static inline QDF_STATUS __qdf_timer_mod(struct timer_list *timer, static inline void __qdf_timer_mod(struct timer_list *timer, uint32_t delay)
uint32_t delay)
{ {
mod_timer(timer, jiffies + msecs_to_jiffies(delay)); mod_timer(timer, jiffies + msecs_to_jiffies(delay));
return QDF_STATUS_SUCCESS;
} }
/** /**