[英]Char Driver Linux: What is the correct implementation of file_operations read and write? What are the offset checks needs to be made?
[英]Implementation of linux char driver with multiple parameters to access
我正在編寫一個訪問PCI卡的簡單char驅動程序。 它借助於新類在sysfs中注冊,並且可以在/dev/foodev
下訪問。 使用標准文件操作,我可以對設備執行簡單的讀取和寫入操作。
我的問題:我想將多個參數存儲在卡上的不同地址(版本,狀態,控件等)上,這些參數需要獨立訪問。 因此,當前只有一個讀和一個寫功能,因此我不得不每次在驅動程序代碼中再次更改地址。 顯然,有一種更方便的方法可以實現此目的。 我偶然發現了以下兩種方法,並且想知道哪種方法在可持續性和用戶可訪問性方面更好:
使用多個屬性( device_create_file()
)在udev中已經很好地設置了設備,而用戶不僅可以從不同的“文件”中寫入/讀取這些屬性,還可以:
/dev/foodev ../version ../status ../control
我認為您應該看一下PCI框架來實現驅動程序。
不要(濫用)ioctl; 您將擁有比賽條件。 使用屬性作為文件。 該方案已在sysfs中使用。 EG看一下GPIO LED和按鍵。 - 鋸末
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.