diff --git a/qdf/inc/qdf_hrtimer.h b/qdf/inc/qdf_hrtimer.h index 49d7bd3e66..7715aa1ac3 100644 --- a/qdf/inc/qdf_hrtimer.h +++ b/qdf/inc/qdf_hrtimer.h @@ -163,6 +163,8 @@ qdf_ktime_t qdf_hrtimer_cb_get_time(qdf_hrtimer_data_t *timer); uint64_t qdf_hrtimer_forward(qdf_hrtimer_data_t *timer, qdf_ktime_t now, qdf_ktime_t interval); + +void qdf_hrtimer_add_expires(qdf_hrtimer_data_t *timer, qdf_ktime_t interval); #else /** * qdf_hrtimer_start() - Starts hrtimer in given context @@ -326,6 +328,22 @@ static inline uint64_t qdf_hrtimer_forward(qdf_hrtimer_data_t *timer, { return __qdf_hrtimer_forward(timer, now, interval); } + +/** + * qdf_hrtimer_add_expires() - Add expiry to hrtimer with given interval + * @timer: pointer to the qdf_hrtimer_data_t object + * @interval: interval to add as qdf_ktime_t object + * + * Add the timer expiry so it will expire in the future + * + * Return: None + */ +static inline +void qdf_hrtimer_add_expires(qdf_hrtimer_data_t *timer, qdf_ktime_t interval) +{ + return __qdf_hrtimer_add_expires(timer, interval); +} + #endif #endif /* _QDF_HRTIMER_H */ diff --git a/qdf/linux/src/i_qdf_hrtimer.h b/qdf/linux/src/i_qdf_hrtimer.h index 5e5be37952..c02d836572 100644 --- a/qdf/linux/src/i_qdf_hrtimer.h +++ b/qdf/linux/src/i_qdf_hrtimer.h @@ -378,6 +378,7 @@ static inline uint64_t __qdf_hrtimer_forward(__qdf_hrtimer_data_t *timer, return hrtimer_forward(hrtimer, now, interval); } + #else static inline uint64_t __qdf_hrtimer_forward(__qdf_hrtimer_data_t *timer, ktime_t now, @@ -393,4 +394,18 @@ static inline uint64_t __qdf_hrtimer_forward(__qdf_hrtimer_data_t *timer, } #endif +/** + * __qdf_hrtimer_add_expires() - Add expiry to hrtimer with given interval + * @timer: pointer to the __qdf_hrtimer_data_t object + * @interval: interval to add as ktime_t object + * + * Add the timer expiry so it will expire in the future + * + * Return: None + */ +static inline +void __qdf_hrtimer_add_expires(__qdf_hrtimer_data_t *timer, ktime_t interval) +{ + hrtimer_add_expires(&timer->u.hrtimer, interval); +} #endif /* _I_QDF_HRTIMER_H */ diff --git a/qdf/linux/src/qdf_hrtimer.c b/qdf/linux/src/qdf_hrtimer.c index 7c788caafb..730eb5e442 100644 --- a/qdf/linux/src/qdf_hrtimer.c +++ b/qdf/linux/src/qdf_hrtimer.c @@ -109,3 +109,10 @@ uint64_t qdf_hrtimer_forward(qdf_hrtimer_data_t *timer, } qdf_export_symbol(qdf_hrtimer_forward); + +void qdf_hrtimer_add_expires(qdf_hrtimer_data_t *timer, qdf_ktime_t interval) +{ + return __qdf_hrtimer_add_expires(timer, interval); +} + +qdf_export_symbol(qdf_hrtimer_add_expires);