diff --git a/drivers/net/ag7xxx.c b/drivers/net/ag7xxx.c
index 5176efa..c16dff9 100644
--- a/drivers/net/ag7xxx.c
+++ b/drivers/net/ag7xxx.c
@@ -1250,7 +1250,7 @@
 	.write_hwaddr		= ag7xxx_eth_write_hwaddr,
 };
 
-static int ag7xxx_eth_ofdata_to_platdata(struct udevice *dev)
+static int ag7xxx_eth_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	const char *phy_mode;
@@ -1287,7 +1287,7 @@
 	.name		= "eth_ag7xxx",
 	.id		= UCLASS_ETH,
 	.of_match	= ag7xxx_eth_ids,
-	.ofdata_to_platdata = ag7xxx_eth_ofdata_to_platdata,
+	.of_to_plat = ag7xxx_eth_of_to_plat,
 	.probe		= ag7xxx_eth_probe,
 	.remove		= ag7xxx_eth_remove,
 	.ops		= &ag7xxx_eth_ops,
diff --git a/drivers/net/altera_tse.c b/drivers/net/altera_tse.c
index b7ed694..456b7b9 100644
--- a/drivers/net/altera_tse.c
+++ b/drivers/net/altera_tse.c
@@ -672,7 +672,7 @@
 	return ret;
 }
 
-static int altera_tse_ofdata_to_platdata(struct udevice *dev)
+static int altera_tse_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	const char *phy_mode;
@@ -710,7 +710,7 @@
 	.id	= UCLASS_ETH,
 	.of_match = altera_tse_ids,
 	.ops	= &altera_tse_ops,
-	.ofdata_to_platdata = altera_tse_ofdata_to_platdata,
+	.of_to_plat = altera_tse_of_to_plat,
 	.plat_auto	= sizeof(struct eth_pdata),
 	.priv_auto	= sizeof(struct altera_tse_priv),
 	.probe	= altera_tse_probe,
diff --git a/drivers/net/bcmgenet.c b/drivers/net/bcmgenet.c
index 1627e93..6783956 100644
--- a/drivers/net/bcmgenet.c
+++ b/drivers/net/bcmgenet.c
@@ -685,7 +685,7 @@
 	.stop                   = bcmgenet_gmac_eth_stop,
 };
 
-static int bcmgenet_eth_ofdata_to_platdata(struct udevice *dev)
+static int bcmgenet_eth_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	struct bcmgenet_eth_priv *priv = dev_get_priv(dev);
@@ -729,7 +729,7 @@
 	.name   = "eth_bcmgenet",
 	.id     = UCLASS_ETH,
 	.of_match = bcmgenet_eth_ids,
-	.ofdata_to_platdata = bcmgenet_eth_ofdata_to_platdata,
+	.of_to_plat = bcmgenet_eth_of_to_plat,
 	.probe  = bcmgenet_eth_probe,
 	.ops    = &bcmgenet_gmac_eth_ops,
 	.priv_auto	= sizeof(struct bcmgenet_eth_priv),
diff --git a/drivers/net/designware.c b/drivers/net/designware.c
index c0e5c0b..9dba55a 100644
--- a/drivers/net/designware.c
+++ b/drivers/net/designware.c
@@ -811,7 +811,7 @@
 	.write_hwaddr		= designware_eth_write_hwaddr,
 };
 
-int designware_eth_ofdata_to_platdata(struct udevice *dev)
+int designware_eth_of_to_plat(struct udevice *dev)
 {
 	struct dw_eth_pdata *dw_pdata = dev_get_plat(dev);
 #if CONFIG_IS_ENABLED(DM_GPIO)
@@ -868,7 +868,7 @@
 	.name	= "eth_designware",
 	.id	= UCLASS_ETH,
 	.of_match = designware_eth_ids,
-	.ofdata_to_platdata = designware_eth_ofdata_to_platdata,
+	.of_to_plat = designware_eth_of_to_plat,
 	.bind	= designware_eth_bind,
 	.probe	= designware_eth_probe,
 	.remove	= designware_eth_remove,
diff --git a/drivers/net/designware.h b/drivers/net/designware.h
index ffaf5a1..a82afb9 100644
--- a/drivers/net/designware.h
+++ b/drivers/net/designware.h
@@ -251,7 +251,7 @@
 };
 
 #ifdef CONFIG_DM_ETH
-int designware_eth_ofdata_to_platdata(struct udevice *dev);
+int designware_eth_of_to_plat(struct udevice *dev);
 int designware_eth_probe(struct udevice *dev);
 extern const struct eth_ops designware_eth_ops;
 
