Editar un árbol de dispositivos para deshabilitar la carga de controladores

Editar un árbol de dispositivos para deshabilitar la carga de controladores

A continuación se muestra una sección del árbol de dispositivos.

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>;
            } ;
    } ;
} ;

Esto muestra que el sistema operativo cargará un controlador para Ethernet. Quiero evitar que el sistema operativo haga esto. Cuando simplemente comenté todo el bloque, cometí errores reportados. Entonces, ¿cómo edito el árbol de dispositivos para que Ethernet esté deshabilitado y no se cargue ningún controlador?

Respuesta1

Puede desactivar un nodo de dispositivo agregando:

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

Dependiendo de la estructura de inclusión de su árbol de dispositivos, debe agregarla en el nivel de especificación de la placa. De lo contrario, existe la posibilidad de que status = "disabled";se sobrescriba en status = "okay";algún lugar.

información relacionada