Linux驱动下的设备节点创建方式
发布时间
阅读量:
阅读量
最近正在学习Android平台下的LCD模块,在撰写新需求时遇到了需要底层系统向其上层组件提供设备节点进行操作的要求。在这里总结了三种基于Linux环境下构建设备节点的方法,在其中用于创建设备节点的函数均源自Linux内核中的相关接口定义。我们可以通过直接引用这些预先定义好的接口来完成设备节点的创建过程。
在/syss/class/目录下的某个子目录中生成一个名为hello的节点被以下函数所调用。其中示例代码为:static DEVICE_ATTR(hello, S_IRUGO | S_IWUSR, hello_read, hello_wirte);
第一个字段用于指定要创建的节点名称;
第二个字段定义了为该节点授予的权限;
当需要从/sys/class/xxx/hello节点读取数据时,则使用此函数指针字段来指定对应的读取操作;
当目标是将数据写入到/sys/class/xxx/hello节点时,则使用此字段指定对应的写入操作;
具体说明在在documentation/driver-model/Device.txt中;
#define DEVICE_ATTR(_name, _mode, _show, _store) \
struct device_attribute dev_attr_##_name = __ATTR(_name, _mode, _
全部评论 (0)
还没有任何评论哟~