diff --git a/drivers/net/dwmac_s700.c b/drivers/net/dwmac_s700.c
index adb865d..efe3d1d 100644
--- a/drivers/net/dwmac_s700.c
+++ b/drivers/net/dwmac_s700.c
@@ -44,9 +44,9 @@
 	return designware_eth_probe(dev);
 }
 
-static int dwmac_s700_ofdata_to_platdata(struct udevice *dev)
+static int dwmac_s700_of_to_plat(struct udevice *dev)
 {
-	return designware_eth_ofdata_to_platdata(dev);
+	return designware_eth_of_to_plat(dev);
 }
 
 static const struct udevice_id dwmac_s700_ids[] = {
@@ -58,7 +58,7 @@
 	.name   = "dwmac_s700",
 	.id     = UCLASS_ETH,
 	.of_match = dwmac_s700_ids,
-	.ofdata_to_platdata = dwmac_s700_ofdata_to_platdata,
+	.of_to_plat = dwmac_s700_of_to_plat,
 	.probe  = dwmac_s700_probe,
 	.ops    = &designware_eth_ops,
 	.priv_auto	= sizeof(struct dw_eth_dev),
diff --git a/drivers/net/dwmac_socfpga.c b/drivers/net/dwmac_socfpga.c
index a3cd4d5..6171dad 100644
--- a/drivers/net/dwmac_socfpga.c
+++ b/drivers/net/dwmac_socfpga.c
@@ -25,7 +25,7 @@
 	u32			reg_shift;
 };
 
-static int dwmac_socfpga_ofdata_to_platdata(struct udevice *dev)
+static int dwmac_socfpga_of_to_plat(struct udevice *dev)
 {
 	struct dwmac_socfpga_platdata *pdata = dev_get_plat(dev);
 	struct regmap *regmap;
@@ -61,7 +61,7 @@
 	pdata->phy_intf = range + args.args[0];
 	pdata->reg_shift = args.args[1];
 
-	return designware_eth_ofdata_to_platdata(dev);
+	return designware_eth_of_to_plat(dev);
 }
 
 static int dwmac_socfpga_probe(struct udevice *dev)
@@ -115,7 +115,7 @@
 	.name		= "dwmac_socfpga",
 	.id		= UCLASS_ETH,
 	.of_match	= dwmac_socfpga_ids,
-	.ofdata_to_platdata = dwmac_socfpga_ofdata_to_platdata,
+	.of_to_plat = dwmac_socfpga_of_to_plat,
 	.probe		= dwmac_socfpga_probe,
 	.ops		= &designware_eth_ops,
 	.priv_auto	= sizeof(struct dw_eth_dev),
diff --git a/drivers/net/ethoc.c b/drivers/net/ethoc.c
index 53c2d23..7f146d4 100644
--- a/drivers/net/ethoc.c
+++ b/drivers/net/ethoc.c
@@ -685,7 +685,7 @@
 	ethoc_stop_common(dev_get_priv(dev));
 }
 
-static int ethoc_ofdata_to_platdata(struct udevice *dev)
+static int ethoc_of_to_plat(struct udevice *dev)
 {
 	struct ethoc_eth_pdata *pdata = dev_get_plat(dev);
 	fdt_addr_t addr;
@@ -746,7 +746,7 @@
 	.name				= "ethoc",
 	.id				= UCLASS_ETH,
 	.of_match			= ethoc_ids,
-	.ofdata_to_platdata		= ethoc_ofdata_to_platdata,
+	.of_to_plat		= ethoc_of_to_plat,
 	.probe				= ethoc_probe,
 	.remove				= ethoc_remove,
 	.ops				= &ethoc_ops,
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c
index 88ee176..2ba5481 100644
--- a/drivers/net/fec_mxc.c
+++ b/drivers/net/fec_mxc.c
@@ -1527,7 +1527,7 @@
 	return 0;
 }
 
-static int fecmxc_ofdata_to_platdata(struct udevice *dev)
+static int fecmxc_of_to_plat(struct udevice *dev)
 {
 	int ret = 0;
 	struct eth_pdata *pdata = dev_get_plat(dev);
@@ -1593,7 +1593,7 @@
 	.name	= "fecmxc",
 	.id	= UCLASS_ETH,
 	.of_match = fecmxc_ids,
-	.ofdata_to_platdata = fecmxc_ofdata_to_platdata,
+	.of_to_plat = fecmxc_of_to_plat,
 	.probe	= fecmxc_probe,
 	.remove	= fecmxc_remove,
 	.ops	= &fecmxc_ops,
diff --git a/drivers/net/fsl_mcdmafec.c b/drivers/net/fsl_mcdmafec.c
index b5610d3..efe8251 100644
--- a/drivers/net/fsl_mcdmafec.c
+++ b/drivers/net/fsl_mcdmafec.c
@@ -491,7 +491,7 @@
 };
 
 /*
- * Boot sequence, called just after mcffec_ofdata_to_platdata,
+ * Boot sequence, called just after mcffec_of_to_plat,
  * as DM way, it replaces old mcffec_initialize.
  */
 static int mcdmafec_probe(struct udevice *dev)
