亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1968 | 回復(fù): 0
打印 上一主題 下一主題

linux/Documentation目錄下的pm.txt [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-02-23 16:50 |只看該作者 |倒序瀏覽
Linux的電源管理支持
本文件簡要介紹了如何使用您的電源管理
Linux系統(tǒng)以及如何添加電源管理的支持Linux的驅(qū)動程序。
APM或ACPI?
------------
如果你有一個比較新的x86移動,桌面或服務(wù)器系統(tǒng),
它支持的可能是高級電源管理(APM)或
高級配置和電源接口(ACPI)。 ACPI是這兩種技術(shù)的電源管理中較新的一種,
并提出在操作系統(tǒng)手中
,比使用BIOS控制的APM 可以提供更大的靈活性以及可擴展性。
最好的方法來確定,如果不是,你的系統(tǒng)支持,是
建立既符合ACPI和APM內(nèi)核為2.3.x啟用ACPI的(是
默認啟用)。如果ACPI可以work,
ACPI驅(qū)動程序?qū)⒏采w和禁用APM,否則APM驅(qū)動
將被使用。
不要抱怨,你不能同時啟用和運行ACPI和APM 。
碎ACPI或損壞,有些人
想得到了一套完整的工作特性,但您
根本無法混合和匹配兩者。機器一次控制的只有一個電源管理接口。想想看..
用戶空間守護進程
------------------
APM和ACPI都依賴于用戶空間的守護進程,apmd和工具acpid
分別要完全發(fā)揮作用。從你的Linux發(fā)行版或從Internet(見下文) 獲得這兩項守護進程
并確保他們在系統(tǒng)啟動過程的某個時候 開始。
繼續(xù)并啟動這兩個。如果ACPI或APM在你的系統(tǒng)上是不可用的,
相關(guān)的守護進程將退出。
  apmd:
http://worldvisions.ca/
〜apenwarr / apmd /
  工具acpid:
http://acpid.sf.net/

驅(qū)動程序接口 - 廢棄,請勿使用!
----------------*************************
注:pm_register(),pm_access(),pm_dev_idle()和friends廢棄。
請不要使用它們。相反,你應(yīng)該適當(dāng)掛鉤
您的驅(qū)動程序到驅(qū)動程序模型,并使用它的suspend()/resume()
回調(diào)做這種東西。
如果你正在編寫一個新的驅(qū)動程序或維持舊驅(qū)動程序,它
應(yīng)包括電源管理支持。如果沒有電源管理
支持,單一驅(qū)動程序可能 阻止具有電源管理功能的系統(tǒng)
使之不能suspend(安全)。
概述:
1)用“pm_register”  注冊的每一個設(shè)備實例
2)在訪問硬件之前 調(diào)用“pm_access”。
   (這將確保該硬件是awake和ready)
3)在進入掛起suspend狀態(tài)(ACPI的D1-D3)前  或在從掛起到恢復(fù)resuming(ACPI的D0)
   你的“pm_callback”被調(diào)用。
4)當(dāng)設(shè)備不被使用 調(diào)用“pm_dev_idle”
   (可選,但將改進閑置設(shè)備檢測)
