1

デバイス ツリーに依存するcustom_hardware用の動作するドライバーを開発しました。ドライバーは進化する可能性があるため、ドライバーをカーネルの一部にしたくありません (「カーネルの一部である」と言う場合、カーネルの作成中にカーネルと共にコンパイルされることを意味します)。

ここに私のdtsを垣間見ることができます:

custom_hardware: custom_hardware@0x41006000 {
    compatible = "mfg,custom";
    reg = <0x41006000 0x1000>;
    #interrupt-cells = <0x1>;
    interrupt-controller;
};

existing_hardware: existing_hardward@41004000 {
    compatible = "mfg,existing";
    reg = <0x41004000 0x1000>;
    interrupt-parent = <&custom_hardware>;
    interrupts = <0>;
};

existing_hardwareのドライバーは、既にカーネルでコンパイルされています ( existing_hardwareのドライバーは、カーネルの作成中にカーネルでコンパイルされています)。

私がやりたいのは、私のcustom_hardwareのドライバーを ramfs に追加し、カーネルが existing_hardware のドライバーの前に custom_hardware のドライバーをロードできるように することです

existing_hardwareのドライバーはcustom_hardwareのドライバーのirq_domainからvirqを要求するため、これは重要です。irq_domainを取得するには、最初にcustom_hardwareのドライバーをロードする必要があります。

existing_hardwareのドライバーは、カーネル ブート シーケンスの初期段階で発生するように見えるデバイス ツリーのプローブ中に読み込まれることに注意してください。

4

2 に答える 2