我的Linux环境中有多个进程,这些进程必须使用相同的设备驱动程序来访问许多相似的设备.我的问题是,如果一个进程实例化一个设备(通过实例化,我的意思是mknod)文件,并且为两个设备使用一个较小的数字(例如0和1).那么,其他进程在做同一件事时又如何知道要使用哪个次要号码呢?

简而言之,在应用程序空间中是否可以找到使用同一驱动程序的设备文件数量?

解决方法:

假设您引用的是正在创建的驱动程序,或者至少具有源代码,请尝试以数字顺序(为简单起见)使用从零开始的次要数字.让驱动程序跟踪实例化了多少个次设备/设备,并通过sysfs中的条目公开该计数.当您实例化一个新设备时,请将该变量的当前值用作新设备的次设备号,然后将该变量递增(在驱动程序内部).


标签: linux, device-driver

相关文章推荐

添加新评论,含*的栏目为必填