@@ -565,7 +565,7 @@
 /*
  * Boot sequence, called 1st
  */
-static int mcdmafec_ofdata_to_platdata(struct udevice *dev)
+static int mcdmafec_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	const u32 *val;
@@ -590,7 +590,7 @@
 	.name	= "mcdmafec",
 	.id	= UCLASS_ETH,
 	.of_match = mcdmafec_ids,
-	.ofdata_to_platdata = mcdmafec_ofdata_to_platdata,
+	.of_to_plat = mcdmafec_of_to_plat,
 	.probe	= mcdmafec_probe,
 	.remove	= mcdmafec_remove,
 	.ops	= &mcdmafec_ops,
diff --git a/drivers/net/ftgmac100.c b/drivers/net/ftgmac100.c
index b462410..3931d2c 100644
--- a/drivers/net/ftgmac100.c
+++ b/drivers/net/ftgmac100.c
@@ -511,7 +511,7 @@
 	return ftgmac100_set_mac(priv, pdata->enetaddr);
 }
 
-static int ftgmac100_ofdata_to_platdata(struct udevice *dev)
+static int ftgmac100_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	struct ftgmac100_data *priv = dev_get_priv(dev);
@@ -609,7 +609,7 @@
 	.name	= "ftgmac100",
 	.id	= UCLASS_ETH,
 	.of_match = ftgmac100_ids,
-	.ofdata_to_platdata = ftgmac100_ofdata_to_platdata,
+	.of_to_plat = ftgmac100_of_to_plat,
 	.probe	= ftgmac100_probe,
 	.remove = ftgmac100_remove,
 	.ops	= &ftgmac100_ops,
diff --git a/drivers/net/ftmac100.c b/drivers/net/ftmac100.c
index 5c2887e..0d67237 100644
--- a/drivers/net/ftmac100.c
+++ b/drivers/net/ftmac100.c
@@ -393,7 +393,7 @@
 	return NULL;
 }
 
-static int ftmac100_ofdata_to_platdata(struct udevice *dev)
+static int ftmac100_of_to_plat(struct udevice *dev)
 {
 	struct ftmac100_data *priv = dev_get_priv(dev);
 	struct eth_pdata *pdata = dev_get_plat(dev);
@@ -437,7 +437,7 @@
 	.id	= UCLASS_ETH,
 	.of_match = ftmac100_ids,
 	.bind	= ftmac100_bind,
-	.ofdata_to_platdata = ftmac100_ofdata_to_platdata,
+	.of_to_plat = ftmac100_of_to_plat,
 	.probe	= ftmac100_probe,
 	.ops	= &ftmac100_ops,
 	.priv_auto	= sizeof(struct ftmac100_data),
diff --git a/drivers/net/gmac_rockchip.c b/drivers/net/gmac_rockchip.c
index 2d94223..0073cb3 100644
--- a/drivers/net/gmac_rockchip.c
+++ b/drivers/net/gmac_rockchip.c
@@ -53,7 +53,7 @@
 };
 
 
-static int gmac_rockchip_ofdata_to_platdata(struct udevice *dev)
+static int gmac_rockchip_of_to_plat(struct udevice *dev)
 {
 	struct gmac_rockchip_platdata *pdata = dev_get_plat(dev);
 	const char *string;
@@ -74,7 +74,7 @@
 	if (pdata->rx_delay == -ENOENT)
 		pdata->rx_delay = dev_read_u32_default(dev, "rx-delay", 0x10);
 
-	return designware_eth_ofdata_to_platdata(dev);
+	return designware_eth_of_to_plat(dev);
 }
 
 static int px30_gmac_fix_mac_speed(struct dw_eth_dev *priv)
@@ -756,7 +756,7 @@
 	.name	= "gmac_rockchip",
 	.id	= UCLASS_ETH,
 	.of_match = rockchip_gmac_ids,
-	.ofdata_to_platdata = gmac_rockchip_ofdata_to_platdata,
+	.of_to_plat = gmac_rockchip_of_to_plat,
 	.probe	= gmac_rockchip_probe,
 	.ops	= &gmac_rockchip_eth_ops,
 	.priv_auto	= sizeof(struct dw_eth_dev),
