Linux內核中的wake_lock[【轉】


本文轉載自:https://blog.csdn.net/wuyb2011/article/details/78542233?locationNum=11&fps=1

#include <linux/wakelock.h>
#include <linux/jiffies.h>

struct wake_lock wlock;

初始化(一般放在probe或者register函數里):
wake_lock_init(&wlock, WAKE_LOCK_SUSPEND, "wlock name");

判斷是否已加鎖,釋放鎖
if (wake_lock_active(&pon->wlock)) {
wake_unlock(&pon->wlock);
}

判斷是否已加鎖,加鎖
if (!wake_lock_active(&pon->wlock)) {
wake_lock(&pon->wlock);
}

銷毀鎖(一般放在remove或者unregister函數里)
wake_lock_destroy(&pon->wlock);

超時鎖
wake_lock_timeout(&pon->wlock, msecs_to_jiffies(N)); //N ms之后自動釋放鎖


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM