evenaye
驱动牛犊
驱动牛犊
  • 注册日期2007-04-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分210分
  • 威望23点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
阅读:1729回复:2

PCI驱动问题(再次请教cyliu大侠)

楼主#
更多 发布于:2007-06-03 22:45
还是前面的PCI驱动问题
一个驱动支持相同的n块卡(系统可能同时用到相同的若干块卡)
卡虽然相同,但是每个卡都有自己独立的boardID,
偶在驱动中维护一个链表,每个结点代表一块卡,boardID是结点的一个成员
偶现在想实现一个功能:通过boardID打开设备(通过设备文件打开当然是支持的)
请问这个怎么实现?
目前的思路是在probe过程中初始化链表,每个节点的成员都在这里初始化完成,成员中应当包含次设备号(强制指定,按探测顺序),但是应用程序中要实现按boardID打开,这个链表势必要输出到应用程序中,如果偶的思路没什么问题,那么这个链表如何输出呢?
evenaye
驱动牛犊
驱动牛犊
  • 注册日期2007-04-02
  • 最后登录2016-01-09
  • 粉丝0
  • 关注0
  • 积分210分
  • 威望23点
  • 贡献值0点
  • 好评度22点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2007-06-04 11:27
想到了一个所谓的办法,如果需要用ID打开设备,要把所有设备打开一遍,找到正确的在打开
open方法在应用层只提供一个接口,统一起来,这样也不会有意想不到的麻烦
cyliu
论坛版主
论坛版主
  • 注册日期2003-06-13
  • 最后登录2014-04-11
  • 粉丝5
  • 关注0
  • 积分1238分
  • 威望2531点
  • 贡献值0点
  • 好评度577点
  • 原创分14分
  • 专家分10分
板凳#
发布于:2007-06-04 16:55
如果是编译到内核,可以创建一个控制设备,该设备的号是固定的。那么通过Ioctrl就可以得到其他的boardid了
走走看看开源好 Solaris vs Linux
游客

返回顶部