デバイスツリーを編集してドライバーの読み込みを無効にする

デバイスツリーを編集してドライバーの読み込みを無効にする

以下はデバイスツリーの一部です。

ps7_ethernet_0: ps7-ethernet@e000b000 {
    #address-cells = <1>;
    #size-cells = <0>;
    clock-names = "ref_clk", "aper_clk";
    clocks = <&clkc 13>, <&clkc 30>;
    /* compatible = "xlnx,ps7-ethernet-1.00.a";*/
    interrupt-parent = <&ps7_scugic_0>;
    interrupts = <0 22 4>;
    local-mac-address = [ 00 0a 35 00 6a 3e ];
    phy-handle = <&phy0>;
    phy-mode = "rgmii-id";
    reg = <0xe000b000 0x1000>;
    xlnx,enet-reset = "MIO 11";
    xlnx,eth-mode = <0x1>;
    xlnx,has-mdio = <0x1>;
    xlnx,ptp-enet-clock = <111111115>;
    mdio {
            #address-cells = <1>;
            #size-cells = <0>;
            phy0: phy@7 {
                    compatible = "marvell,88e1116r";
                    device_type = "ethernet-phy";
                    reg = <7>;
            } ;
    } ;
} ;

これは、OS がイーサネット用のドライバーをロードすることを示しています。OS がこれを実行するのを止めたいのですが、ブロック全体をコメントアウトすると、エラーが報告されます。では、イーサネットが無効になり、ドライバーがロードされないようにデバイス ツリーを編集するにはどうすればよいでしょうか。

答え1

以下を追加することでデバイス ノードを無効にすることができます。

ps7_ethernet_0: ps7-ethernet@e000b000 {
    ...
    status = "disabled";
};

status = "disabled";デバイス ツリーのインクルード構造に応じて、これをボード仕様レベルで追加する必要があります。そうしないと、どこかで上書きされる可能性があります status = "okay";

関連情報