sunxi: emac: Remove non driver-model code
authorHans de Goede <hdegoede@redhat.com>
Thu, 23 Apr 2015 16:47:47 +0000 (18:47 +0200)
committerHans de Goede <hdegoede@redhat.com>
Mon, 4 May 2015 14:51:54 +0000 (16:51 +0200)
All sunxi boards now use the driver-model, so remove the non driver-model
code.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Acked-by: Ian Campbell <ijc@hellion.org.uk>
arch/arm/cpu/armv7/sunxi/board.c
drivers/net/sunxi_emac.c
include/netdev.h

index 732e5c83ed0e743a645b1f800061f824786178ce..6718ae2205d8bf7dc4aca90bd50c25b2048a3fc0 100644 (file)
 
 #include <common.h>
 #include <i2c.h>
-#ifndef CONFIG_DM_ETH
-#include <netdev.h>
-#endif
-#include <miiphy.h>
 #include <serial.h>
 #ifdef CONFIG_SPL_BUILD
 #include <spl.h>
@@ -221,14 +217,6 @@ int cpu_eth_init(bd_t *bis)
        mdelay(200);
 #endif
 
-#if defined CONFIG_SUNXI_EMAC && !defined CONFIG_DM_ETH
-       rc = sunxi_emac_initialize(bis);
-       if (rc < 0) {
-               printf("sunxi: failed to initialize emac\n");
-               return rc;
-       }
-#endif
-
 #ifdef CONFIG_SUNXI_GMAC
        rc = sunxi_gmac_initialize(bis);
        if (rc < 0) {
index 306a022c2fd6d247a6a55d98f159536da52a0393..e939bf2108a3fbde2c23cd01bdb09f815a4be53c 100644 (file)
@@ -513,74 +513,6 @@ static void sunxi_emac_board_setup(struct emac_eth_dev *priv)
        clrsetbits_le32(&regs->mac_mcfg, 0xf << 2, 0xd << 2);
 }
 
-#ifndef CONFIG_DM_ETH
-static int sunxi_emac_eth_init(struct eth_device *dev, bd_t *bis)
-{
-       return _sunxi_emac_eth_init(dev->priv, dev->enetaddr);
-}
-
-static void sunxi_emac_eth_halt(struct eth_device *dev)
-{
-       /* Nothing to do here */
-}
-
-static int sunxi_emac_eth_recv(struct eth_device *dev)
-{
-       int rx_len;
-
-       rx_len = _sunxi_emac_eth_recv(dev->priv, net_rx_packets[0]);
-       if (rx_len <= 0)
-               return 0;
-
-       /* Pass to upper layer */
-       net_process_received_packet(net_rx_packets[0], rx_len);
-
-       return rx_len;
-}
-
-static int sunxi_emac_eth_send(struct eth_device *dev, void *packet, int length)
-{
-       return _sunxi_emac_eth_send(dev->priv, packet, length);
-}
-
-int sunxi_emac_initialize(void)
-{
-       struct emac_regs *regs =
-               (struct emac_regs *)SUNXI_EMAC_BASE;
-       struct eth_device *dev;
-       struct emac_eth_dev *priv;
-
-       dev = malloc(sizeof(*dev));
-       if (dev == NULL)
-               return -ENOMEM;
-
-       priv = (struct emac_eth_dev *)malloc(sizeof(struct emac_eth_dev));
-       if (!priv) {
-               free(dev);
-               return -ENOMEM;
-       }
-
-       memset(dev, 0, sizeof(*dev));
-       memset(priv, 0, sizeof(struct emac_eth_dev));
-
-       priv->regs = regs;
-       dev->iobase = (int)regs;
-       dev->priv = priv;
-       dev->init = sunxi_emac_eth_init;
-       dev->halt = sunxi_emac_eth_halt;
-       dev->send = sunxi_emac_eth_send;
-       dev->recv = sunxi_emac_eth_recv;
-       strcpy(dev->name, "emac");
-
-       sunxi_emac_board_setup(priv);
-
-       eth_register(dev);
-
-       return sunxi_emac_init_phy(priv, dev);
-}
-#endif
-
-#ifdef CONFIG_DM_ETH
 static int sunxi_emac_eth_start(struct udevice *dev)
 {
        struct eth_pdata *pdata = dev_get_platdata(dev);
@@ -653,4 +585,3 @@ U_BOOT_DRIVER(eth_sunxi_emac) = {
        .priv_auto_alloc_size = sizeof(struct emac_eth_dev),
        .platdata_auto_alloc_size = sizeof(struct eth_pdata),
 };
-#endif
index e6bdfdfa8378ec5940c7a2bc0dc5b6629fc47e10..662d1735db0808fb418adbc266524ac58b00f698 100644 (file)
@@ -80,7 +80,6 @@ int sh_eth_initialize(bd_t *bis);
 int skge_initialize(bd_t *bis);
 int smc91111_initialize(u8 dev_num, int base_addr);
 int smc911x_initialize(u8 dev_num, int base_addr);
-int sunxi_emac_initialize(bd_t *bis);
 int tsi108_eth_initialize(bd_t *bis);
 int uec_standard_init(bd_t *bis);
 int uli526x_initialize(bd_t *bis);