Hi Mike,

On 4/27/2010 11:15 AM, Mike Frysinger wrote:
> Signed-off-by: Mike Frysinger<vap...@gentoo.org>
> ---
>   drivers/net/bfin_mac.c |   28 +++++++++++++++-------------
>   drivers/net/bfin_mac.h |    3 +--
>   2 files changed, 16 insertions(+), 15 deletions(-)
>
> diff --git a/drivers/net/bfin_mac.c b/drivers/net/bfin_mac.c
> index ec45b63..720e126 100644
> --- a/drivers/net/bfin_mac.c
> +++ b/drivers/net/bfin_mac.c
> @@ -106,6 +106,7 @@ int bfin_EMAC_initialize(bd_t *bis)
>       dev->halt = bfin_EMAC_halt;
>       dev->send = bfin_EMAC_send;
>       dev->recv = bfin_EMAC_recv;
> +     dev->write_hwaddr = bfin_EMAC_setup_addr;
>
>       eth_register(dev);
>
> @@ -303,6 +304,19 @@ static int bfin_miiphy_init(struct eth_device *dev, int 
> *opmode)
>       return 0;
>   }
>
> +static int bfin_EMAC_setup_addr(struct eth_device *dev)
> +{
> +     *pEMAC_ADDRLO =
> +             dev->enetaddr[0] |
> +             dev->enetaddr[1]<<  8 |
> +             dev->enetaddr[2]<<  16 |
> +             dev->enetaddr[3]<<  24;
> +     *pEMAC_ADDRHI =
> +             dev->enetaddr[4] |
> +             dev->enetaddr[5]<<  8;
> +     return 0;
> +}
> +
>   static int bfin_EMAC_init(struct eth_device *dev, bd_t *bd)
>   {
>       u32 opmode;
> @@ -318,7 +332,7 @@ static int bfin_EMAC_init(struct eth_device *dev, bd_t 
> *bd)
>               return -1;
>
>       /* Initialize EMAC address */
> -     bfin_EMAC_setup_addr(dev->enetaddr);
> +     bfin_EMAC_setup_addr(dev);
>    
Are you sure you still want to program it on every init() call?  There's 
nothing wrong with that, BTW...

regards,
Ben
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to