[U-Boot] [PATCH 2/3] net: add getenv/setenv enetaddr function to use ethernet device num

Wolfgang Denk wd at denx.de
Wed Aug 12 20:58:00 CEST 2009


Dear Jean-Christophe PLAGNIOL-VILLARD,

In message <1250023747-20224-2-git-send-email-plagnioj at jcrosoft.com> you wrote:
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> ---
>  include/net.h |    2 ++
>  net/eth.c     |   28 +++++++++++++++++++++++++---
>  2 files changed, 27 insertions(+), 3 deletions(-)

NAK.

First, there are formal issues:

- The subject line is way too long.

- There is no commit message and no description what this patch is
  supposed to do or to fix. Why should we add it?

> index 2a8a12d..dc4ae41 100644
> --- a/include/net.h
> +++ b/include/net.h
> @@ -124,6 +124,8 @@ extern void eth_set_enetaddr(int num, char* a);	/* Set new MAC address */
>  extern void eth_parse_enetaddr(const char *addr, uchar *enetaddr);
>  extern int eth_getenv_enetaddr(char *name, uchar *enetaddr);
>  extern int eth_setenv_enetaddr(char *name, const uchar *enetaddr);
> +extern int eth_getenv_num_enetaddr(int num, uchar *enetaddr);
> +extern int eth_setenv_num_enetaddr(int num, const uchar *enetaddr);

What are these functions god for? Are they by any chance duplicationg
existing code, got example eth_getenv_enetaddr_by_index() ?

>  extern int eth_init(bd_t *bis);			/* Initialize the device */
>  extern int eth_send(volatile void *packet, int length);	   /* Send a packet */
> diff --git a/net/eth.c b/net/eth.c
> index 2316a22..9bdf961 100644
> --- a/net/eth.c
> +++ b/net/eth.c
> @@ -27,6 +27,12 @@
>  #include <miidev.h>
>  
>  #ifdef CONFIG_CMD_NET
> +
> +static void get_enetvar(int num, char *enetvar)

Should this not be "uchar *", to stay consistent with the other code?

> +{
> +	sprintf(enetvar, num ? "eth%daddr" : "ethaddr", num);
> +}
> +
>  void eth_parse_enetaddr(const char *addr, uchar *enetaddr)
>  {
>  	char *end;
> @@ -53,6 +59,24 @@ int eth_setenv_enetaddr(char *name, const uchar *enetaddr)
>  
>  	return setenv(name, buf);
>  }
> +
> +int eth_getenv_num_enetaddr(int num, uchar *enetaddr)
> +{
> +	char enetvar[32];
> +
> +	get_enetvar(num, enetvar);
> +
> +	return eth_getenv_enetaddr(enetvar, enetaddr);
> +}

Looks very much like eth_getenv_enetaddr_by_index() to me. What do you
need this for?


Please elucidate...

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
"The algorithm to do that is extremely nasty. You might want  to  mug
someone with it."                   - M. Devine, Computer Science 340


More information about the U-Boot mailing list