diff --git a/drivers/net/higmacv300.c b/drivers/net/higmacv300.c
index 1cc466f..dab2f60 100644
--- a/drivers/net/higmacv300.c
+++ b/drivers/net/higmacv300.c
@@ -558,7 +558,7 @@
 	return 0;
 }
 
-static int higmac_ofdata_to_platdata(struct udevice *dev)
+static int higmac_of_to_plat(struct udevice *dev)
 {
 	struct higmac_priv *priv = dev_get_priv(dev);
 	int phyintf = PHY_INTERFACE_MODE_NONE;
@@ -594,7 +594,7 @@
 	.name	= "eth_higmac",
 	.id	= UCLASS_ETH,
 	.of_match = higmac_ids,
-	.ofdata_to_platdata = higmac_ofdata_to_platdata,
+	.of_to_plat = higmac_of_to_plat,
 	.probe	= higmac_probe,
 	.remove	= higmac_remove,
 	.ops	= &higmac_ops,
diff --git a/drivers/net/ks8851_mll.c b/drivers/net/ks8851_mll.c
index 05ef1ab..91c2d10 100644
--- a/drivers/net/ks8851_mll.c
+++ b/drivers/net/ks8851_mll.c
@@ -665,7 +665,7 @@
 	return 0;
 }
 
-static int ks8851_ofdata_to_platdata(struct udevice *dev)
+static int ks8851_of_to_plat(struct udevice *dev)
 {
 	struct ks_net *ks = dev_get_priv(dev);
 	struct eth_pdata *pdata = dev_get_plat(dev);
@@ -695,7 +695,7 @@
 	.id		= UCLASS_ETH,
 	.of_match	= ks8851_ids,
 	.bind		= ks8851_bind,
-	.ofdata_to_platdata = ks8851_ofdata_to_platdata,
+	.of_to_plat = ks8851_of_to_plat,
 	.probe		= ks8851_probe,
 	.ops		= &ks8851_ops,
 	.priv_auto	= sizeof(struct ks_net),
diff --git a/drivers/net/ldpaa_eth/ldpaa_eth.c b/drivers/net/ldpaa_eth/ldpaa_eth.c
index cd2e4e0..ef013c9 100644
--- a/drivers/net/ldpaa_eth/ldpaa_eth.c
+++ b/drivers/net/ldpaa_eth/ldpaa_eth.c
@@ -1160,7 +1160,7 @@
 	return 0;
 }
 
-static int ldpaa_eth_ofdata_to_platdata(struct udevice *dev)
+static int ldpaa_eth_of_to_plat(struct udevice *dev)
 {
 	struct ldpaa_eth_priv *priv = dev_get_priv(dev);
 	const char *phy_mode_str;
@@ -1187,7 +1187,7 @@
 	.name = "ldpaa_eth",
 	.id = UCLASS_ETH,
 	.of_match = ldpaa_eth_of_ids,
-	.ofdata_to_platdata = ldpaa_eth_ofdata_to_platdata,
+	.of_to_plat = ldpaa_eth_of_to_plat,
 	.bind = ldpaa_eth_bind,
 	.probe = ldpaa_eth_probe,
 	.ops = &ldpaa_eth_ops,
diff --git a/drivers/net/macb.c b/drivers/net/macb.c
index dd23591..e287c29 100644
--- a/drivers/net/macb.c
+++ b/drivers/net/macb.c
@@ -1283,17 +1283,17 @@
 }
 
 /**
- * macb_late_eth_ofdata_to_platdata
+ * macb_late_eth_of_to_plat
  * @dev:	udevice struct
  * Returns 0 when operation success and negative errno number
  * when operation failed.
  */
-int __weak macb_late_eth_ofdata_to_platdata(struct udevice *dev)
+int __weak macb_late_eth_of_to_plat(struct udevice *dev)
 {
 	return 0;
 }
 
-static int macb_eth_ofdata_to_platdata(struct udevice *dev)
+static int macb_eth_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 
@@ -1301,7 +1301,7 @@
 	if (!pdata->iobase)
 		return -EINVAL;
 
-	return macb_late_eth_ofdata_to_platdata(dev);
+	return macb_late_eth_of_to_plat(dev);
 }
 
 static const struct macb_config sama5d4_config = {
@@ -1331,7 +1331,7 @@
 	.name	= "eth_macb",
 	.id	= UCLASS_ETH,
 	.of_match = macb_eth_ids,
-	.ofdata_to_platdata = macb_eth_ofdata_to_platdata,
+	.of_to_plat = macb_eth_of_to_plat,
 	.probe	= macb_eth_probe,
 	.remove	= macb_eth_remove,
 	.ops	= &macb_eth_ops,
diff --git a/drivers/net/mcffec.c b/drivers/net/mcffec.c
index ca72888..b1ddde4 100644
--- a/drivers/net/mcffec.c
+++ b/drivers/net/mcffec.c
@@ -513,7 +513,7 @@
 };
 
 /*
- * Boot sequence, called just after mcffec_ofdata_to_platdata,
+ * Boot sequence, called just after mcffec_of_to_plat,
  * as DM way, it replaces old mcffec_initialize.
  */
 static int mcffec_probe(struct udevice *dev)
