DEVICE_ATTR
时间: 2023-08-21 18:03:20 浏览: 112
ST 各类sensor 驱动
DEVICE_ATTR是一个宏,用于声明设备属性文件的属性。这个宏在Linux内核的device.h头文件中定义。它的语法如下:
#define DEVICE_ATTR(_name, _mode, _show, _store)
其中,_name是属性文件的名称,_mode是属性文件的权限,_show是从属性文件读取数据时调用的函数,_store是向属性文件写入数据时调用的函数。
属性文件的权限值是一个4位数,类似于0644,其中每一位表示SUID/GUID User Group Others的权限。具体权限值的含义如下:
- 400:拥有者能够读,其他任何人不能进行任何操作。
- 644:拥有者都能够读,但只有拥有者可以编辑。
- 660:拥有者和组用户都可读和写,其他人不能进行任何操作。
- 664:所有人都可读,但只有拥有者和组用户可编辑。
- 700:拥有者能够读、写和执行,其他用户不能任何操作。
- 744:所有人都能读,但只有拥有者才能编辑和执行。
- 755:所有人都能读和执行,但只有拥有者才能编辑。
- 777:所有人都能读、写和执行(该设置通常不是好想法)。
在使用DEVICE_ATTR宏定义属性文件时,需要提供一个show函数和一个store函数。show函数在读取属性文件数据时被调用,而store函数在写入属性文件数据时被调用。
例如,我们可以使用DEVICE_ATTR宏来定义一个名为my_device_test的设备属性文件,其权限被设置为用户可写和用户可读,并指定了show_my_device和set_my_device两个函数来处理读写操作。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *3* [Linux-DEVICE_ATTR()介绍及使用示例](https://blog.csdn.net/Wang20122013/article/details/121948508)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
- *2* [DEVICE_ATTR 详解](https://blog.csdn.net/Qidi_Huang/article/details/51102994)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文