创建一个简单的debugfs文件系统节点
来源:互联网 发布:张馨予淘宝店名 编辑:程序博客网 时间:2024/06/07 10:25
有时为了调试方便,需要创建一个文件节点,供上层调用,下面是一个较简单的例子;
可以在其基础上,稍加修改名字,即可使用。
static ssize_t usb_hnp_show(struct file *file, char __user *user_buf, size_t count, loff_t *ppos){//char *buf;ssize_t ret;struct usb_device *udev = global_usb_device;if (udev == NULL){printk(KERN_ERR "%s:the usb_device is NULL\n", __func__);return -EFAULT;}dev_err(&udev->dev, "zsm %s\n", __func__);return ret;}static ssize_t usb_hnp_store(struct file *file, const char __user *user_buf, size_t count, loff_t *ppos){char buf[32];ssize_t buf_size;struct usb_device *udev = global_usb_device;if (udev == NULL){printk(KERN_ERR "%s:the usb_device is NULL\n", __func__);return -EFAULT;}dev_err(&udev->dev, "zsm %s\n", __func__);buf_size = min(count, (size_t)(sizeof(buf)-1));if (copy_from_user(buf, user_buf, buf_size)) {dev_err(&udev->dev, "Failed to copy from user\n");return -EFAULT;}buf[buf_size] = 0;return buf_size;}static const struct file_operations usb_hnp_node_fops = {.owner = THIS_MODULE,.open = simple_open,.read = usb_hnp_show,.write = usb_hnp_store,};
注册部分代码可以放在一个probe函数里,如下:
struct dentry *usb_hnp_dentry;usb_hnp_dentry = debugfs_create_file("enable_usb_hnp",S_IRUGO, NULL, NULL, &usb_hnp_node_fops);
编译运行后,生成的目录在
/sys/kernel/debug/ 下。
0 0
- 创建一个简单的debugfs文件系统节点
- 创建一个procfs文件系统的节点
- 创建一个简单的device_create_file文件节点
- 简单的debugfs模型
- 设备驱动-----debugfs创建节点并读写
- 使用debugfs导出调试信息--一个简单的例子
- 一个简单文件系统的实现
- 制作一个简单的文件系统
- 一个简单文件系统的实现
- devtmpfs文件系统创建设备节点
- devtmpfs文件系统创建设备节点
- devtmpfs文件系统创建设备节点
- devtmpfs文件系统创建设备节点
- 分布式文件系统以及对相关节点的简单理解
- 创建子节点的一个方法
- 用busybox做一个简单的文件系统
- 用busybox做一个简单的文件系统
- 使用ICE实现一个简单的文件系统
- 什么是抽样分布?
- Java 对象锁
- dataTables-使用详细说明整理
- 【Java每日一题】20161228
- [李景山php]每天TP5-20170125|thinkphp5-Process.php-7
- 创建一个简单的debugfs文件系统节点
- spring核心框架体系结构
- Git如何帮你查原因
- swagger2
- tomcat 设置并发连接数
- spring mvc web应用启动时执行特定处理
- Listview按键触发选择item改变文字
- Maven报错Please ensure you are using JDK 1.4 or above and not a JRE解决方法
- MFC显示图片