@@ -584,7 +584,7 @@
 /*
  * Boot sequence, called 1st
  */
-static int mcffec_ofdata_to_platdata(struct udevice *dev)
+static int mcffec_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	const u32 *val;
@@ -610,7 +610,7 @@
 	.name	= "mcffec",
 	.id	= UCLASS_ETH,
 	.of_match = mcffec_ids,
-	.ofdata_to_platdata = mcffec_ofdata_to_platdata,
+	.of_to_plat = mcffec_of_to_plat,
 	.probe	= mcffec_probe,
 	.remove	= mcffec_remove,
 	.ops	= &mcffec_ops,
diff --git a/drivers/net/mtk_eth.c b/drivers/net/mtk_eth.c
index 2741439..26f0284 100644
--- a/drivers/net/mtk_eth.c
+++ b/drivers/net/mtk_eth.c
@@ -1407,7 +1407,7 @@
 	return 0;
 }
 
-static int mtk_eth_ofdata_to_platdata(struct udevice *dev)
+static int mtk_eth_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	struct mtk_eth_priv *priv = dev_get_priv(dev);
@@ -1558,7 +1558,7 @@
 	.name = "mtk-eth",
 	.id = UCLASS_ETH,
 	.of_match = mtk_eth_ids,
-	.ofdata_to_platdata = mtk_eth_ofdata_to_platdata,
+	.of_to_plat = mtk_eth_of_to_plat,
 	.plat_auto	= sizeof(struct eth_pdata),
 	.probe = mtk_eth_probe,
 	.remove = mtk_eth_remove,
diff --git a/drivers/net/mvgbe.c b/drivers/net/mvgbe.c
index bf800a8..2452859 100644
--- a/drivers/net/mvgbe.c
+++ b/drivers/net/mvgbe.c
@@ -986,7 +986,7 @@
 	.write_hwaddr	= mvgbe_write_hwaddr,
 };
 
-static int mvgbe_ofdata_to_platdata(struct udevice *dev)
+static int mvgbe_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	struct mvgbe_device *dmvgbe = dev_get_priv(dev);
@@ -1038,7 +1038,7 @@
 	.name	= "mvgbe",
 	.id	= UCLASS_ETH,
 	.of_match = mvgbe_ids,
-	.ofdata_to_platdata = mvgbe_ofdata_to_platdata,
+	.of_to_plat = mvgbe_of_to_plat,
 	.probe	= mvgbe_probe,
 	.ops	= &mvgbe_ops,
 	.priv_auto	= sizeof(struct mvgbe_device),
diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c
index 84426ef..3192cf5 100644
--- a/drivers/net/mvneta.c
+++ b/drivers/net/mvneta.c
@@ -1732,7 +1732,7 @@
 	else
 		mvneta_conf_mbus_windows(pp);
 
-	/* PHY interface is already decoded in mvneta_ofdata_to_platdata() */
+	/* PHY interface is already decoded in mvneta_of_to_plat() */
 	pp->phy_interface = pdata->phy_interface;
 
 	/* fetch 'fixed-link' property from 'neta' node */
@@ -1795,7 +1795,7 @@
 	.write_hwaddr	= mvneta_write_hwaddr,
 };
 
-static int mvneta_ofdata_to_platdata(struct udevice *dev)
+static int mvneta_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	const char *phy_mode;
@@ -1827,7 +1827,7 @@
 	.name	= "mvneta",
 	.id	= UCLASS_ETH,
 	.of_match = mvneta_ids,
-	.ofdata_to_platdata = mvneta_ofdata_to_platdata,
+	.of_to_plat = mvneta_of_to_plat,
 	.probe	= mvneta_probe,
 	.ops	= &mvneta_ops,
 	.priv_auto	= sizeof(struct mvneta_port),
diff --git a/drivers/net/qe/dm_qe_uec.c b/drivers/net/qe/dm_qe_uec.c
index 372926e..a33068c 100644
--- a/drivers/net/qe/dm_qe_uec.c
+++ b/drivers/net/qe/dm_qe_uec.c
@@ -1129,7 +1129,7 @@
 	return 0;
 }
 
