DRIVER_ATTR and DEVICE_ATTR
来源:互联网 发布:windows 10 下载 编辑:程序博客网 时间:2024/06/05 02:58
Driver Attributes
~~~~~~~~~~~~~~~~~
struct driver_attribute { struct attribute attr; ssize_t (*show)(struct device_driver *driver, char *buf); ssize_t (*store)(struct device_driver *, const char * buf, size_t count);};
Device drivers can export attributes via their sysfs directories.
Drivers can declare attributes using a DRIVER_ATTR macro that works
identically to the DEVICE_ATTR macro.
Example:
DRIVER_ATTR(debug,0644,show_debug,store_debug);
This is equivalent to declaring:
struct driver_attribute driver_attr_debug;
This can then be used to add and remove the attribute from the
driver's directory using:
int driver_create_file(struct device_driver *, const struct driver_attribute *);
void driver_remove_file(struct device_driver *, const struct driver_attribute *);
Device Attributes
~~~~~~~~~~~~~~~~~
struct device_attribute { struct attribute attr; ssize_t (*show)(struct device *dev, struct device_attribute *attr, char *buf); ssize_t (*store)(struct device *dev, struct device_attribute *attr, const char *buf, size_t count);};
Attributes of devices can be exported via drivers using a simple
procfs-like interface.
Please see Documentation/filesystems/sysfs.txt for more information
on how sysfs works.
Attributes are declared using a macro called DEVICE_ATTR:
#define DEVICE_ATTR(name,mode,show,store)
Example:
DEVICE_ATTR(power,0644,show_power,store_power);
This declares a structure of type struct device_attribute named
'dev_attr_power'. This can then be added and removed to the device's
directory using:
int device_create_file(struct device *device, struct device_attribute * entry);
void device_remove_file(struct device * dev, struct device_attribute * attr);
Example:
device_create_file(dev,&dev_attr_power);
device_remove_file(dev,&dev_attr_power);
The file name will be 'power' with a mode of 0644 (-rw-r--r--).
0 0
- DRIVER_ATTR and DEVICE_ATTR
- DRIVER_ATTR and DEVICE_ATTR
- DRIVER_ATTR and DEVICE_ATTR
- DRIVER_ATTR and DEVICE_ATTR
- DEVICE_ATTR
- DEVICE_ATTR
- DEVICE_ATTR
- DEVICE_ATTR
- DEVICE_ATTR
- DEVICE_ATTR
- DEVICE_ATTR
- DEVICE_ATTR
- DEVICE_ATTR
- DEVICE_ATTR
- DEVICE_ATTR
- DEVICE_ATTR
- DEVICE_ATTR分析
- DEVICE_ATTR 详解
- jquery checkbox 全选功能
- 安卓日记——ViewPager与RadioGroup关联
- 数字+字符的字符串 修改数字字体方法
- 中断与性能
- 账号,版本号,本地的存取
- DRIVER_ATTR and DEVICE_ATTR
- 经常用电脑的人应注意健康 交你怎样将辐射降到最低
- 模仿360安全卫士项目笔记6
- monte carlo simulation
- U盘引导安装 OS X Yosemite 10.10.2 【黑苹果-图文教程】
- mahout 推荐系统示例
- 123
- httpClient封装——异步、回调、下载
- JavaEE_Mybatis_Mybaits 的 Mapper.xml中不能出现<(小于)符号