システム内の別のデバイスにアクセスできるように、作成/変更しているデバイス ドライバーが必要です。名前やアドレスなど、ドライバーに関する情報を調べて調べますが、実際に調べる方法がわかりません。この特定のケースでは、GPIO デバイスを取得する必要があります (5 つがロードされ、2 つの異なるタイプがあります)。ただし、複数のドライバーが 1 つのドライバーを共有する別のタスクがあるため、一般的なことも知っておく必要があります。彼らが調べなければならない共通のもの、私は同様の方法で推測します。ユーザー空間からデバイスを検索する方法を見つけましたが、別のカーネル ドライバーから検索する方法については何もわかりませんでした。また、システムにはモジュールがなく、すべてのデバイスが devicetree 情報からロードされます。
私を混乱させているのは、特定の gpio init 関数がデバイスをどこにでも登録する方法がわからないことです。ザイリンクス固有の AXI GPIO デバイスを使用しています。このデバイスは drivers/gpio/gpio-xilinx.c のコードを使用しており、デバイス ツリーからすべての情報を取得する方法を確認できますが、何も返されていません。後で使用できるように、任意のカーネル リストに追加します。
それが役立つ場合、これは Xilinx Zynq チップで実行されています。