net: mvgbe: Remove non-DM_ETH code
authorTom Rini <trini@konsulko.com>
Sun, 27 Nov 2022 15:25:17 +0000 (10:25 -0500)
committerTom Rini <trini@konsulko.com>
Wed, 7 Dec 2022 21:04:17 +0000 (16:04 -0500)
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@konsulko.com>
drivers/net/mvgbe.c
drivers/net/mvgbe.h

index a77c057..58363fc 100644 (file)
@@ -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 */
index 44541c0..e3f5ac0 100644 (file)
@@ -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__ */