我正在编写一个访问PCI卡的简单char驱动程序。它在新类的帮助下注册到sysfs,可在/dev/foodev
下访问。使用标准文件操作,我可以对设备执行简单的读写操作。
我的问题:我有多个参数存储在卡上的不同地址(版本,状态,控制......),我想独立访问。因此,当前只有一个读取和一个写入功能,因此我必须每次在驱动程序代码中更改地址。 显然,有一种更方便的方法来实现它。我偶然发现了以下两种方法,并且想知道哪种方式在可持续性和用户可访问性方面更好:
使用多个属性在udev中很好地设置了设备
(device_create_file()
)用户不仅可以写/读
不同的"文件":
/dev/foodev
../version
../status
../control
答案 0 :(得分:0)
我认为你应该看看PCI框架来实现你的驱动程序。
答案 1 :(得分:0)
不要(误)使用ioctls;你有竞争条件。将属性用作文件。该方案已在sysfs中使用。例如。查看GPIO LED和按键。 - 锯末