0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Power Management接口實現(xiàn)主要功能

麥辣雞腿堡 ? 來源:嵌入式Linux系統(tǒng)開發(fā) ? 作者:蝸窩科技 ? 2023-09-11 15:57 ? 次閱讀

Power Management 接口

接口實現(xiàn)

/include/linux/pm.h
/drivers/base/power/main.c

主要功能: 對下,定義
Device PM 相關(guān)的回調(diào)函數(shù),讓各個 Driver 實現(xiàn);對上,實現(xiàn)統(tǒng)一的 PM 操作函數(shù),供 PM 核心邏輯調(diào)用。

struct dev_pm_ops {
 int (*prepare)(struct device *dev);
 void (*complete)(struct device *dev);
 int (*suspend)(struct device *dev);
 int (*resume)(struct device *dev);
 int (*freeze)(struct device *dev);
 int (*thaw)(struct device *dev);
 int (*poweroff)(struct device *dev);
 int (*restore)(struct device *dev);
 int (*suspend_late)(struct device *dev);
 int (*resume_early)(struct device *dev);
 int (*freeze_late)(struct device *dev);
 int (*thaw_early)(struct device *dev);
 int (*poweroff_late)(struct device *dev);
 int (*restore_early)(struct device *dev);
 int (*suspend_noirq)(struct device *dev);
 int (*resume_noirq)(struct device *dev);
 int (*freeze_noirq)(struct device *dev);
 int (*thaw_noirq)(struct device *dev);
 int (*poweroff_noirq)(struct device *dev);
 int (*restore_noirq)(struct device *dev);
 int (*runtime_suspend)(struct device *dev);
 int (*runtime_resume)(struct device *dev);
 int (*runtime_idle)(struct device *dev);
};

從 Linux PM Core 的角度來說,這些 callbacks 并不復(fù)雜,因為 PM Core
要做的就是在特定的電源管理階段,調(diào)用相應(yīng)的 callbacks,例如在 suspend/resume 的過程中,PM Core 會依次調(diào)用

prepare 
 — > suspend
   — > suspend_late
     — > suspend_noirq
     
       wakeup
       
         — > resume_noirq
           — > resume_early
             — > resume
               - > complete

但由于這些 callbacks 需要由具體的設(shè)備 Driver 實現(xiàn),這就要求驅(qū)動工程師在設(shè)計每個 Driver
時,清晰的知道這些 callbacks 的使用場景、是否需要實現(xiàn)、怎么實現(xiàn),這才是 struct dev_pm_ops 的復(fù)雜之處。

Linux kernel 對 struct dev_pm_ops 的注釋已經(jīng)非常詳細(xì)了,但要弄清楚每個
callback 的使用場景、背后的思考,并不是一件容易的事情。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5052

    文章

    18910

    瀏覽量

    300763
  • 接口
    +關(guān)注

    關(guān)注

    33

    文章

    8357

    瀏覽量

    150517
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11170

    瀏覽量

    208469
  • Power
    +關(guān)注

    關(guān)注

    1

    文章

    498

    瀏覽量

    67635
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4259

    瀏覽量

    62227
收藏 人收藏

    評論

    相關(guān)推薦

    PADs助手主要功能

    ` 本帖最后由 zhihuizhou 于 2011-11-7 15:09 編輯 目前Pads助手有以下主要功能:1. 原理圖元件批量編號功能:2. 鼠標(biāo)功能增強。用鼠標(biāo)右鍵 、中鍵拖動原理圖
    發(fā)表于 10-31 16:44

    基于linux socket can程序的主要功能

    最近寫了個自認(rèn)為不錯的基于linux socket can程序,主要功能:程序具備全部CAN功能,包括CAN標(biāo)準(zhǔn)幀/擴展幀接收與發(fā)送、CAN總線錯誤判斷、環(huán)回等功能適用基于LINUX SOCKET
    發(fā)表于 07-08 06:40

    請問TIMx有哪些主要功能?

    TIMx簡介TIMx主要功能
    發(fā)表于 11-09 08:56

    MusrLicManage的主要功能

    MusrLicManage簡介MusrLicManage主要功能
    發(fā)表于 12-16 07:22

    ECC是什么?有什么主要功能

    ECC是什么?有什么主要功能?
    發(fā)表于 06-21 07:00

    電池管理系統(tǒng)的主要功能包括哪些

    電池管理系統(tǒng)(BATTERY MANAGEMENT SYSTEM),俗稱電池保姆或電池管家,是連接車載動力電池和電動汽車的重要紐帶,其主要功能包括:電池物理參數(shù)實時監(jiān)測;電池狀態(tài)估計;在線診斷與預(yù)警
    發(fā)表于 09-08 07:17

    網(wǎng)卡實現(xiàn)主要功能是什么

    從介質(zhì)訪問控制方法的角度局域網(wǎng)可分為哪幾類?以太網(wǎng)交換機是根據(jù)什么去轉(zhuǎn)發(fā)數(shù)據(jù)幀的?網(wǎng)卡實現(xiàn)主要功能是什么?
    發(fā)表于 10-20 06:24

    DC的主要功能或者主要作用是什么

    什么是DC?DC能接受多少種輸入格式?DC的主要功能或者主要作用是什么?如何配置DC?
    發(fā)表于 10-20 07:02

    romIP Core主要功能是什么

    FPGA21 嵌入式塊Ram應(yīng)用之Rom(Read only memory)模塊名稱: romIP Core主要功能 :調(diào)用內(nèi)部的資源,實現(xiàn)只讀功能實驗?zāi)康?:了解這些芯片專用硬件資源的情況下,將其
    發(fā)表于 12-27 08:13

    電話伴侶的主要功能

    電話伴侶的主要功能          &n
    發(fā)表于 12-31 13:46 ?906次閱讀

    電話機的主要功能

    電話機的主要功能         
    發(fā)表于 12-31 14:37 ?1020次閱讀

    網(wǎng)絡(luò)電話的主要功能

     網(wǎng)絡(luò)電話的主要功能         
    發(fā)表于 12-31 14:53 ?719次閱讀

    直線導(dǎo)軌的主要功能

    直線導(dǎo)軌的主要功能
    的頭像 發(fā)表于 07-26 17:42 ?1027次閱讀
    直線導(dǎo)軌的<b class='flag-5'>主要功能</b>

    AMI網(wǎng)絡(luò)的主要功能

    電子發(fā)燒友網(wǎng)站提供《AMI網(wǎng)絡(luò)的主要功能.pdf》資料免費下載
    發(fā)表于 11-27 11:56 ?0次下載
    AMI網(wǎng)絡(luò)的<b class='flag-5'>主要功能</b>

    bms主要功能有哪些

    、儲能系統(tǒng)等新能源領(lǐng)域的關(guān)鍵部件,其主要功能是對電池組進(jìn)行實時監(jiān)控、保護(hù)和管理,以保證電池組的安全、穩(wěn)定和高效運行。本文將對BMS的主要功能進(jìn)行詳細(xì)介紹。 數(shù)據(jù)采集:BMS通過傳感器對電池組的電壓、電流、溫度等關(guān)鍵參數(shù)進(jìn)行實時采集,以便對電池組的工作狀態(tài)進(jìn)行全面了解。這些
    的頭像 發(fā)表于 01-05 18:09 ?7757次閱讀
    bms<b class='flag-5'>主要功能</b>有哪些