1*b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 2ae49e807SArnd Bergmann #ifndef __ASM_GENERIC_TIMEX_H 3ae49e807SArnd Bergmann #define __ASM_GENERIC_TIMEX_H 4ae49e807SArnd Bergmann 5ae49e807SArnd Bergmann /* 6ae49e807SArnd Bergmann * If you have a cycle counter, return the value here. 7ae49e807SArnd Bergmann */ 8ae49e807SArnd Bergmann typedef unsigned long cycles_t; 9ae49e807SArnd Bergmann #ifndef get_cycles get_cycles(void)10ae49e807SArnd Bergmannstatic inline cycles_t get_cycles(void) 11ae49e807SArnd Bergmann { 12ae49e807SArnd Bergmann return 0; 13ae49e807SArnd Bergmann } 14ae49e807SArnd Bergmann #endif 15ae49e807SArnd Bergmann 16ae49e807SArnd Bergmann /* 17ae49e807SArnd Bergmann * Architectures are encouraged to implement read_current_timer 18ae49e807SArnd Bergmann * and define this in order to avoid the expensive delay loop 19ae49e807SArnd Bergmann * calibration during boot. 20ae49e807SArnd Bergmann */ 21ae49e807SArnd Bergmann #undef ARCH_HAS_READ_CURRENT_TIMER 22ae49e807SArnd Bergmann 23ae49e807SArnd Bergmann #endif /* __ASM_GENERIC_TIMEX_H */ 24