[U-Boot] [PATCH 1/4] net: extend the netdev to have a common way to set the hw mac address

Ben Warren biggerbadderben at gmail.com
Tue May 12 02:28:05 CEST 2009


Jean-Christophe PLAGNIOL-VILLARD wrote:
> init it at the eth_initialize
>
> this will allow to add later a hook to update the enetadd hw storage
> when it's updated in env or when the env is saved
>
> Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj at jcrosoft.com>
> Cc: Ben Warren <biggerbadderben at gmail.com>
> ---
>  include/net.h |    2 ++
>  net/eth.c     |    4 ++++
>  2 files changed, 6 insertions(+), 0 deletions(-)
>
> diff --git a/include/net.h b/include/net.h
> index 5a1d36e..2ed6263 100644
> --- a/include/net.h
> +++ b/include/net.h
> @@ -93,6 +93,7 @@ enum eth_state_t {
>  };
>  
>  struct eth_device {
> +	int num;
>  	char name[NAMESIZE];
>  	unsigned char enetaddr[6];
>  	int iobase;
> @@ -105,6 +106,7 @@ struct eth_device {
>  #ifdef CONFIG_MCAST_TFTP
>  	int (*mcast) (struct eth_device*, u32 ip, u8 set);
>  #endif
> +	int  (*set_hw_enetaddr) (struct eth_device*, bd_t*);
>  	struct eth_device *next;
>  	void *priv;
>  };
> diff --git a/net/eth.c b/net/eth.c
> index c6fa5b9..99bb6c2 100644
> --- a/net/eth.c
> +++ b/net/eth.c
> @@ -217,6 +217,8 @@ int eth_initialize(bd_t *bis)
>  			if (eth_number)
>  				puts (", ");
>  
> +			dev->num = eth_number;
> +
>  			printf("%s", dev->name);
>  
>  			if (ethprime && strcmp (dev->name, ethprime) == 0) {
> @@ -240,6 +242,8 @@ int eth_initialize(bd_t *bis)
>  				}
>  
>  				memcpy(dev->enetaddr, env_enetaddr, 6);
> +				if(dev->set_hw_enetaddr)
> +					dev->set_hw_enetaddr(dev, bis);
>  			}
>  
>  			eth_number++;
>   
NAK, as convincingly explained by others.

regards,
Ben


More information about the U-Boot mailing list