if (ret)
                return ret;
 
-       /* Check for an interconnect path for the bus */
-       gpu->icc_path = of_icc_get(dev, "gfx-mem");
-       if (!gpu->icc_path) {
-               /*
-                * Keep compatbility with device trees that don't have an
-                * interconnect-names property.
-                */
+       /*
+        * The legacy case, before "interconnect-names", only has a
+        * single interconnect path which is equivalent to "gfx-mem"
+        */
+       if (!of_find_property(dev->of_node, "interconnect-names", NULL)) {
                gpu->icc_path = of_icc_get(dev, NULL);
+       } else {
+               gpu->icc_path = of_icc_get(dev, "gfx-mem");
+               gpu->ocmem_icc_path = of_icc_get(dev, "ocmem");
        }
+
        if (IS_ERR(gpu->icc_path)) {
                ret = PTR_ERR(gpu->icc_path);
                gpu->icc_path = NULL;
                return ret;
        }
 
-       gpu->ocmem_icc_path = of_icc_get(dev, "ocmem");
        if (IS_ERR(gpu->ocmem_icc_path)) {
                ret = PTR_ERR(gpu->ocmem_icc_path);
                gpu->ocmem_icc_path = NULL;
                if (ret != -ENODATA)
                        return ret;
        }
+
        return 0;
 }