> +     phy_np = of_parse_phandle(np, "phy-handle", 0);
> +     if (phy_np) {
> +             ret = of_property_read_u32(phy_np, "reg", &val);
> +             if (ret) {
> +                     dev_err(dev, "cannot find phy reg\n");
> +                     return NULL;
> +             }
> +             of_node_put(phy_np);
> +     } else {
> +             dev_err(dev, "cannot find phy instance\n");
> +             val = 0;
> +     }
> +     plat->phy = val;

phy-handle can point to a PHY on any bus. You should not assume it is
the devices own bus. Once you have phy_np call of_phy_find_device()
which gives you the actual phy device. Please don't let the
limitations of the current platform data limit you from implementing
this correctly.

      Andrew

Reply via email to