net: Move enetaddr env access code to env config instead of net config

In order that we can use eth_env_* even when CONFIG_NET isn't set, move
these functions to environment code from net code.

This fixes failures such as:

  board/ti/am335x/built-in.o: In function `board_late_init':
  board/ti/am335x/board.c:752: undefined reference to `eth_env_set_enetaddr'
  u-boot/board/ti/am335x/board.c:766: undefined reference to `eth_env_set_enetaddr'

which caters for use cases such as:

commit f411b5cca4 ("board: am335x: Always set eth/eth1addr environment
variable")

when Ethernet is required in Linux, but not U-Boot.

Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
This commit is contained in:
Alex Kiernan 2018-04-01 09:22:38 +00:00 committed by Tom Rini
parent 8cf2f3602e
commit 9925f1dbc3
66 changed files with 97 additions and 33 deletions

View File

@ -7,6 +7,7 @@
#include <common.h>
#include <command.h>
#include <environment.h>
#include <i2c.h>
#include <net.h>
#include <linux/mtd/st_smi.h>

View File

@ -10,6 +10,7 @@
*/
#include <common.h>
#include <environment.h>
#include <i2c.h>
#include <net.h>
#include <asm/arch/hardware.h>

View File

@ -5,6 +5,7 @@
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <environment.h>
#include <asm/setup.h>
#include <asm/arch/sys_proto.h>
#include <asm/omap_common.h>

View File

@ -8,6 +8,7 @@
*/
#include <common.h>
#include <environment.h>
#include <linux/libfdt.h>
#include <fdt_support.h>
#include <asm/processor.h>

View File

@ -11,6 +11,7 @@
*/
#include <version.h>
#include <common.h>
#include <environment.h>
#include <errno.h>
#include <asm/arch/cpu.h>
#include <asm/arch/hardware.h>

View File

@ -9,6 +9,7 @@
*/
#include <common.h>
#include <environment.h>
#include <i2c.h>
#include <miiphy.h>
#include <netdev.h>

View File

@ -11,6 +11,7 @@
#include <common.h>
#include <command.h>
#include <environment.h>
#include <i2c.h>
#include <asm/mach-types.h>
#include <asm/arch/cpu.h>

View File

@ -11,6 +11,7 @@
#include <common.h>
#include <command.h>
#include <environment.h>
#include <asm/mach-types.h>
#include <asm/arch/cpu.h>
#include <asm/arch/soc.h>

View File

@ -7,6 +7,7 @@
#include <common.h>
#include <dm.h>
#include <environment.h>
#include <asm/io.h>
#include <asm/arch/gxbb.h>
#include <asm/arch/mem.h>

View File

@ -7,6 +7,7 @@
#include <common.h>
#include <dm.h>
#include <environment.h>
#include <asm/io.h>
#include <asm/arch/gxbb.h>
#include <asm/arch/sm.h>

View File

@ -6,6 +6,7 @@
#include <common.h>
#include <dm.h>
#include <environment.h>
#include <asm/io.h>
#include <asm/arch/gxbb.h>
#include <asm/arch/sm.h>

View File

@ -7,6 +7,7 @@
#include <common.h>
#include <dm.h>
#include <environment.h>
#include <asm/io.h>
#include <asm/arch/gxbb.h>
#include <asm/arch/sm.h>

View File

@ -7,6 +7,7 @@
#include <common.h>
#include <dm.h>
#include <environment.h>
#include <i2c_eeprom.h>
#include <netdev.h>

View File

@ -9,6 +9,7 @@
*/
#include <common.h>
#include <environment.h>
#include <net.h>
#include <malloc.h>
#include <netdev.h>

View File

@ -10,6 +10,7 @@
#include <common.h>
#include <cpsw.h>
#include <environment.h>
#include <miiphy.h>
#include <asm/gpio.h>
#include <asm/arch/sys_proto.h>

View File

@ -9,6 +9,7 @@
*/
#include <common.h>
#include <environment.h>
#include <mmc.h>
#include <phy.h>
#include <netdev.h>

View File

@ -12,6 +12,7 @@
#include <ahci.h>
#include <dm.h>
#include <dwc_ahsata.h>
#include <environment.h>
#include <fsl_esdhc.h>
#include <miiphy.h>
#include <mtd_node.h>

View File

@ -9,6 +9,7 @@
*/
#include <common.h>
#include <environment.h>
#include <errno.h>
#include <miiphy.h>
#include <cpsw.h>

View File

@ -13,6 +13,7 @@
*/
#include <common.h>
#include <environment.h>
#include <status_led.h>
#include <netdev.h>
#include <net.h>

View File

@ -7,6 +7,7 @@
*/
#include <common.h>
#include <environment.h>
#include <status_led.h>
#include <net.h>
#include <netdev.h>

View File

@ -9,6 +9,7 @@
*/
#include <common.h>
#include <environment.h>
#include <fdt_support.h>
#include <usb.h>
#include <mmc.h>

View File

@ -10,6 +10,7 @@
*/
#include <common.h>
#include <environment.h>
#include <i2c.h>
#include <net.h>
#include <netdev.h>

View File

@ -19,6 +19,7 @@
#include <asm/mach-imx/iomux-v3.h>
#include <asm/mach-imx/mxc_i2c.h>
#include <asm/mach-imx/sata.h>
#include <environment.h>
#include <errno.h>
#include <fsl_esdhc.h>
#include <fuse.h>

View File

@ -22,6 +22,7 @@
#include <asm/setup.h>
#include <dm.h>
#include <dm/platform_data/serial_mxc.h>
#include <environment.h>
#include <hwconfig.h>
#include <i2c.h>
#include <fdt_support.h>

View File

@ -20,6 +20,7 @@
#include <linux/errno.h>
#include <asm/mach-imx/mxc_i2c.h>
#include <asm/mach-imx/mx5_video.h>
#include <environment.h>
#include <netdev.h>
#include <i2c.h>
#include <mmc.h>

View File

@ -21,6 +21,7 @@
#include <asm/mach-imx/mxc_i2c.h>
#include <asm/mach-imx/sata.h>
#include <asm/mach-imx/video.h>
#include <environment.h>
#include <fsl_esdhc.h>
#include <i2c.h>
#include <input.h>

View File

@ -16,6 +16,7 @@
*/
#include <common.h>
#include <dm.h>
#include <environment.h>
#include <ns16550.h>
#include <netdev.h>
#include <twl4030.h>

View File

@ -10,6 +10,7 @@
*/
#include <common.h>
#include <environment.h>
#include <errno.h>
#include <spl.h>
#include <asm/arch/cpu.h>

View File

@ -8,6 +8,7 @@
#include <asm/io.h>
#include <common.h>
#include <dm.h>
#include <environment.h>
#include <i2c.h>
#include <i2c_eeprom.h>
#include <netdev.h>

View File

@ -8,6 +8,7 @@
#include <inttypes.h>
#include <config.h>
#include <dm.h>
#include <environment.h>
#include <efi_loader.h>
#include <fdt_support.h>
#include <fdt_simplefb.h>

View File

@ -10,6 +10,7 @@
#include <malloc.h>
#include <dm.h>
#include <dm/platform_data/serial_sh.h>
#include <environment.h>
#include <asm/processor.h>
#include <asm/mach-types.h>
#include <asm/io.h>

View File

@ -12,6 +12,7 @@
#include <netdev.h>
#include <dm.h>
#include <dm/platform_data/serial_sh.h>
#include <environment.h>
#include <asm/processor.h>
#include <asm/mach-types.h>
#include <asm/io.h>

View File

@ -10,6 +10,7 @@
#include <malloc.h>
#include <dm.h>
#include <dm/platform_data/serial_sh.h>
#include <environment.h>
#include <asm/processor.h>
#include <asm/mach-types.h>
#include <asm/io.h>

View File

@ -11,6 +11,7 @@
#include <malloc.h>
#include <dm.h>
#include <dm/platform_data/serial_sh.h>
#include <environment.h>
#include <asm/processor.h>
#include <asm/mach-types.h>
#include <asm/io.h>

View File

@ -9,6 +9,7 @@
*/
#include <common.h>
#include <environment.h>
#include <malloc.h>
#include <netdev.h>
#include <dm.h>

View File

@ -5,6 +5,7 @@
*/
#include <common.h>
#include <environment.h>
#include <malloc.h>
#include <asm/processor.h>
#include <asm/io.h>

View File

@ -5,6 +5,7 @@
*/
#include <common.h>
#include <environment.h>
#include <malloc.h>
#include <asm/processor.h>
#include <asm/io.h>

View File

@ -5,6 +5,7 @@
*/
#include <common.h>
#include <environment.h>
#include <malloc.h>
#include <asm/processor.h>
#include <asm/io.h>

View File

@ -11,6 +11,7 @@
#include <malloc.h>
#include <dm.h>
#include <dm/platform_data/serial_sh.h>
#include <environment.h>
#include <asm/processor.h>
#include <asm/mach-types.h>
#include <asm/io.h>

View File

@ -14,6 +14,7 @@
#include <netdev.h>
#include <dm.h>
#include <dm/platform_data/serial_sh.h>
#include <environment.h>
#include <asm/processor.h>
#include <asm/mach-types.h>
#include <asm/io.h>

View File

@ -6,6 +6,7 @@
#include <common.h>
#include <dm.h>
#include <environment.h>
#include <i2c_eeprom.h>
#include <netdev.h>

View File

@ -18,6 +18,7 @@
#include <asm/mach-imx/mxc_i2c.h>
#include <linux/sizes.h>
#include <common.h>
#include <environment.h>
#include <fsl_esdhc.h>
#include <mmc.h>
#include <i2c.h>

View File

@ -5,6 +5,7 @@
*/
#include <common.h>
#include <environment.h>
#include <asm/arch/reset_manager.h>
#include <asm/io.h>
#include <asm/gpio.h>

View File

@ -9,6 +9,7 @@
#if !defined(CONFIG_SPL_BUILD)
#include <common.h>
#include <environment.h>
#include <i2c.h>
#include <asm/io.h>
#include <asm/arch/cpu.h>

View File

@ -14,6 +14,7 @@
*/
#include <common.h>
#include <environment.h>
#include <errno.h>
#include <spl.h>
#include <asm/arch/cpu.h>

View File

@ -7,6 +7,7 @@
*/
#include <common.h>
#include <environment.h>
#include <asm/arch/cpu.h>
#include <asm/arch/hardware.h>
#include <asm/arch/ddr_defs.h>

View File

@ -17,6 +17,7 @@
#include <asm/arch/crm_regs.h>
#include <asm/arch/clock.h>
#include <asm/mach-imx/mx5_video.h>
#include <environment.h>
#include <mmc.h>
#include <input.h>
#include <fsl_esdhc.h>

View File

@ -6,6 +6,7 @@
#include <common.h>
#include <dm.h>
#include <environment.h>
#include <misc.h>
#include <spl.h>
#include <syscon.h>

View File

@ -9,6 +9,7 @@
*/
#include <common.h>
#include <environment.h>
#include <i2c.h>
#include <linux/errno.h>
#include <spl.h>

View File

@ -10,6 +10,7 @@
#include <common.h>
#include <cpsw.h>
#include <environment.h>
#include <errno.h>
#include <spl.h>
#include <asm/arch/cpu.h>

View File

@ -8,6 +8,7 @@
*/
#include <common.h>
#include <environment.h>
#include <spl.h>
#include <netdev.h>
#include <asm/cache.h>

View File

@ -18,6 +18,7 @@
*/
#include <common.h>
#include <dm.h>
#include <environment.h>
#include <ns16550.h>
#include <twl4030.h>
#include <asm/io.h>

View File

@ -5,6 +5,7 @@
*/
#include <common.h>
#include <environment.h>
#include <g_dnl.h>
#include <linux/libfdt.h>

View File

@ -16,6 +16,7 @@
#include <common.h>
#include <command.h>
#include <elf.h>
#include <environment.h>
#include <net.h>
#include <vxworks.h>
#ifdef CONFIG_X86

View File

@ -8,6 +8,7 @@
#include <common.h>
#include <command.h>
#include <environment.h>
#include <errno.h>
#include <env_flags.h>
#include <ethsw.h>

View File

@ -341,6 +341,36 @@ ulong env_get_hex(const char *varname, ulong default_val)
return value;
}
void eth_parse_enetaddr(const char *addr, uint8_t *enetaddr)
{
char *end;
int i;
for (i = 0; i < 6; ++i) {
enetaddr[i] = addr ? simple_strtoul(addr, &end, 16) : 0;
if (addr)
addr = (*end) ? end + 1 : end;
}
}
int eth_env_get_enetaddr(const char *name, uint8_t *enetaddr)
{
eth_parse_enetaddr(env_get(name), enetaddr);
return is_valid_ethaddr(enetaddr);
}
int eth_env_set_enetaddr(const char *name, const uint8_t *enetaddr)
{
char buf[ARP_HLEN_ASCII + 1];
if (eth_env_get_enetaddr(name, (uint8_t *)buf))
return -EEXIST;
sprintf(buf, "%pM", enetaddr);
return env_set(name, buf);
}
#ifndef CONFIG_SPL_BUILD
static int do_env_set(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
{

View File

@ -8,6 +8,7 @@
#include <common.h>
#include <dm.h>
#include <environment.h>
#include <fdt_support.h>
#include <asm/io.h>
#include <cpsw.h>

View File

@ -10,6 +10,7 @@
#include <common.h>
#include <dm.h>
#include <environment.h>
#include <malloc.h>
#include <memalign.h>
#include <miiphy.h>

View File

@ -9,6 +9,7 @@
*/
#include <common.h>
#include <environment.h>
#include <malloc.h>
#include <command.h>
#include <config.h>

View File

@ -9,6 +9,7 @@
*/
#include <common.h>
#include <environment.h>
#include <malloc.h>
#include <command.h>

View File

@ -74,6 +74,7 @@ Add SNMP
#include <common.h>
#include <command.h>
#include <environment.h>
#include <net.h>
#include <malloc.h>
#include <linux/compiler.h>

View File

@ -11,6 +11,7 @@
#include <config.h>
#include <common.h>
#include <environment.h>
#include <malloc.h>
#include <net.h>
#include <netdev.h>

View File

@ -10,6 +10,7 @@
#include <common.h>
#include <console.h>
#include <environment.h>
#include <linux/errno.h>
#include <linux/netdevice.h>
#include <linux/usb/ch9.h>

View File

@ -314,6 +314,10 @@ int env_load(void);
*/
int env_save(void);
void eth_parse_enetaddr(const char *addr, uint8_t *enetaddr);
int eth_env_get_enetaddr(const char *name, uint8_t *enetaddr);
int eth_env_set_enetaddr(const char *name, const uint8_t *enetaddr);
#endif /* DO_DEPS_ONLY */
#endif /* _ENVIRONMENT_H_ */

View File

@ -238,9 +238,6 @@ void eth_try_another(int first_restart); /* Change the device */
void eth_set_current(void); /* set nterface to ethcur var */
int eth_get_dev_index(void); /* get the device index */
void eth_parse_enetaddr(const char *addr, uchar *enetaddr);
int eth_env_get_enetaddr(const char *name, uchar *enetaddr);
int eth_env_set_enetaddr(const char *name, const uchar *enetaddr);
/**
* eth_env_set_enetaddr_by_index() - set the MAC address environment variable

View File

@ -8,40 +8,11 @@
#include <common.h>
#include <dm.h>
#include <environment.h>
#include <miiphy.h>
#include <net.h>
#include "eth_internal.h"
void eth_parse_enetaddr(const char *addr, uchar *enetaddr)
{
char *end;
int i;
for (i = 0; i < 6; ++i) {
enetaddr[i] = addr ? simple_strtoul(addr, &end, 16) : 0;
if (addr)
addr = (*end) ? end + 1 : end;
}
}
int eth_env_get_enetaddr(const char *name, uchar *enetaddr)
{
eth_parse_enetaddr(env_get(name), enetaddr);
return is_valid_ethaddr(enetaddr);
}
int eth_env_set_enetaddr(const char *name, const uchar *enetaddr)
{
char buf[ARP_HLEN_ASCII + 1];
if (eth_env_get_enetaddr(name, (uchar *)buf))
return -EEXIST;
sprintf(buf, "%pM", enetaddr);
return env_set(name, buf);
}
int eth_env_get_enetaddr_by_index(const char *base_name, int index,
uchar *enetaddr)
{