[PATCH 22/41] net: mvgbe: Remove non-DM_ETH code

Tom Rini trini at konsulko.com
Sun Nov 27 16:25:17 CET 2022


As DM_ETH is required for all network drivers, it's now safe to
remove the non-DM_ETH support code.

Signed-off-by: Tom Rini <trini at konsulko.com>
---
 drivers/net/mvgbe.c | 214 +-------------------------------------------
 drivers/net/mvgbe.h |   8 --
 2 files changed, 2 insertions(+), 220 deletions(-)

diff --git a/drivers/net/mvgbe.c b/drivers/net/mvgbe.c
index a77c05743262..58363fce0570 100644
--- a/drivers/net/mvgbe.c
+++ b/drivers/net/mvgbe.c
@@ -132,12 +132,7 @@ static int __mvgbe_mdio_read(struct mvgbe_device *dmvgbe, int phy_adr,
 static int smi_reg_read(struct mii_dev *bus, int phy_adr, int devad,
 			int reg_ofs)
 {
-#ifdef CONFIG_DM_ETH
 	struct mvgbe_device *dmvgbe = bus->priv;
-#else
-	struct eth_device *dev = eth_get_dev_by_name(bus->name);
-	struct mvgbe_device *dmvgbe = to_mvgbe(dev);
-#endif
 
 	return __mvgbe_mdio_read(dmvgbe, phy_adr, devad, reg_ofs);
 }
@@ -189,12 +184,7 @@ static int __mvgbe_mdio_write(struct mvgbe_device *dmvgbe, int phy_adr,
 static int smi_reg_write(struct mii_dev *bus, int phy_adr, int devad,
 			 int reg_ofs, u16 data)
 {
-#ifdef CONFIG_DM_ETH
 	struct mvgbe_device *dmvgbe = bus->priv;
-#else
-	struct eth_device *dev = eth_get_dev_by_name(bus->name);
-	struct mvgbe_device *dmvgbe = to_mvgbe(dev);
-#endif
 
 	return __mvgbe_mdio_write(dmvgbe, phy_adr, devad, reg_ofs, data);
 }
@@ -432,12 +422,6 @@ static int __mvgbe_init(struct mvgbe_device *dmvgbe, u8 *enetaddr,
 			const char *name)
 {
 	struct mvgbe_registers *regs = dmvgbe->regs;
-#if (defined(CONFIG_MII) || defined(CONFIG_CMD_MII)) &&  \
-	!defined(CONFIG_PHYLIB) &&			 \
-	!defined(CONFIG_DM_ETH) &&			 \
-	defined(CONFIG_SYS_FAULT_ECHO_LINK_DOWN)
-	int i;
-#endif
 	/* setup RX rings */
 	mvgbe_init_rx_desc_ring(dmvgbe);
 
@@ -486,37 +470,9 @@ static int __mvgbe_init(struct mvgbe_device *dmvgbe, u8 *enetaddr,
 	/* Enable port Rx. */
 	MVGBE_REG_WR(regs->rqc, (1 << RXUQ));
 
-#if (defined(CONFIG_MII) || defined(CONFIG_CMD_MII)) && \
-	!defined(CONFIG_PHYLIB) && \
-	!defined(CONFIG_DM_ETH) && \
-	defined(CONFIG_SYS_FAULT_ECHO_LINK_DOWN)
-	/* Wait up to 5s for the link status */
-	for (i = 0; i < 5; i++) {
-		u16 phyadr;
-
-		miiphy_read(name, MV_PHY_ADR_REQUEST,
-				MV_PHY_ADR_REQUEST, &phyadr);
-		/* Return if we get link up */
-		if (miiphy_link(name, phyadr))
-			return 0;
-		udelay(1000000);
-	}
-
-	printf("No link on %s\n", name);
-	return -1;
-#endif
 	return 0;
 }
 
-#ifndef CONFIG_DM_ETH
-static int mvgbe_init(struct eth_device *dev)
-{
-	struct mvgbe_device *dmvgbe = to_mvgbe(dev);
-
-	return __mvgbe_init(dmvgbe, dmvgbe->dev.enetaddr, dmvgbe->dev.name);
-}
-#endif
-
 static void __mvgbe_halt(struct mvgbe_device *dmvgbe)
 {
 	struct mvgbe_registers *regs = dmvgbe->regs;
@@ -542,18 +498,6 @@ static void __mvgbe_halt(struct mvgbe_device *dmvgbe)
 	MVGBE_REG_WR(regs->peim, 0);
 }
 
-#ifndef CONFIG_DM_ETH
-static int mvgbe_halt(struct eth_device *dev)
-{
-	struct mvgbe_device *dmvgbe = to_mvgbe(dev);
-
-	__mvgbe_halt(dmvgbe);
-
-	return 0;
-}
-#endif
-
-#ifdef CONFIG_DM_ETH
 static int mvgbe_write_hwaddr(struct udevice *dev)
 {
 	struct eth_pdata *pdata = dev_get_plat(dev);
@@ -562,16 +506,6 @@ static int mvgbe_write_hwaddr(struct udevice *dev)
 
 	return 0;
 }
-#else
-static int mvgbe_write_hwaddr(struct eth_device *dev)
-{
-	struct mvgbe_device *dmvgbe = to_mvgbe(dev);
-
-	/* Programs net device MAC address after initialization */
-	port_uc_addr_set(dmvgbe, dmvgbe->dev.enetaddr);
-	return 0;
-}
-#endif
 
 static int __mvgbe_send(struct mvgbe_device *dmvgbe, void *dataptr,
 			int datasize)
@@ -628,15 +562,6 @@ static int __mvgbe_send(struct mvgbe_device *dmvgbe, void *dataptr,
 	return 0;
 }
 
-#ifndef CONFIG_DM_ETH
-static int mvgbe_send(struct eth_device *dev, void *dataptr, int datasize)
-{
-	struct mvgbe_device *dmvgbe = to_mvgbe(dev);
-
-	return __mvgbe_send(dmvgbe, dataptr, datasize);
-}
-#endif
-
 static int __mvgbe_recv(struct mvgbe_device *dmvgbe, uchar **packetp)
 {
 	struct mvgbe_rxdesc *p_rxdesc_curr = dmvgbe->p_rxdesc_curr;
@@ -710,35 +635,11 @@ static int __mvgbe_recv(struct mvgbe_device *dmvgbe, uchar **packetp)
 	return rx_bytes;
 }
 
-#ifndef CONFIG_DM_ETH
-static int mvgbe_recv(struct eth_device *dev)
-{
-	struct mvgbe_device *dmvgbe = to_mvgbe(dev);
-	uchar *packet;
-	int ret;
-
-	ret = __mvgbe_recv(dmvgbe, &packet);
-	if (ret < 0)
-		return ret;
-
-	net_process_received_packet(packet, ret);
-
-	return 0;
-}
-#endif
-
-#if defined(CONFIG_PHYLIB) || defined(CONFIG_DM_ETH)
-#if defined(CONFIG_DM_ETH)
+#if defined(CONFIG_PHYLIB)
 static struct phy_device *__mvgbe_phy_init(struct udevice *dev,
 					   struct mii_dev *bus,
 					   phy_interface_t phy_interface,
 					   int phyid)
-#else
-static struct phy_device *__mvgbe_phy_init(struct eth_device *dev,
-					   struct mii_dev *bus,
-					   phy_interface_t phy_interface,
-					   int phyid)
-#endif
 {
 	struct phy_device *phydev;
 
@@ -760,38 +661,7 @@ static struct phy_device *__mvgbe_phy_init(struct eth_device *dev,
 
 	return phydev;
 }
-#endif /* CONFIG_PHYLIB || CONFIG_DM_ETH */
-
-#if defined(CONFIG_PHYLIB) && !defined(CONFIG_DM_ETH)
-int mvgbe_phylib_init(struct eth_device *dev, int phyid)
-{
-	struct mii_dev *bus;
-	struct phy_device *phydev;
-	int ret;
-
-	bus = mdio_alloc();
-	if (!bus) {
-		printf("mdio_alloc failed\n");
-		return -ENOMEM;
-	}
-	bus->read = smi_reg_read;
-	bus->write = smi_reg_write;
-	strcpy(bus->name, dev->name);
-
-	ret = mdio_register(bus);
-	if (ret) {
-		printf("mdio_register failed\n");
-		free(bus);
-		return -ENOMEM;
-	}
-
-	phydev = __mvgbe_phy_init(dev, bus, PHY_INTERFACE_MODE_RGMII, phyid);
-	if (!phydev)
-		return -ENODEV;
-
-	return 0;
-}
-#endif
+#endif /* CONFIG_PHYLIB */
 
 static int mvgbe_alloc_buffers(struct mvgbe_device *dmvgbe)
 {
@@ -825,85 +695,6 @@ error1:
 	return -ENOMEM;
 }
 
-#ifndef CONFIG_DM_ETH
-int mvgbe_initialize(struct bd_info *bis)
-{
-	struct mvgbe_device *dmvgbe;
-	struct eth_device *dev;
-	int devnum;
-	int ret;
-	u8 used_ports[MAX_MVGBE_DEVS] = CONFIG_MVGBE_PORTS;
-
-	for (devnum = 0; devnum < MAX_MVGBE_DEVS; devnum++) {
-		/*skip if port is configured not to use */
-		if (used_ports[devnum] == 0)
-			continue;
-
-		dmvgbe = malloc(sizeof(struct mvgbe_device));
-		if (!dmvgbe)
-			return -ENOMEM;
-
-		memset(dmvgbe, 0, sizeof(struct mvgbe_device));
-		ret = mvgbe_alloc_buffers(dmvgbe);
-		if (ret) {
-			printf("Err.. %s Failed to allocate memory\n",
-				__func__);
-			free(dmvgbe);
-			return ret;
-		}
-
-		dev = &dmvgbe->dev;
-
-		/* must be less than sizeof(dev->name) */
-		sprintf(dev->name, "egiga%d", devnum);
-
-		switch (devnum) {
-		case 0:
-			dmvgbe->regs = (void *)MVGBE0_BASE;
-			break;
-#if defined(MVGBE1_BASE)
-		case 1:
-			dmvgbe->regs = (void *)MVGBE1_BASE;
-			break;
-#endif
-		default:	/* this should never happen */
-			printf("Err..(%s) Invalid device number %d\n",
-				__func__, devnum);
-			return -1;
-		}
-
-		dev->init = (void *)mvgbe_init;
-		dev->halt = (void *)mvgbe_halt;
-		dev->send = (void *)mvgbe_send;
-		dev->recv = (void *)mvgbe_recv;
-		dev->write_hwaddr = (void *)mvgbe_write_hwaddr;
-
-		eth_register(dev);
-
-#if defined(CONFIG_PHYLIB)
-		mvgbe_phylib_init(dev, PHY_BASE_ADR + devnum);
-#elif defined(CONFIG_MII) || defined(CONFIG_CMD_MII)
-		int retval;
-		struct mii_dev *mdiodev = mdio_alloc();
-		if (!mdiodev)
-			return -ENOMEM;
-		strlcpy(mdiodev->name, dev->name, MDIO_NAME_LEN);
-		mdiodev->read = smi_reg_read;
-		mdiodev->write = smi_reg_write;
-
-		retval = mdio_register(mdiodev);
-		if (retval < 0)
-			return retval;
-		/* Set phy address of the port */
-		miiphy_write(dev->name, MV_PHY_ADR_REQUEST,
-				MV_PHY_ADR_REQUEST, PHY_BASE_ADR + devnum);
-#endif
-	}
-	return 0;
-}
-#endif
-
-#ifdef CONFIG_DM_ETH
 static int mvgbe_port_is_fixed_link(struct mvgbe_device *dmvgbe)
 {
 	return dmvgbe->phyaddr > PHY_MAX_ADDR;
@@ -1046,4 +837,3 @@ U_BOOT_DRIVER(mvgbe) = {
 	.priv_auto	= sizeof(struct mvgbe_device),
 	.plat_auto	= sizeof(struct eth_pdata),
 };
-#endif /* CONFIG_DM_ETH */
diff --git a/drivers/net/mvgbe.h b/drivers/net/mvgbe.h
index 44541c0a85e3..e3f5ac06399d 100644
--- a/drivers/net/mvgbe.h
+++ b/drivers/net/mvgbe.h
@@ -30,9 +30,6 @@
 #define RXUQ	0 /* Used Rx queue */
 #define TXUQ	0 /* Used Rx queue */
 
-#ifndef CONFIG_DM_ETH
-#define to_mvgbe(_d) container_of(_d, struct mvgbe_device, dev)
-#endif
 #define MVGBE_REG_WR(adr, val)		writel(val, &adr)
 #define MVGBE_REG_RD(adr)		readl(&adr)
 #define MVGBE_REG_BITS_RESET(adr, val)	writel(readl(&adr) & ~(val), &adr)
@@ -481,9 +478,6 @@ struct mvgbe_txdesc {
 
 /* port device data struct */
 struct mvgbe_device {
-#ifndef CONFIG_DM_ETH
-	struct eth_device dev;
-#endif
 	struct mvgbe_registers *regs;
 	struct mvgbe_txdesc *p_txdesc;
 	struct mvgbe_rxdesc *p_rxdesc;
@@ -491,7 +485,6 @@ struct mvgbe_device {
 	u8 *p_rxbuf;
 	u8 *p_aligned_txbuf;
 
-#ifdef CONFIG_DM_ETH
 	phy_interface_t phy_interface;
 	unsigned int link;
 	unsigned int duplex;
@@ -501,7 +494,6 @@ struct mvgbe_device {
 	int phyaddr;
 	struct phy_device *phydev;
 	struct mii_dev *bus;
-#endif
 };
 
 #endif /* __MVGBE_H__ */
-- 
2.25.1



More information about the U-Boot mailing list