-static int qe_uec_ofdata_to_platdata(struct udevice *dev)
+static int qe_uec_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	const char *phy_mode;
@@ -1158,7 +1158,7 @@
 	.name	= QE_UEC_DRIVER_NAME,
 	.id	= UCLASS_ETH,
 	.of_match = qe_uec_ids,
-	.ofdata_to_platdata = qe_uec_ofdata_to_platdata,
+	.of_to_plat = qe_uec_of_to_plat,
 	.probe	= qe_uec_probe,
 	.remove = qe_uec_remove,
 	.ops	= &qe_uec_eth_ops,
diff --git a/drivers/net/ravb.c b/drivers/net/ravb.c
index 692cd57..34e2b8f 100644
--- a/drivers/net/ravb.c
+++ b/drivers/net/ravb.c
@@ -642,7 +642,7 @@
 	.write_hwaddr		= ravb_write_hwaddr,
 };
 
-int ravb_ofdata_to_platdata(struct udevice *dev)
+int ravb_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	const char *phy_mode;
@@ -685,7 +685,7 @@
 	.name		= "ravb",
 	.id		= UCLASS_ETH,
 	.of_match	= ravb_ids,
-	.ofdata_to_platdata = ravb_ofdata_to_platdata,
+	.of_to_plat = ravb_of_to_plat,
 	.probe		= ravb_probe,
 	.remove		= ravb_remove,
 	.ops		= &ravb_ops,
diff --git a/drivers/net/sandbox-raw.c b/drivers/net/sandbox-raw.c
index 7a8bc15..8273f73 100644
--- a/drivers/net/sandbox-raw.c
+++ b/drivers/net/sandbox-raw.c
@@ -149,7 +149,7 @@
 	.read_rom_hwaddr	= sb_eth_raw_read_rom_hwaddr,
 };
 
-static int sb_eth_raw_ofdata_to_platdata(struct udevice *dev)
+static int sb_eth_raw_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	struct eth_sandbox_raw_priv *priv = dev_get_priv(dev);
@@ -191,7 +191,7 @@
 	.name	= "eth_sandbox_raw",
 	.id	= UCLASS_ETH,
 	.of_match = sb_eth_raw_ids,
-	.ofdata_to_platdata = sb_eth_raw_ofdata_to_platdata,
+	.of_to_plat = sb_eth_raw_of_to_plat,
 	.ops	= &sb_eth_raw_ops,
 	.priv_auto	= sizeof(struct eth_sandbox_raw_priv),
 	.plat_auto	= sizeof(struct eth_pdata),
diff --git a/drivers/net/sandbox.c b/drivers/net/sandbox.c
index a672333..a389e2b 100644
--- a/drivers/net/sandbox.c
+++ b/drivers/net/sandbox.c
@@ -414,7 +414,7 @@
 	return 0;
 }
 
-static int sb_eth_ofdata_to_platdata(struct udevice *dev)
+static int sb_eth_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	struct eth_sandbox_priv *priv = dev_get_priv(dev);
@@ -443,7 +443,7 @@
 	.name	= "eth_sandbox",
 	.id	= UCLASS_ETH,
 	.of_match = sb_eth_ids,
-	.ofdata_to_platdata = sb_eth_ofdata_to_platdata,
+	.of_to_plat = sb_eth_of_to_plat,
 	.remove	= sb_eth_remove,
 	.ops	= &sb_eth_ops,
 	.priv_auto	= sizeof(struct eth_sandbox_priv),
diff --git a/drivers/net/sh_eth.c b/drivers/net/sh_eth.c
index 147b36e..1666a8c 100644
--- a/drivers/net/sh_eth.c
+++ b/drivers/net/sh_eth.c
@@ -911,7 +911,7 @@
 	.write_hwaddr		= sh_ether_write_hwaddr,
 };
 
-int sh_ether_ofdata_to_platdata(struct udevice *dev)
+int sh_ether_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	const char *phy_mode;
@@ -953,7 +953,7 @@
 	.name		= "sh_ether",
 	.id		= UCLASS_ETH,
 	.of_match	= sh_ether_ids,
-	.ofdata_to_platdata = sh_ether_ofdata_to_platdata,
+	.of_to_plat = sh_ether_of_to_plat,
 	.probe		= sh_ether_probe,
 	.remove		= sh_ether_remove,
 	.ops		= &sh_ether_ops,
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index e3057a9..7b79831 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -607,7 +607,7 @@
 	return 0;
 }
 
