On Fri, Nov 25, 2016 at 9:30 AM, Olliver Schinagl <oli...@schinagl.nl> wrote:
> This patch adds a method for the board to set the MAC address if the
> environment is not yet set. The environment based MAC addresses are not
> touched, but if the fdt has an alias set, it is parsed and put into the
> environment.
>
> E.g. The environment contains ethaddr and eth1addr, and the fdt contains
> an ethernet1 nothing happens. If the fdt contains ethernet2 however, it
> is parsed and inserted into the environment as eth2addr.
>
> Signed-off-by: Olliver Schinagl <oli...@schinagl.nl>
> ---
>  common/fdt_support.c | 8 +++++++-
>  1 file changed, 7 insertions(+), 1 deletion(-)
>
> diff --git a/common/fdt_support.c b/common/fdt_support.c
> index c34a13c..f127392 100644
> --- a/common/fdt_support.c
> +++ b/common/fdt_support.c
> @@ -465,6 +465,11 @@ int fdt_fixup_memory(void *blob, u64 start, u64 size)
>         return fdt_fixup_memory_banks(blob, &start, &size, 1);
>  }
>
> +__weak int board_get_enetaddr(const int i, unsigned char *mac_addr)

Ugh. This collides with a function in board/v38b/ethaddr.c and in
board/intercontrol/digsy_mtc/digsy_mtc.c

Also, it's so generic, and only gets called by the fdt fixup stuff...
This function should probably be named in such a way that its
association with fdt is clear.

> +{
> +       return -ENOSYS;
> +}
> +
>  void fdt_fixup_ethernet(void *fdt)
>  {
>         int i, prop;
> @@ -507,7 +512,8 @@ void fdt_fixup_ethernet(void *fdt)
>                         if (fdt_eth_addr)
>                                 eth_parse_enetaddr(fdt_eth_addr, mac_addr);
>                         else
> -                               continue;
> +                               if (board_get_enetaddr(i, mac_addr) < 0)
> +                                       continue;
>
>                         do_fixup_by_path(fdt, path, "mac-address",
>                                          &mac_addr, 6, 0);
> --
> 2.10.2
>
> _______________________________________________
> U-Boot mailing list
> U-Boot@lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to