PCIe カード用の Linux デバイス ドライバーを作成しています。対応する sysfs エントリを作成するときに問題が発生しました。最初に、必要な属性グループを作成しました
DEVICE_ATTR(...)
struct attribute *...
struct attribute_group ...
そして、store() と show() 関数を追加しました。すべてが見事に機能し、要求されたクラスが作成されました
/sys/bus/pci/drivers//module/drivers/pci:/0000:01:00.0
/ /dev/ にエントリが自動作成されない問題が発生!!
私はネットを見て数時間を費やしましたが、私が見つけた唯一の解決策は使用することでした:
class_create() and then
device_create()
しかし、これにより /sysfs/devices/virtual/... に別のエントリが作成されます。これは見苦しく、まったく不要です。
私が望むのは、属性のセットと対応するエントリを /dev/ に持つことです
どうすればそれを達成できますか?これを行う例へのポインタでさえ非常に役に立ちます(私は運がなくても何時間も探しました:()
事前にどうもありがとう!!!
ロブ
回答:ドライバーのクラスを選択する際に愚かな間違いを犯しました。pciドライバーを適切にセットアップすると、これが解決しました。