1/* 2 * Split spinlock implementation out into its own file, so it can be 3 * compiled in a FTRACE-compatible way. 4 */ 5#include <linux/spinlock.h> 6#include <linux/module.h> 7 8#include <asm/paravirt.h> 9 10static inline void 11default_spin_lock_flags(arch_spinlock_t *lock, unsigned long flags) 12{ 13 arch_spin_lock(lock); 14} 15 16struct pv_lock_ops pv_lock_ops = { 17#ifdef CONFIG_SMP 18 .spin_is_locked = __ticket_spin_is_locked, 19 .spin_is_contended = __ticket_spin_is_contended, 20 21 .spin_lock = __ticket_spin_lock, 22 .spin_lock_flags = default_spin_lock_flags, 23 .spin_trylock = __ticket_spin_trylock, 24 .spin_unlock = __ticket_spin_unlock, 25#endif 26}; 27EXPORT_SYMBOL(pv_lock_ops); 28 29