1

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ドライバーを適切にセットアップすると、これが解決しました。

4

1 に答える 1

1

これを見てください:

http://kroah.com/log/blog/2013/06/26/how-to-create-a-sysfs-file-correctly/

あなたの場合、バスドライバーの例に従ってください。

于 2016-08-24T06:16:49.367 に答える