]> git.karo-electronics.de Git - karo-tx-uboot.git/blobdiff - net/eth.c
mx6qsabrelite: Remove unused SOBJS
[karo-tx-uboot.git] / net / eth.c
index aabb343f162676e174819ba4c6e61dbe093755bd..d9a643073d8a0eecd305f07e3605d97a39e71c4b 100644 (file)
--- a/net/eth.c
+++ b/net/eth.c
@@ -82,14 +82,12 @@ int cpu_eth_init(bd_t *bis) __attribute__((weak, alias("__def_eth_init")));
 int board_eth_init(bd_t *bis) __attribute__((weak, alias("__def_eth_init")));
 
 #ifdef CONFIG_API
-extern void (*push_packet)(volatile void *, int);
-
 static struct {
        uchar data[PKTSIZE];
        int length;
 } eth_rcv_bufs[PKTBUFSRX];
 
-static unsigned int eth_rcv_current = 0, eth_rcv_last = 0;
+static unsigned int eth_rcv_current, eth_rcv_last;
 #endif
 
 static struct eth_device *eth_devices, *eth_current;
@@ -141,11 +139,10 @@ struct eth_device *eth_get_dev_by_index(int index)
        return target_dev;
 }
 
-int eth_get_dev_index (void)
+int eth_get_dev_index(void)
 {
-       if (!eth_current) {
+       if (!eth_current)
                return -1;
-       }
 
        return eth_current->index;
 }
