linux 驱动中的私有数据
前面的程序中,都只申请了一个从设备号,这里使用 alloc_chrdev_region 分配两个设备号,这两个设备共用 ops 方法。
所以需要在 ops 方法中区分两个设备
container_of
参考:linux——宏 list_entry/container_of
驱动程序
数据结构定义
typedef struct {
dev_t dev_id; /* 设备号 */
本文探讨Linux驱动中的私有数据,特别是在处理多个字符设备时如何区分不同设备。通过container_of宏,实现数据结构的定义和设备的区分。详细介绍了驱动程序的数据结构定义,包括两个设备new_chrdev1和new_chrdev2的主次设备号分配,并给出了程序源码和模块使用示例。
前面的程序中,都只申请了一个从设备号,这里使用 alloc_chrdev_region 分配两个设备号,这两个设备共用 ops 方法。
所以需要在 ops 方法中区分两个设备
参考:linux——宏 list_entry/container_of
typedef struct {
dev_t dev_id; /* 设备号 */
1236
625
614

被折叠的 条评论
为什么被折叠?