X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;ds=sidebyside;f=net%2Feth_legacy.c;h=be0cf64a3dd16f654cc55cbd7043bcdc3f6c2e86;hb=7a88afd080a5e248c0cb91aedc74320ca45b72af;hp=bdcd6eaafccc99f11918e981aaddde61b1c832e9;hpb=161b1fe745394f34c4aa506edc964089785919f6;p=oweals%2Fu-boot.git diff --git a/net/eth_legacy.c b/net/eth_legacy.c index bdcd6eaafc..be0cf64a3d 100644 --- a/net/eth_legacy.c +++ b/net/eth_legacy.c @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include "eth_internal.h" DECLARE_GLOBAL_DATA_PTR; @@ -118,9 +118,10 @@ static int on_ethaddr(const char *name, const char *value, enum env_op op, case env_op_create: case env_op_overwrite: eth_parse_enetaddr(value, dev->enetaddr); + eth_write_hwaddr(dev, "eth", dev->index); break; case env_op_delete: - memset(dev->enetaddr, 0, 6); + memset(dev->enetaddr, 0, ARP_HLEN); } } dev = dev->next; @@ -133,14 +134,14 @@ U_BOOT_ENV_CALLBACK(ethaddr, on_ethaddr); int eth_write_hwaddr(struct eth_device *dev, const char *base_name, int eth_number) { - unsigned char env_enetaddr[6]; + unsigned char env_enetaddr[ARP_HLEN]; int ret = 0; - eth_getenv_enetaddr_by_index(base_name, eth_number, env_enetaddr); + eth_env_get_enetaddr_by_index(base_name, eth_number, env_enetaddr); if (!is_zero_ethaddr(env_enetaddr)) { if (!is_zero_ethaddr(dev->enetaddr) && - memcmp(dev->enetaddr, env_enetaddr, 6)) { + memcmp(dev->enetaddr, env_enetaddr, ARP_HLEN)) { printf("\nWarning: %s MAC addresses don't match:\n", dev->name); printf("Address in SROM is %pM\n", @@ -149,10 +150,10 @@ int eth_write_hwaddr(struct eth_device *dev, const char *base_name, env_enetaddr); } - memcpy(dev->enetaddr, env_enetaddr, 6); + memcpy(dev->enetaddr, env_enetaddr, ARP_HLEN); } else if (is_valid_ethaddr(dev->enetaddr)) { - eth_setenv_enetaddr_by_index(base_name, eth_number, - dev->enetaddr); + eth_env_set_enetaddr_by_index(base_name, eth_number, + dev->enetaddr); } else if (is_zero_ethaddr(dev->enetaddr)) { #ifdef CONFIG_NET_RANDOM_ETHADDR net_random_ethaddr(dev->enetaddr); @@ -260,7 +261,7 @@ int eth_initialize(void) bootstage_error(BOOTSTAGE_ID_NET_ETH_START); } else { struct eth_device *dev = eth_devices; - char *ethprime = getenv("ethprime"); + char *ethprime = env_get("ethprime"); bootstage_mark(BOOTSTAGE_ID_NET_ETH_INIT); do { @@ -298,7 +299,7 @@ int eth_initialize(void) */ int eth_mcast_join(struct in_addr mcast_ip, int join) { - u8 mcast_mac[6]; + u8 mcast_mac[ARP_HLEN]; if (!eth_current || !eth_current->mcast) return -1; mcast_mac[5] = htonl(mcast_ip.s_addr) & 0xff;