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