5)當(dāng)卸載,用“pm_unregister”注銷設(shè)備
/ *
*說明:用電源管理子系統(tǒng) 注冊設(shè)備
*
*參數(shù):
*類型 - 設(shè)備類型(PCI設(shè)備,系統(tǒng)設(shè)備,...)
*身份證 - 例號或唯一標識符
* cback - 請求處理回調(diào)(suspend, resume,...)
*
*返回:在error注冊 PM裝置或NULL
*
*例子:
* dev= pm_register(PM_SYS_DEV,PM_SYS_VGA,vga_callback);
*
*   struct pci_dev *pci_dev = pci_find_dev(...);
*   dev = pm_register(PM_PCI_DEV, PM_PCI_ID(pci_dev), callback);
* /
struct pm_dev *pm_register(pm_dev_t type, unsigned long id, pm_callback cback);
/ *
*說明:用電源管理子系統(tǒng) 注銷設(shè)備
*
*參數(shù):
* dev - 從pm_register 返回的設(shè)備
* /
void pm_unregister(struct pm_dev *dev);
/ *
*說明:注銷與回調(diào)函數(shù)匹配的所有設(shè)備
*
*參數(shù):
* cback - 之前注冊的request callback
*
*注:從舊的APM接口提供更容易的移植
* /
void pm_unregister_all(pm_callback cback);
/ *
*電源管理的request callback
*
*參數(shù):
* dev - 從pm_register之前返回的設(shè)備
* rqst - 請求類型
*data - 數(shù)據(jù),如果有的話,與請求相關(guān)聯(lián)的
*
*返回:如果請求是成功的,0
* EINVAL  如果不支持請求
* EBUSY   如果該設(shè)備正在忙,無法處理請求
* ENOMEM  如果設(shè)備由于內(nèi)存無法處理請求
*
*詳細內(nèi)容:該設(shè)備請求回調(diào)將提交要求
*設(shè)備/系統(tǒng)進入掛起狀態(tài)(ACPI的D1的維生素D3)或
*或之后的設(shè)備/系統(tǒng)恢復(fù)從掛起(ACPI的D0)用來。
*對于PM_SUSPEND,在ACPIḎ國家正在通過簽訂
*為“數(shù)據(jù)”參數(shù)回調(diào)。該設(shè)備
*司機應(yīng)保存(PM_SUSPEND)或恢復(fù)(PM_RESUME)
*設(shè)備上下文請求時,被稱為回調(diào)。
*
*一旦驅(qū)動程序從suspend request返回0(成功)
*,它不應(yīng)該處理任何進一步要求
*或訪問硬件直到產(chǎn)生一個對“pm_access”的調(diào)用。
* /
typedef int (*pm_callback)(struct pm_dev *dev, pm_request_t rqst, void *data);
驅(qū)動程序詳細信息
--------------
這僅僅是一個快速問答,直到一個真正的驅(qū)動作者
為電源管理提供指導(dǎo)。
問:是一個設(shè)備暫停? When is a device suspended?
設(shè)備可以暫停基于直接用戶的要求(如:筆記本電腦蓋子
關(guān)閉),系統(tǒng)功耗的政策(如睡眠控制臺后30分鐘
活動),或設(shè)備的電力政策(如斷電后設(shè)備5
分鐘的活動)
問:司機必須榮譽掛起的請求? Must a driver honor a suspend request?
沒有,驅(qū)動程序可以返回從掛起的請求并EBUSY本
將停止吊銷制度。當(dāng)一個請求暫停
失敗了,所有的設(shè)備都暫停,恢復(fù)和系統(tǒng)繼續(xù)
運行。暫停試可以在以后的時間。
問:驅(qū)動程序塊暫停/恢復(fù)的要求呢? Can the driver block suspend/resume requests?
是的,司機可以推遲從掛起或恢復(fù)回報
請求,直到該設(shè)備已準備好處理請求。它
有利于返回從盡快
要求為暫停/恢復(fù)連續(xù)完成。
問:什么情況下掛起/恢復(fù)啟動的?
阿暫;蚧謴(fù)啟動的內(nèi)核線程上下文。
它是安全的塊,分配內(nèi)存,發(fā)起請求
或其他任何你可以在內(nèi)核。
問:請繼續(xù)暫停后到達?
有可能。這是司機的責(zé)任要排隊(*),
失敗,或丟棄任何要求回國后到達
成功的請求暫停。重要的是,在
驅(qū)動程序不能訪問其設(shè)備,直到收到后
作為該設(shè)備的總線請求恢復(fù)可能不再
是活動的。
(*)如果一個驅(qū)動程序請求隊列后處理
    簡歷都知道,設(shè)備,網(wǎng)絡(luò)等
    可能在不同的狀態(tài)比在暫停時間。
    它可能會更好下降請求,除非
    司機是一個存儲設(shè)備。