-static int smc911x_ofdata_to_platdata(struct udevice *dev)
+static int smc911x_of_to_plat(struct udevice *dev)
 {
 	struct smc911x_priv *priv = dev_get_priv(dev);
 	struct eth_pdata *pdata = dev_get_plat(dev);
@@ -636,7 +636,7 @@
 	.id		= UCLASS_ETH,
 	.of_match	= smc911x_ids,
 	.bind		= smc911x_bind,
-	.ofdata_to_platdata = smc911x_ofdata_to_platdata,
+	.of_to_plat = smc911x_of_to_plat,
 	.probe		= smc911x_probe,
 	.ops		= &smc911x_ops,
 	.priv_auto	= sizeof(struct smc911x_priv),
diff --git a/drivers/net/sni_ave.c b/drivers/net/sni_ave.c
index 9a1b2eb..0ebe86a 100644
--- a/drivers/net/sni_ave.c
+++ b/drivers/net/sni_ave.c
@@ -732,7 +732,7 @@
 	return 0;
 }
 
-static int ave_ofdata_to_platdata(struct udevice *dev)
+static int ave_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	struct ave_private *priv = dev_get_priv(dev);
@@ -996,7 +996,7 @@
 	.of_match = ave_ids,
 	.probe	  = ave_probe,
 	.remove	  = ave_remove,
-	.ofdata_to_platdata = ave_ofdata_to_platdata,
+	.of_to_plat = ave_of_to_plat,
 	.ops	  = &ave_ops,
 	.priv_auto	= sizeof(struct ave_private),
 	.plat_auto	= sizeof(struct eth_pdata),
diff --git a/drivers/net/sun8i_emac.c b/drivers/net/sun8i_emac.c
index a9d04eb..cf15e9f 100644
--- a/drivers/net/sun8i_emac.c
+++ b/drivers/net/sun8i_emac.c
@@ -861,7 +861,7 @@
 	return 0;
 }
 
-static int sun8i_emac_eth_ofdata_to_platdata(struct udevice *dev)
+static int sun8i_emac_eth_of_to_plat(struct udevice *dev)
 {
 	struct sun8i_eth_pdata *sun8i_pdata = dev_get_plat(dev);
 	struct eth_pdata *pdata = &sun8i_pdata->eth_pdata;
@@ -1001,7 +1001,7 @@
 	.name   = "eth_sun8i_emac",
 	.id     = UCLASS_ETH,
 	.of_match = sun8i_emac_eth_ids,
-	.ofdata_to_platdata = sun8i_emac_eth_ofdata_to_platdata,
+	.of_to_plat = sun8i_emac_eth_of_to_plat,
 	.probe  = sun8i_emac_eth_probe,
 	.ops    = &sun8i_emac_eth_ops,
 	.priv_auto	= sizeof(struct emac_eth_dev),
diff --git a/drivers/net/sunxi_emac.c b/drivers/net/sunxi_emac.c
index 1b01a47..7c6ae3c 100644
--- a/drivers/net/sunxi_emac.c
+++ b/drivers/net/sunxi_emac.c
@@ -591,7 +591,7 @@
 	.stop			= sunxi_emac_eth_stop,
 };
 
-static int sunxi_emac_eth_ofdata_to_platdata(struct udevice *dev)
+static int sunxi_emac_eth_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 
@@ -609,7 +609,7 @@
 	.name	= "eth_sunxi_emac",
 	.id	= UCLASS_ETH,
 	.of_match = sunxi_emac_eth_ids,
-	.ofdata_to_platdata = sunxi_emac_eth_ofdata_to_platdata,
+	.of_to_plat = sunxi_emac_eth_of_to_plat,
 	.probe	= sunxi_emac_eth_probe,
 	.ops	= &sunxi_emac_eth_ops,
 	.priv_auto	= sizeof(struct emac_eth_dev),
diff --git a/drivers/net/ti/cpsw.c b/drivers/net/ti/cpsw.c
index 9aa1858..68f4191 100644
--- a/drivers/net/ti/cpsw.c
+++ b/drivers/net/ti/cpsw.c
@@ -1223,7 +1223,7 @@
 							"max-speed", 0);
 }
 
-static int cpsw_eth_ofdata_to_platdata(struct udevice *dev)
+static int cpsw_eth_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	struct cpsw_platform_data *data;
@@ -1377,7 +1377,7 @@
 	.id	= UCLASS_ETH,
 #if CONFIG_IS_ENABLED(OF_CONTROL)
 	.of_match = cpsw_eth_ids,
-	.ofdata_to_platdata = cpsw_eth_ofdata_to_platdata,
+	.of_to_plat = cpsw_eth_of_to_plat,
 	.plat_auto	= sizeof(struct eth_pdata),
 #endif
 	.probe	= cpsw_eth_probe,
diff --git a/drivers/net/ti/keystone_net.c b/drivers/net/ti/keystone_net.c
index 8e9eca1..35b796c 100644
--- a/drivers/net/ti/keystone_net.c
+++ b/drivers/net/ti/keystone_net.c
@@ -747,7 +747,7 @@
 	return 0;
 }
 
