Adjust cpsw for linux 4.20 device tree changes.

5f681f41fe17 ARM: dts: am335x: Replace remaining legacy phy_id with phy-handle
e99c4d576254 ARM: dts: dra62x-j5eco-evm: get rid of phy_id property
3a25128c02f6 ARM: dts: dm8148-t410: get rid of phy_id property
abf878ddfdf2 ARM: dts: dm8148-evm: get rid of phy_id property
2ac921dc010a ARM: dts: am57xx-cl-som-am57x: get rid of phy_id property
adfcf71b9f5c ARM: dts: am57xx-idk-common: get rid of phy_id property
4d80b7c5077b ARM: dts: dra7-evm: get rid of phy_id property
c4ab24684565 ARM: dts: dra71-evm: get rid of phy_id property
f1934c90a2cb ARM: dts: dra72-evm-revc: get rid of phy_id property
24e0023c6005 ARM: dts: dra72-evm: get rid of phy_id property
5180679c9a9d ARM: dts: dra76-evm: get rid of phy_id property
04f48434dce0 ARM: dts: am437x-cm-t43: get rid of phy_id property
cfd91db31fbf ARM: dts: am437x-gp-evm: get rid of phy_id property
c0af07883c2c ARM: dts: am437x-idk-evm: get rid of phy_id property
7c0373b16f04 ARM: dts: am437x-sk-evm: get rid of phy_id property
5925ae235418 ARM: dts: am43x-epos-evm: get rid of phy_id property
4d8b032d3c03 ARM: dts: am335x-bone-common: get rid of phy_id property
8cd1cc3f7c0a ARM: dts: am335x-chiliboard: get rid of phy_id property
0d175556e2e4 ARM: dts: am335x-cm-t335: get rid of phy_id property
53c2c22b8cfa ARM: dts: am335x-evmsk: get rid of phy_id property
d9312570d5d1 ARM: dts: am335x-igep0033: get rid of phy_id property
5ec73320abd7 ARM: dts: am335x-lxm: get rid of phy_id property
5ef346bb8092 ARM: dts: am335x-moxa-uc-8100-me-t: get rid of phy_id property
25245c44d4d7 ARM: dts: am335x-nano: get rid of phy_id property
4f9584518f24 ARM: dts: am335x-pdu001: get rid of phy_id property
9e19b4bd012b ARM: dts: am335x-pepper: get rid of phy_id property
769de05b2ae4 ARM: dts: am335x-shc: get rid of phy_id property

Index: if_cpsw.c
===================================================================
RCS file: /cvs/src/sys/arch/armv7/omap/if_cpsw.c,v
retrieving revision 1.43
diff -u -p -r1.43 if_cpsw.c
--- if_cpsw.c   30 Apr 2017 16:45:45 -0000      1.43
+++ if_cpsw.c   23 Dec 2018 05:18:05 -0000
@@ -1285,7 +1285,7 @@ cpsw_get_port_config(struct cpsw_port_co
 {
        char mode[32];
        uint32_t phy_id[2];
-       int node;
+       int node, phy_handle, phy_node;
        int port = 0;
 
        for (node = OF_child(pnode); node; node = OF_peer(node)) {
@@ -1298,6 +1298,13 @@ cpsw_get_port_config(struct cpsw_port_co
                if (OF_getpropintarray(node, "phy_id", phy_id,
                    sizeof(phy_id)) == sizeof(phy_id))
                        conf[port].phy_id = phy_id[1];
+               else if ((phy_handle =
+                   OF_getpropint(node, "phy-handle", 0)) != 0) {
+                       phy_node = OF_getnodebyphandle(phy_handle);
+                       if (phy_node)
+                               conf[port].phy_id = OF_getpropint(phy_node,
+                                   "reg", MII_PHY_ANY);
+               }
 
                if (OF_getprop(node, "phy-mode", mode, sizeof(mode)) > 0 &&
                    !strcmp(mode, "rgmii"))

Reply via email to