2016-03-20 12 views
0

私はcharデバイスを登録しようとしていますが、register_chrdevとデバイスを登録するときに使用されるfile_opreationと、device_attributeの違いは何か分かりませんdevice_create_fileでデバイスを作成するときに使用されます。Linuxデバイスの登録:file_operations vs device_attribute

これらの構造体はどちらも関数を保持しています。これらの構造体は、読み取り操作がデバイスで実行されたときに呼び出される必要があります(&)。だから彼らの違いは何ですか?そのうちの1つのみの機能を実装できますか?

ありがとうございました。

答えて

1

機能を使用するインターフェイスが異なります。 device_attributeはsysfsに固有であり、file_operationsはより大きなスコープを持ちます。 sysfsエントリに操作を表示して保存するだけで、デバイスに必要なすべての機能とインタフェースを提供できる場合は、device_Attributeを選択できます。

両方の構造のメンバーを見てください。 seek、ioctl、mmap、flushのような操作は、file_operationsによってのみサポートされます。

してもよいし、短期では、一般的にはfile_operationsは、/ SYS

に特殊ファイルと デバイスは/ dev内のノードとdevice_attributesに関連付けられています
関連する問題