power supply驅動框架和具體驅動
power supply驅動程式用於讓使用者空間可以讀取系統中的供電裝置資訊。供電裝置可以是直流電源(ac)、usb或者電池等。
17.5.1 power supply驅動框架
power supply驅動程式與使用者空間的介面是sys檔案系統,該型別驅動程式的目錄為/sys/class/power_supply/,其中的每個子目錄表示一種供電裝置的名稱。
power supply驅動標頭檔案為:include/linux/power_supply.h;power supply驅動框架的**為:drivers/power/power_supply_core.c和drivers/power/power_supply_sysfs.c。
power_supply.h檔案中power supply的註冊和登出函式如下所示:
int power_supply_register(struct device *parent,struct power_supply *psy);
void power_supply_unregister(struct power_supply *psy);
其中,power_supply結構體為驅動程式需要實現的部分,其內容如下所示:
struct power_supply ;
乙個power supply驅動要實現get_property和external_power_changed這兩個函式,而其名稱對應於/sys/class/power_supply/目錄中所建立的子目錄。power_supply_property則是一系列用列舉值表示的屬性,也就是每個供電裝置子目錄當中的檔名。supplied_to表示為哪個裝置進行供電,通常指某個電池。
Linux GPIO驅動 驅動框架概述
gpio是嵌入式開發中最常見的介面,之前自己就有寫過小的gpio驅動,提供ioctl介面給使用者空間操作。但直到最近才發現linux自身就有完善的gpio驅動框架,並且通過sysfs向使用者空間提供操作介面。linux的gpio驅動框架層次及資料結構如下 最上層是用來向向使用者空間提供介面,使用者可...
驅動基本框架
include ring0.h 驅動在解除安裝的時候,經過這裡,我們可以在這裡釋放一些資源。斷開通話 void driverunload pdriver object driverobject 函式派遣的irp,如果我們不需要用到這裡通訊。ntstatus iodispatch pdevice ob...
WATCHDOG驅動框架
看門狗的框架涉及到drivers watchdog watchdog dev.c watchdog dev.h watchdog core.c,include linux watchdog.h中 定義的結構體 struct watchdog device struct watchdog ops st...