@@ -172,12 +169,11 @@ int eth_write_hwaddr(struct eth_device *dev, const char *base_name,
        unsigned char env_enetaddr[6];
        int ret = 0;
 
-       if (!eth_getenv_enetaddr_by_index(base_name, eth_number, env_enetaddr))
-               return -1;
+       eth_getenv_enetaddr_by_index(base_name, eth_number, env_enetaddr);
 
        if (memcmp(env_enetaddr, "\0\0\0\0\0\0", 6)) {
                if (memcmp(dev->enetaddr, "\0\0\0\0\0\0", 6) &&
-                       memcmp(dev->enetaddr, env_enetaddr, 6)) {
+                               memcmp(dev->enetaddr, env_enetaddr, 6)) {
                        printf("\nWarning: %s MAC addresses don't match:\n",
                                dev->name);
                        printf("Address in SROM is         %pM\n",
@@ -190,10 +186,9 @@ int eth_write_hwaddr(struct eth_device *dev, const char *base_name,
        }
 
        if (dev->write_hwaddr &&
-               !eth_mac_skip(eth_number) &&
-               is_valid_ether_addr(dev->enetaddr)) {
+                       !eth_mac_skip(eth_number) &&
+                       is_valid_ether_addr(dev->enetaddr))
                ret = dev->write_hwaddr(dev);
-       }
 
        return ret;
 }
@@ -201,7 +196,7 @@ int eth_write_hwaddr(struct eth_device *dev, const char *base_name,
 int eth_register(struct eth_device *dev)
 {
        struct eth_device *d;
-       static int index = 0;
+       static int index;
 
        assert(strlen(dev->name) < sizeof(dev->name));
 
@@ -209,7 +204,7 @@ int eth_register(struct eth_device *dev)
                eth_current = eth_devices = dev;
                eth_current_changed();
        } else {
-               for (d=eth_devices; d->next!=eth_devices; d=d->next)
+               for (d = eth_devices; d->next != eth_devices; d = d->next)
                        ;
                d->next = dev;
        }
@@ -250,6 +245,14 @@ int eth_unregister(struct eth_device *dev)
        return 0;
 }
 
+static void eth_env_init(bd_t *bis)
+{
+       const char *s;
+
+       if ((s = getenv("bootfile")) != NULL)
+               copy_filename(BootFile, s, sizeof(BootFile));
+}
+
 int eth_initialize(bd_t *bis)
 {
        int num_devices = 0;
@@ -265,6 +268,8 @@ int eth_initialize(bd_t *bis)
        phy_init();
 #endif
 
+       eth_env_init(bis);
+
        /*
         * If board-specific initialization exists, call it.
         * If not, call a CPU-specific one
@@ -279,36 +284,37 @@ int eth_initialize(bd_t *bis)
                printf("Net Initialization Skipped\n");
 
        if (!eth_devices) {
-               puts ("No ethernet found.\n");
+               puts("No ethernet found.\n");
                bootstage_error(BOOTSTAGE_ID_NET_ETH_START);
        } else {
                struct eth_device *dev = eth_devices;
-               char *ethprime = getenv ("ethprime");
+               char *ethprime = getenv("ethprime");
 
                bootstage_mark(BOOTSTAGE_ID_NET_ETH_INIT);
                do {
                        if (dev->index)
-                               puts (", ");
+                               puts(", ");
 
                        printf("%s", dev->name);
 
-                       if (ethprime && strcmp (dev->name, ethprime) == 0) {
+                       if (ethprime && strcmp(dev->name, ethprime) == 0) {
                                eth_current = dev;
-                               puts (" [PRIME]");
+                               puts(" [PRIME]");
                        }
 
                        if (strchr(dev->name, ' '))
-                               puts("\nWarning: eth device name has a space!\n");
+                               puts("\nWarning: eth device name has a space!"
+                                       "\n");
 
                        if (eth_write_hwaddr(dev, "eth", dev->index))
                                puts("\nWarning: failed to set MAC address\n");
 
                        dev = dev->next;
                        num_devices++;
-               } while(dev != eth_devices);
+               } while (dev != eth_devices);
 
                eth_current_changed();
-               putc ('\n');
+               putc('\n');
        }
 
        return num_devices;
@@ -319,9 +325,9 @@ int eth_initialize(bd_t *bis)
  * mcast_addr: multicast ipaddr from which multicast Mac is made
  * join: 1=join, 0=leave.
  */
-int eth_mcast_join( IPaddr_t mcast_ip, u8 join)
+int eth_mcast_join(IPaddr_t mcast_ip, u8 join)
 {
- u8 mcast_mac[6];
      u8 mcast_mac[6];
        if (!eth_current || !eth_current->mcast)
                return -1;
        mcast_mac[5] = htonl(mcast_ip) & 0xff;
@@ -338,7 +344,7 @@ int eth_mcast_join( IPaddr_t mcast_ip, u8 join)
  * some other adapter -- hash tables
  */
 #define CRCPOLY_LE 0xedb88320
-u32 ether_crc (size_t len, unsigned char const *p)
+u32 ether_crc(size_t len, unsigned char const *p)
 {
        int i;
        u32 crc;
@@ -365,7 +371,7 @@ int eth_init(bd_t *bis)
        struct eth_device *old_current, *dev;
 
        if (!eth_current) {
-               puts ("No ethernet found.\n");
+               puts("No ethernet found.\n");
                return -1;
        }
 
@@ -385,7 +391,7 @@ int eth_init(bd_t *bis)
        do {
                debug("Trying %s\n", eth_current->name);
 
-               if (eth_current->init(eth_current,bis) >= 0) {
+               if (eth_current->init(eth_current, bis) >= 0) {
                        eth_current->state = ETH_STATE_ACTIVE;
 
                        return 0;
@@ -408,7 +414,7 @@ void eth_halt(void)
        eth_current->state = ETH_STATE_PASSIVE;
 }
 
-int eth_send(volatile void *packet, int length)
+int eth_send(void *packet, int length)
 {
        if (!eth_current)
                return -1;
@@ -425,9 +431,9 @@ int eth_rx(void)
 }
 
 #ifdef CONFIG_API
-static void eth_save_packet(volatile void *packet, int length)
+static void eth_save_packet(void *packet, int length)
 {
-       volatile char *p = packet;
+       char *p = packet;
        int i;
 
        if ((eth_rcv_last+1) % PKTBUFSRX == eth_rcv_current)
@@ -443,9 +449,9 @@ static void eth_save_packet(volatile void *packet, int length)
        eth_rcv_last = (eth_rcv_last + 1) % PKTBUFSRX;
 }
 
-int eth_receive(volatile void *packet, int length)
+int eth_receive(void *packet, int length)
 {
-       volatile char *p = packet;
+       char *p = packet;
        void *pp = push_packet;
        int i;
 
@@ -473,38 +479,36 @@ int eth_receive(volatile void *packet, int length)
 
 void eth_try_another(int first_restart)
 {
-       static struct eth_device *first_failed = NULL;
+       static struct eth_device *first_failed;
        char *ethrotate;
 
        /*
         * Do not rotate between network interfaces when
         * 'ethrotate' variable is set to 'no'.
         */
-       if (((ethrotate = getenv ("ethrotate")) != NULL) &&
-           (strcmp(ethrotate, "no") == 0))
+       ethrotate = getenv("ethrotate");
+       if ((ethrotate != NULL) && (strcmp(ethrotate, "no") == 0))
                return;
 
        if (!eth_current)
                return;
 
-       if (first_restart) {
+       if (first_restart)
                first_failed = eth_current;
-       }
 
        eth_current = eth_current->next;
 
        eth_current_changed();
 
-       if (first_failed == eth_current) {
+       if (first_failed == eth_current)
                NetRestartWrap = 1;
-       }
 }
 
 void eth_set_current(void)
 {
-       static char *act = NULL;
-       static int  env_changed_id = 0;
-       struct eth_deviceold_current;
+       static char *act;
+       static int  env_changed_id;
+       struct eth_device *old_current;
        int     env_id;
 
        if (!eth_current)       /* XXX no current */
@@ -527,7 +531,7 @@ void eth_set_current(void)
        eth_current_changed();
 }
 
-char *eth_get_name (void)
+char *eth_get_name(void)
 {
-       return (eth_current ? eth_current->name : "unknown");
+       return eth_current ? eth_current->name : "unknown";
 }