Required properties:
     - reg : Offset and length of the register set for the device
-    - device_type : Should be "mdio"
     - compatible : Should define the compatible device type for the
-      mdio.  Currently, this is most likely to be "gianfar"
+      mdio.  Currently, this is most likely to be "fsl,gianfar-mdio"
 
   Example:
 
        mdio@24520 {
                reg = <24520 20>;
-               device_type = "mdio"; 
-               compatible = "gianfar";
+               compatible = "fsl,gianfar-mdio";
 
                ethernet-phy@0 {
                        ......
 
                };
 
                mdio@24520 {
-                       device_type = "mdio";
-                       compatible = "gianfar";
-                       reg = <24520 20>;
                        #address-cells = <1>;
                        #size-cells = <0>;
+                       compatible = "fsl,gianfar-mdio";
+                       reg = <24520 20>;
                        phy1: ethernet-phy@1 {
                                interrupt-parent = < &ipic >;
                                interrupts = <13 8>;
                        };
                };
 
-               ethernet@24000 {
+               enet0: ethernet@24000 {
+                       cell-index = <0>;
                        device_type = "network";
                        model = "eTSEC";
                        compatible = "gianfar";
                        phy-handle = < &phy1 >;
                };
 
-               ethernet@25000 {
+               enet1: ethernet@25000 {
+                       cell-index = <1>;
                        device_type = "network";
                        model = "eTSEC";
                        compatible = "gianfar";
 
                        mode = "slave";
                };
 
-               ucc@2200 {
+               enet0: ucc@2200 {
                        device_type = "network";
                        compatible = "ucc_geth";
                        model = "UCC";
+                       cell-index = <3>;
                        device-id = <3>;
                        reg = <2200 200>;
                        interrupts = <22>;
                        interrupt-parent = < &qeic >;
-                       /*
-                        * mac-address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       mac-address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        rx-clock = <19>;
                        tx-clock = <1a>;
                        pio-handle = < &pio3 >;
                };
 
-               ucc@3200 {
+               enet1: ucc@3200 {
                        device_type = "network";
                        compatible = "ucc_geth";
                        model = "UCC";
+                       cell-index = <4>;
                        device-id = <4>;
                        reg = <3200 200>;
                        interrupts = <23>;
                        interrupt-parent = < &qeic >;
-                       /*
-                        * mac-address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       mac-address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        rx-clock = <17>;
                        tx-clock = <18>;
 
                        mode = "cpu";
                };
 
-               ucc@3000 {
+               enet0: ucc@3000 {
                        device_type = "network";
                        compatible = "ucc_geth";
                        model = "UCC";
+                       cell-index = <2>;
                        device-id = <2>;
                        reg = <3000 200>;
                        interrupts = <21>;
                        interrupt-parent = <&qeic>;
-                       /*
-                        * mac-address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       mac-address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        rx-clock = <20>;
                        tx-clock = <13>;
                        pio-handle = <&ucc2pio>;
                };
 
-               ucc@2200 {
+               enet1: ucc@2200 {
                        device_type = "network";
                        compatible = "ucc_geth";
                        model = "UCC";
+                       cell-index = <3>;
                        device-id = <3>;
                        reg = <2200 200>;
                        interrupts = <22>;
                        interrupt-parent = <&qeic>;
-                       /*
-                        * mac-address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       mac-address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        rx-clock = <19>;
                        tx-clock = <1a>;
 
                };
 
                mdio@24520 {
-                       device_type = "mdio";
-                       compatible = "gianfar";
-                       reg = <24520 20>;
                        #address-cells = <1>;
                        #size-cells = <0>;
+                       compatible = "fsl,gianfar-mdio";
+                       reg = <24520 20>;
 
                        /* Vitesse 8201 */
                        phy1c: ethernet-phy@1c {
                        };
                };
 
-               ethernet@24000 {
+               enet0: ethernet@24000 {
+                       cell-index = <0>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <24000 1000>;
-                       /*
-                        * address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <20 8 21 8 22 8>;
                        interrupt-parent = < &ipic >;
                        linux,network-index = <0>;
                };
 
-               ethernet@25000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet1: ethernet@25000 {
+                       cell-index = <1>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <25000 1000>;
-                       /*
-                        * address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <23 8 24 8 25 8>;
                        interrupt-parent = < &ipic >;
 
                };
 
                mdio@24520 {
-                       device_type = "mdio";
-                       compatible = "gianfar";
-                       reg = <24520 20>;
                        #address-cells = <1>;
                        #size-cells = <0>;
+                       compatible = "fsl,gianfar-mdio";
+                       reg = <24520 20>;
 
                        /* Vitesse 8201 */
                        phy1c: ethernet-phy@1c {
                        };
                };
 
-               ethernet@24000 {
+               enet0: ethernet@24000 {
+                       cell-index = <0>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
 
                };
 
                mdio@24520 {
-                       device_type = "mdio";
-                       compatible = "gianfar";
-                       reg = <24520 20>;
                        #address-cells = <1>;
                        #size-cells = <0>;
+                       compatible = "fsl,gianfar-mdio";
+                       reg = <24520 20>;
+
                        phy0: ethernet-phy@0 {
                                interrupt-parent = < &ipic >;
                                interrupts = <11 8>;
                        };
                };
 
-               ethernet@24000 {
+               enet0: ethernet@24000 {
+                       cell-index = <0>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <24000 1000>;
-                       /*
-                        * address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <20 8 21 8 22 8>;
                        interrupt-parent = < &ipic >;
                        linux,network-index = <0>;
                };
 
-               ethernet@25000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet1: ethernet@25000 {
+                       cell-index = <1>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <25000 1000>;
-                       /*
-                        * address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <23 8 24 8 25 8>;
                        interrupt-parent = < &ipic >;
 
                        mode = "slave";
                };
 
-               ucc@2000 {
+               enet0: ucc@2000 {
                        device_type = "network";
                        compatible = "ucc_geth";
                        model = "UCC";
+                       cell-index = <1>;
                        device-id = <1>;
                        reg = <2000 200>;
                        interrupts = <20>;
                        interrupt-parent = < &qeic >;
-                       /*
-                        * mac-address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       mac-address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        rx-clock = <0>;
                        tx-clock = <19>;
                        pio-handle = < &pio1 >;
                };
 
-               ucc@3000 {
+               enet1: ucc@3000 {
                        device_type = "network";
                        compatible = "ucc_geth";
                        model = "UCC";
+                       cell-index = <2>;
                        device-id = <2>;
                        reg = <3000 200>;
                        interrupts = <21>;
                        interrupt-parent = < &qeic >;
-                       /*
-                        * mac-address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       mac-address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        rx-clock = <0>;
                        tx-clock = <14>;
 
                mdio@24520 {
                        #address-cells = <1>;
                        #size-cells = <0>;
-                       device_type = "mdio";
-                       compatible = "gianfar";
+                       compatible = "fsl,gianfar-mdio";
                        reg = <24520 20>;
+
                        phy0: ethernet-phy@0 {
                                interrupt-parent = <&mpic>;
                                interrupts = <5 1>;
                        };
                };
 
-               ethernet@24000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet0: ethernet@24000 {
+                       cell-index = <0>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <24000 1000>;
-                       /*
-                        * address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <1d 2 1e 2 22 2>;
                        interrupt-parent = <&mpic>;
                        phy-handle = <&phy0>;
                };
 
-               ethernet@25000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet1: ethernet@25000 {
+                       cell-index = <1>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <25000 1000>;
-                       /*
-                        * address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <23 2 24 2 28 2>;
                        interrupt-parent = <&mpic>;
                        phy-handle = <&phy1>;
                };
 
-               ethernet@26000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet2: ethernet@26000 {
+                       cell-index = <2>;
                        device_type = "network";
                        model = "FEC";
                        compatible = "gianfar";
                        reg = <26000 1000>;
-                       /*
-                        * address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <29 2>;
                        interrupt-parent = <&mpic>;
 
                mdio@24520 {
                        #address-cells = <1>;
                        #size-cells = <0>;
-                       device_type = "mdio";
-                       compatible = "gianfar";
+                       compatible = "fsl,gianfar-mdio";
                        reg = <24520 20>;
+
                        phy0: ethernet-phy@0 {
                                interrupt-parent = <&mpic>;
                                interrupts = <5 1>;
                        };
                };
 
-               ethernet@24000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet0: ethernet@24000 {
+                       cell-index = <0>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        phy-handle = <&phy0>;
                };
 
-               ethernet@25000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet1: ethernet@25000 {
+                       cell-index = <1>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
 
                mdio@24520 {
                        #address-cells = <1>;
                        #size-cells = <0>;
-                       device_type = "mdio";
-                       compatible = "gianfar";
+                       compatible = "fsl,gianfar-mdio";
                        reg = <24520 20>;
+
                        phy0: ethernet-phy@0 {
                                interrupt-parent = <&mpic>;
                                interrupts = <a 1>;
                        };
                };
 
-               ethernet@24000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet0: ethernet@24000 {
+                       cell-index = <0>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        phy-connection-type = "rgmii-id";
                };
 
-               ethernet@26000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet1: ethernet@26000 {
+                       cell-index = <1>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
 
                mdio@24520 {
                        #address-cells = <1>;
                        #size-cells = <0>;
-                       device_type = "mdio";
-                       compatible = "gianfar";
+                       compatible = "fsl,gianfar-mdio";
                        reg = <24520 20>;
+
                        phy0: ethernet-phy@0 {
                                interrupt-parent = <&mpic>;
                                interrupts = <5 1>;
                        };
                };
 
-               ethernet@24000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet0: ethernet@24000 {
+                       cell-index = <0>;
                        device_type = "network";
                        model = "eTSEC";
                        compatible = "gianfar";
                        phy-handle = <&phy0>;
                };
 
-               ethernet@25000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet1: ethernet@25000 {
+                       cell-index = <1>;
                        device_type = "network";
                        model = "eTSEC";
                        compatible = "gianfar";
                };
 
 /* eTSEC 3/4 are currently broken
-               ethernet@26000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet2: ethernet@26000 {
+                       cell-index = <2>;
                        device_type = "network";
                        model = "eTSEC";
                        compatible = "gianfar";
                        phy-handle = <&phy2>;
                };
 
-               ethernet@27000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet3: ethernet@27000 {
+                       cell-index = <3>;
                        device_type = "network";
                        model = "eTSEC";
                        compatible = "gianfar";
 
                mdio@24520 {
                        #address-cells = <1>;
                        #size-cells = <0>;
-                       device_type = "mdio";
-                       compatible = "gianfar";
+                       compatible = "fsl,gianfar-mdio";
                        reg = <24520 20>;
+
                        phy0: ethernet-phy@0 {
                                interrupt-parent = <&mpic>;
                                interrupts = <5 1>;
                        };
                };
 
-               ethernet@24000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet0: ethernet@24000 {
+                       cell-index = <0>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        phy-handle = <&phy0>;
                };
 
-               ethernet@25000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet1: ethernet@25000 {
+                       cell-index = <1>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
 
                };
 
                mdio@24520 {
-                       device_type = "mdio";
-                       compatible = "gianfar";
-                       reg = <24520 20>;
                        #address-cells = <1>;
                        #size-cells = <0>;
+                       compatible = "fsl,gianfar-mdio";
+                       reg = <24520 20>;
+
                        phy0: ethernet-phy@0 {
                                interrupt-parent = <&mpic>;
                                interrupts = <5 1>;
                        };
                };
 
-               ethernet@24000 {
+               enet0: ethernet@24000 {
+                       cell-index = <0>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <24000 1000>;
-                       /*
-                        * address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <1d 2 1e 2 22 2>;
                        interrupt-parent = <&mpic>;
                        phy-handle = <&phy0>;
                };
 
-               ethernet@25000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet1: ethernet@25000 {
+                       cell-index = <1>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <25000 1000>;
-                       /*
-                        * address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <23 2 24 2 28 2>;
                        interrupt-parent = <&mpic>;
                                interrupt-parent = <&cpmpic>;
                        };
 
-                       ethernet@91320 {
+                       enet2: ethernet@91320 {
                                device_type = "network";
                                compatible = "fsl,mpc8560-fcc-enet",
                                             "fsl,cpm2-fcc-enet";
                                reg = <91320 20 88500 100 913b0 1>;
-                               /*
-                                * mac-address is deprecated and will be removed
-                                * in 2.6.25.  Only recent versions of
-                                * U-Boot support local-mac-address, however.
-                                */
-                               mac-address = [ 00 00 00 00 00 00 ];
                                local-mac-address = [ 00 00 00 00 00 00 ];
                                fsl,cpm-command = <16200300>;
                                interrupts = <21 8>;
                                phy-handle = <&phy2>;
                        };
 
-                       ethernet@91340 {
+                       enet3: ethernet@91340 {
                                device_type = "network";
                                compatible = "fsl,mpc8560-fcc-enet",
                                             "fsl,cpm2-fcc-enet";
                                reg = <91340 20 88600 100 913d0 1>;
-                               /*
-                                * mac-address is deprecated and will be removed
-                                * in 2.6.25.  Only recent versions of
-                                * U-Boot support local-mac-address, however.
-                                */
-                               mac-address = [ 00 00 00 00 00 00 ];
                                local-mac-address = [ 00 00 00 00 00 00 ];
                                fsl,cpm-command = <1a400300>;
                                interrupts = <22 8>;
 
                mdio@24520 {
                        #address-cells = <1>;
                        #size-cells = <0>;
-                       device_type = "mdio";
-                       compatible = "gianfar";
+                       compatible = "fsl,gianfar-mdio";
                        reg = <24520 20>;
+
                        phy0: ethernet-phy@7 {
                                interrupt-parent = <&mpic>;
                                interrupts = <1 1>;
                        };
                };
 
-               ethernet@24000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet0: ethernet@24000 {
+                       cell-index = <0>;
                        device_type = "network";
                        model = "eTSEC";
                        compatible = "gianfar";
                        reg = <24000 1000>;
-                       /*
-                        * mac-address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       mac-address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <1d 2 1e 2 22 2>;
                        interrupt-parent = <&mpic>;
                        phy-handle = <&phy2>;
                };
 
-               ethernet@25000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet1: ethernet@25000 {
+                       cell-index = <1>;
                        device_type = "network";
                        model = "eTSEC";
                        compatible = "gianfar";
                        reg = <25000 1000>;
-                       /*
-                        * mac-address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       mac-address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <23 2 24 2 28 2>;
                        interrupt-parent = <&mpic>;
                        mode = "cpu";
                };
 
-               ucc@2000 {
+               enet2: ucc@2000 {
                        device_type = "network";
                        compatible = "ucc_geth";
                        model = "UCC";
+                       cell-index = <1>;
                        device-id = <1>;
                        reg = <2000 200>;
                        interrupts = <20>;
                        interrupt-parent = <&qeic>;
-                       /*
-                        * mac-address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       mac-address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        rx-clock = <0>;
                        tx-clock = <20>;
                        phy-connection-type = "rgmii-id";
                };
 
-               ucc@3000 {
+               enet3: ucc@3000 {
                        device_type = "network";
                        compatible = "ucc_geth";
                        model = "UCC";
+                       cell-index = <2>;
                        device-id = <2>;
                        reg = <3000 200>;
                        interrupts = <21>;
                        interrupt-parent = <&qeic>;
-                       /*
-                        * mac-address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       mac-address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        rx-clock = <0>;
                        tx-clock = <20>;
                        #address-cells = <1>;
                        #size-cells = <0>;
                        reg = <2120 18>;
-                       device_type = "mdio";
                        compatible = "ucc_geth_phy";
 
                        /* These are the same PHYs as on
 
                mdio@24520 {
                        #address-cells = <1>;
                        #size-cells = <0>;
-                       device_type = "mdio";
-                       compatible = "gianfar";
+                       compatible = "fsl,gianfar-mdio";
                        reg = <24520 20>;
+
                        phy0: ethernet-phy@0 {
                                interrupt-parent = <&mpic>;
                                interrupts = <a 1>;
                        };
                };
 
-               ethernet@24000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet0: ethernet@24000 {
+                       cell-index = <0>;
                        device_type = "network";
                        model = "eTSEC";
                        compatible = "gianfar";
                        phy-connection-type = "rgmii-id";
                };
 
-               ethernet@25000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet1: ethernet@25000 {
+                       cell-index = <1>;
                        device_type = "network";
                        model = "eTSEC";
                        compatible = "gianfar";
                        phy-connection-type = "rgmii-id";
                };
 
-               ethernet@26000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet2: ethernet@26000 {
+                       cell-index = <2>;
                        device_type = "network";
                        model = "eTSEC";
                        compatible = "gianfar";
                        phy-connection-type = "rgmii-id";
                };
 
-               ethernet@27000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+               enet3: ethernet@27000 {
+                       cell-index = <3>;
                        device_type = "network";
                        model = "eTSEC";
                        compatible = "gianfar";
 
                mdio@24520 {
                        #address-cells = <1>;
                        #size-cells = <0>;
-                       device_type = "mdio";
-                       compatible = "gianfar";
+                       compatible = "fsl,gianfar-mdio";
                        reg = <24520 20>;
+
                        phy0: ethernet-phy@0 {
                                interrupt-parent = <&mpic>;
                                interrupts = <a 1>;
                };
 
                enet0: ethernet@24000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+                       cell-index = <0>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <24000 1000>;
-                       /*
-                        * mac-address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       mac-address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <1d 2 1e 2 22 2>;
                        interrupt-parent = <&mpic>;
                };
 
                enet1: ethernet@25000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+                       cell-index = <1>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <25000 1000>;
-                       /*
-                        * mac-address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       mac-address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <23 2 24 2 28 2>;
                        interrupt-parent = <&mpic>;
                };
                
                enet2: ethernet@26000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+                       cell-index = <2>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <26000 1000>;
-                       /*
-                        * mac-address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       mac-address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <1F 2 20 2 21 2>;
                        interrupt-parent = <&mpic>;
                };
 
                enet3: ethernet@27000 {
-                       #address-cells = <1>;
-                       #size-cells = <0>;
+                       cell-index = <3>;
                        device_type = "network";
                        model = "TSEC";
                        compatible = "gianfar";
                        reg = <27000 1000>;
-                       /*
-                        * mac-address is deprecated and will be removed
-                        * in 2.6.25.  Only recent versions of
-                        * U-Boot support local-mac-address, however.
-                        */
-                       mac-address = [ 00 00 00 00 00 00 ];
                        local-mac-address = [ 00 00 00 00 00 00 ];
                        interrupts = <25 2 26 2 27 2>;
                        interrupt-parent = <&mpic>;
 
 
 static int __init gfar_mdio_of_init(void)
 {
-       struct device_node *np;
-       unsigned int i;
+       struct device_node *np = NULL;
        struct platform_device *mdio_dev;
        struct resource res;
        int ret;
 
-       for (np = NULL, i = 0;
-            (np = of_find_compatible_node(np, "mdio", "gianfar")) != NULL;
-            i++) {
+       np = of_find_compatible_node(np, NULL, "fsl,gianfar-mdio");
+
+       /* try the deprecated version */
+       if (!np)
+               np = of_find_compatible_node(np, "mdio", "gianfar");
+
+       if (np) {
                int k;
                struct device_node *child = NULL;
                struct gianfar_mdio_data mdio_data;
                        goto unreg;
        }
 
+       of_node_put(np);
        return 0;
 
 unreg:
        platform_device_unregister(mdio_dev);
 err:
+       of_node_put(np);
        return ret;
 }