/*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);
}
Example #3
0
static void efuse_lock(void)
{
	mutex_lock(&efuse_mtx);
	arch_hwlock_fast(HWLOCK_EFUSE);
}