問:我有管理的巴士專用電源管理寄存器
不,這是公交車司機的責(zé)任管理
的PCI,USB接口,電源管理等登記。巴士司機
或電源管理子系統(tǒng)也將啟用任何
喚醒功能,該設(shè)備已。
問:那么,真的,什么我需要做支持暫停/恢復(fù)?
您需要保存的任何設(shè)備情況下,將
如果丟失的設(shè)備是斷電,然后恢復(fù)
它的恢復(fù)時間。當(dāng)ACPI是積極的,有
三個層次的設(shè)備暫停狀態(tài); D1和D2和D3的。
(掛起狀態(tài)通過的“數(shù)據(jù)”的論據(jù)
到設(shè)備回調(diào)。)與維生素D3,設(shè)備供電
關(guān)閉并失去所有方面,D1和D2是淺權(quán)力
國家和需要較少的設(shè)備上下文被保存。至
它的安全性,一切都只是保存在暫停和恢復(fù)
一切都在恢復(fù)。
問:我在哪里可以暫停存儲設(shè)備上下文?
無處不在內(nèi)存中,kmalloc的一個緩沖區(qū)或存儲它
在設(shè)備描述符。您是保證的
內(nèi)存的內(nèi)容將恢復(fù)和可
前恢復(fù),甚至當(dāng)系統(tǒng)掛起到磁盤。
問:我需要做的ACPI與APM的與等?
驅(qū)動程序不需要知道具體的電源管理
技術(shù)處于活動狀態(tài)。他們只需要知道
何時覆電源管理系統(tǒng)的要求
他們暫;蚧謴(fù)。
問:有關(guān)設(shè)備依賴?
當(dāng)一個驅(qū)動注冊一個設(shè)備,電源管理
子系統(tǒng)使用所提供的資料建立
依賴的設(shè)備(如USB設(shè)備X上樹
USB控制器輜于PCI總線Z是)當(dāng)電源
管理要暫停設(shè)備,它首先發(fā)送
一要求暫停其驅(qū)動,然后是巴士司機,
等,到系統(tǒng)總線。設(shè)備恢復(fù)
進行相反的方向。
問:誰做的其他信息我聯(lián)系
   讓我的特定驅(qū)動程序的電源管理/設(shè)備?
ACPI的開發(fā)郵件列表:
linux-acpi@vger.kernel.org

系統(tǒng)接口 - 廢棄,請勿使用!
----------------*************************
如果您提供新的電源管理支持的Linux(例如:
加入像APM或ACPI支持的東西),你應(yīng)該
與司機溝通,通過現(xiàn)有的通用動力
管理界面。
/ *
*發(fā)送請求中的所有設(shè)備
*
*參數(shù):
* rqst - 請求類型
*數(shù)據(jù) - 數(shù)據(jù),如果有的話,與請求相關(guān)聯(lián)的
*
*返回:0如果請求是成功的
*見“pm_callback的錯誤”回歸
*
*詳細內(nèi)容:步行注冊設(shè)備清單,并呼吁pm_send
*每個直到完成或遇到錯誤。
*如果遇到錯誤的暫停請求,
*返回所有的國家,他們是在以前的設(shè)備
*掛起的請求。
* /
廉政pm_send_all(pm_request_t rqst,無效*數(shù)據(jù));
/ *
*找到匹配的設(shè)備
*
*參數(shù):
*類型 - 設(shè)備類型(PCI設(shè)備,系統(tǒng)設(shè)備,或0到匹配的所有設(shè)備)
*從 - 以前的匹配或NULL從頭開始
*
*返回:匹配的設(shè)備或空,如果沒有找到
* /
結(jié)構(gòu)pm_dev * pm_find(pm_dev_t類型,從結(jié)構(gòu)pm_dev *);

本文來自ChinaUnix博客,如果查看原文請點:http://blog.chinaunix.net/u3/111988/showart_2185272.html
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP