unified: move basic ticks-to-ms conversion to kernel.h
The basic conversion, i.e. not handling the TICKS_UNLIMITED case, is useful internally since the kernel is still tick-based. Change-Id: I00a01047ec48dad6834dd8ea5dc831eb8c0c2501 Signed-off-by: Benjamin Walsh <benjamin.walsh@windriver.com>
This commit is contained in:
parent
19547d09f7
commit
a9604bd895
2 changed files with 11 additions and 3 deletions
|
@ -237,6 +237,16 @@ extern void *k_thread_custom_data_get(void);
|
||||||
* kernel timing
|
* kernel timing
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <sys_clock.h>
|
||||||
|
|
||||||
|
/* private internal time manipulation (users should never play with ticks) */
|
||||||
|
|
||||||
|
static int64_t __ticks_to_ms(int64_t ticks)
|
||||||
|
{
|
||||||
|
return (MSEC_PER_SEC * (uint64_t)ticks) / sys_clock_ticks_per_sec;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/* timeouts */
|
/* timeouts */
|
||||||
|
|
||||||
struct _timeout;
|
struct _timeout;
|
||||||
|
|
|
@ -26,7 +26,6 @@
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
#include <errno.h>
|
#include <errno.h>
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
#include <sys_clock.h>
|
|
||||||
|
|
||||||
/* nanokernel/microkernel execution context types */
|
/* nanokernel/microkernel execution context types */
|
||||||
#define NANO_CTX_ISR (K_ISR)
|
#define NANO_CTX_ISR (K_ISR)
|
||||||
|
@ -60,8 +59,7 @@ typedef enum {
|
||||||
|
|
||||||
static inline int32_t _ticks_to_ms(int32_t ticks)
|
static inline int32_t _ticks_to_ms(int32_t ticks)
|
||||||
{
|
{
|
||||||
return (ticks == TICKS_UNLIMITED) ? K_FOREVER :
|
return (ticks == TICKS_UNLIMITED) ? K_FOREVER : __ticks_to_ms(ticks);
|
||||||
(MSEC_PER_SEC * (uint64_t)ticks) / sys_clock_ticks_per_sec;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline int _error_to_rc(int err)
|
static inline int _error_to_rc(int err)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue