以gpiolib.c檔案裡邊的sysfs介面為例。
device attr定義方式有好幾種,
1. 下面是通過device_attr巨集定義的方式
static const device_attr(active_low, 0644,gpio_active_low_show, gpio_active_low_store);
static const struct attribute *gpio_attrs = ;
static const struct attribute_group
gpio_attr_group = ;
sysfs_create_group(&dev->kobj,
&gpio_attr_group);
//在kobject對應的目錄下生成一組檔案
2. 下面是通過power_attr()定義的方式
#definepower_attr(_name) \static struct kobj_attribute _name##_attr = ,\
.show= _name##_show,\
.store= _name##_store,\
}
static ssize_t pm_async_show(struct kobject *kobj, struct kobj_attribute *attr,char *buf)
static ssize_t pm_async_store(struct kobject *kobj, struct kobj_attribute *attr,
const char *buf, size_t n)
power_attr(pm_async);
static struct attribute *g = ;
static struct attribute_group attr_group = ;
sysfs_create_group(power_kobj, &attr_group);
sysfs介面函式的建立 DEVICE ATTR
sysfs介面函式到建立 device attr 最近在弄sensor驅動,看過乙個某廠家的成品驅動,裡面實現的全都是sysfs介面,hal層利用sysfs生成的介面,對sensor進行操作。說道sysfs介面,就不得不提到函式巨集 device attr 原型是 define device att...
sysfs探索 store和show的介面
簡單分析 1 本樣例主要測試kobject結構,kobject對應sysfs檔案系統中的乙個目錄,該目錄對應乙個具體的事物。2 首先通過example kobj kobject create and add kobject example kernel kobj 將該結構加入 到 sys kerne...
Map介面說明
map介面並沒有繼承collection,宣告如下 public inte ce map 介面種定義14個方法 1.int size 2.boolean isempty 3.boolean containskey object key 4.boolean containsvalue object v...