-static int ks2_sl_eth_ofdata_to_platdata(struct udevice *dev)
+static int ks2_sl_eth_of_to_plat(struct udevice *dev)
 {
 	struct ks2_eth_priv *priv = dev_get_priv(dev);
 	struct eth_pdata *pdata = dev_get_plat(dev);
@@ -770,7 +770,7 @@
 	return 0;
 }
 
-static int ks2_eth_ofdata_to_platdata(struct udevice *dev)
+static int ks2_eth_of_to_plat(struct udevice *dev)
 {
 	struct ks2_eth_priv *priv = dev_get_priv(dev);
 	struct eth_pdata *pdata = dev_get_plat(dev);
@@ -800,7 +800,7 @@
 U_BOOT_DRIVER(eth_ks2_slave) = {
 	.name	= "eth_ks2_sl",
 	.id	= UCLASS_ETH,
-	.ofdata_to_platdata = ks2_sl_eth_ofdata_to_platdata,
+	.of_to_plat = ks2_sl_eth_of_to_plat,
 	.probe	= ks2_eth_probe,
 	.remove	= ks2_eth_remove,
 	.ops	= &ks2_eth_ops,
@@ -813,7 +813,7 @@
 	.name	= "eth_ks2",
 	.id	= UCLASS_ETH,
 	.of_match = ks2_eth_ids,
-	.ofdata_to_platdata = ks2_eth_ofdata_to_platdata,
+	.of_to_plat = ks2_eth_of_to_plat,
 	.probe	= ks2_eth_probe,
 	.remove	= ks2_eth_remove,
 	.ops	= &ks2_eth_ops,
diff --git a/drivers/net/xilinx_axi_emac.c b/drivers/net/xilinx_axi_emac.c
index 10c6b60..55d6e34 100644
--- a/drivers/net/xilinx_axi_emac.c
+++ b/drivers/net/xilinx_axi_emac.c
@@ -726,7 +726,7 @@
 	.write_hwaddr		= axiemac_write_hwaddr,
 };
 
-static int axi_emac_ofdata_to_platdata(struct udevice *dev)
+static int axi_emac_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	struct axidma_priv *priv = dev_get_priv(dev);
@@ -787,7 +787,7 @@
 	.name	= "axi_emac",
 	.id	= UCLASS_ETH,
 	.of_match = axi_emac_ids,
-	.ofdata_to_platdata = axi_emac_ofdata_to_platdata,
+	.of_to_plat = axi_emac_of_to_plat,
 	.probe	= axi_emac_probe,
 	.remove	= axi_emac_remove,
 	.ops	= &axi_emac_ops,
diff --git a/drivers/net/xilinx_emaclite.c b/drivers/net/xilinx_emaclite.c
index 4a0e3f6..cc2a746 100644
--- a/drivers/net/xilinx_emaclite.c
+++ b/drivers/net/xilinx_emaclite.c
@@ -593,7 +593,7 @@
 	.stop = emaclite_stop,
 };
 
-static int emaclite_ofdata_to_platdata(struct udevice *dev)
+static int emaclite_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	struct xemaclite *emaclite = dev_get_priv(dev);
@@ -631,7 +631,7 @@
 	.name   = "emaclite",
 	.id     = UCLASS_ETH,
 	.of_match = emaclite_ids,
-	.ofdata_to_platdata = emaclite_ofdata_to_platdata,
+	.of_to_plat = emaclite_of_to_plat,
 	.probe  = emaclite_probe,
 	.remove = emaclite_remove,
 	.ops    = &emaclite_ops,
diff --git a/drivers/net/zynq_gem.c b/drivers/net/zynq_gem.c
index 9d25051..244974c 100644
--- a/drivers/net/zynq_gem.c
+++ b/drivers/net/zynq_gem.c
@@ -743,7 +743,7 @@
 	.read_rom_hwaddr	= zynq_gem_read_rom_mac,
 };
 
-static int zynq_gem_ofdata_to_platdata(struct udevice *dev)
+static int zynq_gem_of_to_plat(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
 	struct zynq_gem_priv *priv = dev_get_priv(dev);
@@ -807,7 +807,7 @@
 	.name	= "zynq_gem",
 	.id	= UCLASS_ETH,
 	.of_match = zynq_gem_ids,
-	.ofdata_to_platdata = zynq_gem_ofdata_to_platdata,
+	.of_to_plat = zynq_gem_of_to_plat,
 	.probe	= zynq_gem_probe,
 	.remove	= zynq_gem_remove,
 	.ops	= &zynq_gem_ops,
