include/sys_clock.h: simplify _NEED_PRECISE_TICK_MS_CONVERSION

This is just hygiene. Some preprocessor logic is optimized, eliminating
a temporary (_NON_OPTIMIZED_TICKS_PER_SEC) in the process.

Signed-off-by: Charles E. Youse <charles.youse@intel.com>
This commit is contained in:
Charles E. Youse 2019-05-07 15:53:51 -07:00 committed by Anas Nashif
commit e1cb4ca0f4

View file

@ -79,27 +79,20 @@ static inline int sys_clock_hw_cycles_per_tick(void)
/* kernel clocks */ /* kernel clocks */
#ifdef CONFIG_SYS_CLOCK_EXISTS
/* /*
* If timer frequency is known at compile time, a simple (32-bit) * We default to using 64-bit intermediates in timescale conversions,
* tick <-> ms conversion could be used for some combinations of * but if the HW timer cycles/sec, ticks/sec and ms/sec are all known
* hardware timer frequency and tick rate. Otherwise precise * to be nicely related, then we can cheat with 32 bits instead.
* (64-bit) calculations are used.
*/ */
#if !defined(CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME) #ifdef CONFIG_SYS_CLOCK_EXISTS
#if (CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC % CONFIG_SYS_CLOCK_TICKS_PER_SEC) != 0
#define _NEED_PRECISE_TICK_MS_CONVERSION
#elif (MSEC_PER_SEC % CONFIG_SYS_CLOCK_TICKS_PER_SEC) != 0
#define _NON_OPTIMIZED_TICKS_PER_SEC
#endif
#endif
#if defined(CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME) || \ #if defined(CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME) || \
defined(_NON_OPTIMIZED_TICKS_PER_SEC) (MSEC_PER_SEC % CONFIG_SYS_CLOCK_TICKS_PER_SEC) || \
(CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC % CONFIG_SYS_CLOCK_TICKS_PER_SEC)
#define _NEED_PRECISE_TICK_MS_CONVERSION #define _NEED_PRECISE_TICK_MS_CONVERSION
#endif #endif
#endif #endif
static ALWAYS_INLINE s32_t z_ms_to_ticks(s32_t ms) static ALWAYS_INLINE s32_t z_ms_to_ticks(s32_t ms)