linux hidraw 读写,浅析/dev/hidraw0对应的fops操作集-hid设备控制的唯一入口

本文深入探讨了Linux系统中控制hid设备的关键入口——/dev/hidraw0,介绍了hidraw_init如何初始化,并详细解析了hidraw_ops文件操作集,包括read、write、ioctl等方法。同时,文章还讲解了usb_hid_configure函数,阐述了如何通过hidraw向hid设备发送输出报告。
摘要由CSDN通过智能技术生成

浅析/dev/hidraw0对应的fops操作集-hid设备控制的唯一入口

对于hid设备的完全裸露控制,节点/dev/hidraw0是唯一的入口[luther.gliethttp].

hidraw_init

==> alloc_chrdev_region(&dev_id, HIDRAW_FIRST_MINOR, HIDRAW_MAX_DEVICES, "hidraw"); // 动态获取一个major主设备号[luther.gliethttp]

==> cdev_init(&hidraw_cdev, &hidraw_ops);                                           // /dev/hidraw0...对应的fops方法集

==> cdev_add(&hidraw_cdev, dev_id, HIDRAW_MAX_DEVICES);                             // 添加到chr数组中,等待open引用

static const struct file_operations hidraw_ops = {

.owner =        THIS_MODULE,

.read =         hidraw_read,                                                    // 获取hid设备的raw数据[luther.gliethttp]

.write =        hidraw_write,                                                   // 向hid设备直接写入raw数据[luther.gliethttp]

.poll =         hidraw_pol

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值