projects
/
oweals
/
u-boot.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge tag 'signed-efi-next' of git://github.com/agraf/u-boot
[oweals/u-boot.git]
/
net
/
eth-uclass.c
diff --git
a/net/eth-uclass.c
b/net/eth-uclass.c
index a32961e6ceaae8e819a247c1f30bac24b3bc370f..e4b49229e38d02936f668ed18b2fa53bceee3191 100644
(file)
--- a/
net/eth-uclass.c
+++ b/
net/eth-uclass.c
@@
-1,9
+1,8
@@
+// SPDX-License-Identifier: GPL-2.0+
/*
* (C) Copyright 2001-2015
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
* Joe Hershberger, National Instruments
/*
* (C) Copyright 2001-2015
* Wolfgang Denk, DENX Software Engineering, wd@denx.de.
* Joe Hershberger, National Instruments
- *
- * SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
*/
#include <common.h>
@@
-181,7
+180,7
@@
int eth_get_dev_index(void)
static int eth_write_hwaddr(struct udevice *dev)
{
static int eth_write_hwaddr(struct udevice *dev)
{
- struct eth_pdata *pdata
= dev->platdata
;
+ struct eth_pdata *pdata;
int ret = 0;
if (!dev || !device_active(dev))
int ret = 0;
if (!dev || !device_active(dev))
@@
-189,6
+188,7
@@
static int eth_write_hwaddr(struct udevice *dev)
/* seq is valid since the device is active */
if (eth_get_ops(dev)->write_hwaddr && !eth_mac_skip(dev->seq)) {
/* seq is valid since the device is active */
if (eth_get_ops(dev)->write_hwaddr && !eth_mac_skip(dev->seq)) {
+ pdata = dev->platdata;
if (!is_valid_ethaddr(pdata->enetaddr)) {
printf("\nError: %s address %pM illegal value\n",
dev->name, pdata->enetaddr);
if (!is_valid_ethaddr(pdata->enetaddr)) {
printf("\nError: %s address %pM illegal value\n",
dev->name, pdata->enetaddr);
@@
-230,7
+230,7
@@
static int on_ethaddr(const char *name, const char *value, enum env_op op,
eth_write_hwaddr(dev);
break;
case env_op_delete:
eth_write_hwaddr(dev);
break;
case env_op_delete:
- memset(pdata->enetaddr, 0,
6
);
+ memset(pdata->enetaddr, 0,
ARP_HLEN
);
}
}
}
}
@@
-240,8
+240,8
@@
U_BOOT_ENV_CALLBACK(ethaddr, on_ethaddr);
int eth_init(void)
{
int eth_init(void)
{
- char *ethact =
getenv
("ethact");
- char *ethrotate =
getenv
("ethrotate");
+ char *ethact =
env_get
("ethact");
+ char *ethrotate =
env_get
("ethrotate");
struct udevice *current = NULL;
struct udevice *old_current;
int ret = -ENODEV;
struct udevice *current = NULL;
struct udevice *old_current;
int ret = -ENODEV;
@@
-335,7
+335,7
@@
int eth_send(void *packet, int length)
if (!current)
return -ENODEV;
if (!current)
return -ENODEV;
- if (!
device
_active(current))
+ if (!
eth_is
_active(current))
return -EINVAL;
ret = eth_get_ops(current)->send(current, packet, length);
return -EINVAL;
ret = eth_get_ops(current)->send(current, packet, length);
@@
-358,7
+358,7
@@
int eth_rx(void)
if (!current)
return -ENODEV;
if (!current)
return -ENODEV;
- if (!
device
_active(current))
+ if (!
eth_is
_active(current))
return -EINVAL;
/* Process up to 32 packets at one time */
return -EINVAL;
/* Process up to 32 packets at one time */
@@
-395,12
+395,12
@@
int eth_initialize(void)
* This is accomplished by attempting to probe each device and calling
* their write_hwaddr() operation.
*/
* This is accomplished by attempting to probe each device and calling
* their write_hwaddr() operation.
*/
- uclass_first_device(UCLASS_ETH, &dev);
+ uclass_first_device
_check
(UCLASS_ETH, &dev);
if (!dev) {
printf("No ethernet found.\n");
bootstage_error(BOOTSTAGE_ID_NET_ETH_START);
} else {
if (!dev) {
printf("No ethernet found.\n");
bootstage_error(BOOTSTAGE_ID_NET_ETH_START);
} else {
- char *ethprime =
getenv
("ethprime");
+ char *ethprime =
env_get
("ethprime");
struct udevice *prime_dev = NULL;
if (ethprime)
struct udevice *prime_dev = NULL;
if (ethprime)
@@
-424,7
+424,7
@@
int eth_initialize(void)
eth_write_hwaddr(dev);
eth_write_hwaddr(dev);
- uclass_next_device(&dev);
+ uclass_next_device
_check
(&dev);
num_devices++;
} while (dev);
num_devices++;
} while (dev);
@@
-458,7
+458,7
@@
static int eth_post_probe(struct udevice *dev)
{
struct eth_device_priv *priv = dev->uclass_priv;
struct eth_pdata *pdata = dev->platdata;
{
struct eth_device_priv *priv = dev->uclass_priv;
struct eth_pdata *pdata = dev->platdata;
- unsigned char env_enetaddr[
6
];
+ unsigned char env_enetaddr[
ARP_HLEN
];
#if defined(CONFIG_NEEDS_MANUAL_RELOC)
struct eth_ops *ops = eth_get_ops(dev);
#if defined(CONFIG_NEEDS_MANUAL_RELOC)
struct eth_ops *ops = eth_get_ops(dev);
@@
-494,25
+494,26
@@
static int eth_post_probe(struct udevice *dev)
if (eth_get_ops(dev)->read_rom_hwaddr)
eth_get_ops(dev)->read_rom_hwaddr(dev);
if (eth_get_ops(dev)->read_rom_hwaddr)
eth_get_ops(dev)->read_rom_hwaddr(dev);
- eth_
getenv
_enetaddr_by_index("eth", dev->seq, env_enetaddr);
+ eth_
env_get
_enetaddr_by_index("eth", dev->seq, env_enetaddr);
if (!is_zero_ethaddr(env_enetaddr)) {
if (!is_zero_ethaddr(pdata->enetaddr) &&
if (!is_zero_ethaddr(env_enetaddr)) {
if (!is_zero_ethaddr(pdata->enetaddr) &&
- memcmp(pdata->enetaddr, env_enetaddr,
6
)) {
+ memcmp(pdata->enetaddr, env_enetaddr,
ARP_HLEN
)) {
printf("\nWarning: %s MAC addresses don't match:\n",
dev->name);
printf("\nWarning: %s MAC addresses don't match:\n",
dev->name);
- printf("Address in
SROM is
%pM\n",
+ printf("Address in
ROM is
%pM\n",
pdata->enetaddr);
printf("Address in environment is %pM\n",
env_enetaddr);
}
/* Override the ROM MAC address */
pdata->enetaddr);
printf("Address in environment is %pM\n",
env_enetaddr);
}
/* Override the ROM MAC address */
- memcpy(pdata->enetaddr, env_enetaddr,
6
);
+ memcpy(pdata->enetaddr, env_enetaddr,
ARP_HLEN
);
} else if (is_valid_ethaddr(pdata->enetaddr)) {
} else if (is_valid_ethaddr(pdata->enetaddr)) {
- eth_
setenv
_enetaddr_by_index("eth", dev->seq, pdata->enetaddr);
+ eth_
env_set
_enetaddr_by_index("eth", dev->seq, pdata->enetaddr);
printf("\nWarning: %s using MAC address from ROM\n",
dev->name);
printf("\nWarning: %s using MAC address from ROM\n",
dev->name);
- } else if (is_zero_ethaddr(pdata->enetaddr)) {
+ } else if (is_zero_ethaddr(pdata->enetaddr) ||
+ !is_valid_ethaddr(pdata->enetaddr)) {
#ifdef CONFIG_NET_RANDOM_ETHADDR
net_random_ethaddr(pdata->enetaddr);
printf("\nWarning: %s (eth%d) using random MAC address - %pM\n",
#ifdef CONFIG_NET_RANDOM_ETHADDR
net_random_ethaddr(pdata->enetaddr);
printf("\nWarning: %s (eth%d) using random MAC address - %pM\n",
@@
-534,7
+535,7
@@
static int eth_pre_remove(struct udevice *dev)
eth_get_ops(dev)->stop(dev);
/* clear the MAC address */
eth_get_ops(dev)->stop(dev);
/* clear the MAC address */
- memset(pdata->enetaddr, 0,
6
);
+ memset(pdata->enetaddr, 0,
ARP_HLEN
);
return 0;
}
return 0;
}