/*FIXME:If we have not hwspinlock , we need use spinlock to do it*/ static void sci_glb_lock(unsigned long *flags, unsigned long *hw_flags) { if (arch_get_hwlock(HWLOCK_GLB)) WARN_ON(IS_ERR_VALUE(hwspin_lock_timeout_irqsave(arch_get_hwlock(HWLOCK_GLB), -1, flags))); else arch_hwlock_fast(HWLOCK_GLB); }
static void sci_glb_lock(unsigned long *flags, unsigned long *hw_flags) { spin_lock_irqsave(&glb_lock, *flags); *hw_flags = hw_local_irq_save(); if (arch_get_hwlock(HWLOCK_GLB)) WARN_ON(IS_ERR_VALUE(hwspin_lock_timeout(arch_get_hwlock(HWLOCK_GLB), -1))); else arch_hwlock_fast(HWLOCK_GLB); }
static void efuse_lock(void) { mutex_lock(&efuse_mtx); arch_hwlock_fast(HWLOCK_EFUSE); }