static int dm_fec_bind_mdio(struct udevice *dev)
{
+ struct fec_priv *fec = dev_get_priv(dev);
struct udevice *mdiodev;
const char *name;
ofnode mdio;
if (strcmp(name, "mdio"))
continue;
+ fec_set_dev_name(fec->mdio_name, dev_seq(dev));
ret = device_bind_driver_to_node(dev, "fec_mdio",
- name, mdio, &mdiodev);
+ fec->mdio_name, mdio, &mdiodev);
if (ret) {
printf("%s bind %s failed: %d\n", __func__, name, ret);
break;
*/
ret = dm_fec_bind_mdio(dev);
if (!ret)
- bus = miiphy_get_dev_by_name("mdio");
+ bus = miiphy_get_dev_by_name(priv->mdio_name);
else if (ret != -ENODEV)
return ret;
#endif
int (*mii_postcall)(int);
#endif
#ifdef CONFIG_DM_MDIO
+ char mdio_name[MDIO_NAME_LEN];
struct udevice *mdio_bus;
#endif
#ifdef CONFIG_DM_REGULATOR