On Tuesday, March 01, 2011 03:19:12 Michal Simek wrote:
> >> +static void setup_mac(struct eth_device *dev)
> >> +{
> >> +  /* Set the MAC address */
> >> +  int val = ((dev->enetaddr[3] << 24) | (dev->enetaddr[2] << 16) |
> >> +          (dev->enetaddr[1] << 8) | (dev->enetaddr[0]));
> >> +  out_be32(dev->iobase + XAE_UAW0_OFFSET, val);
> >> +
> >> +  val = (dev->enetaddr[5] << 8) | dev->enetaddr[4] ;
> >> +  val |= in_be32(dev->iobase + XAE_UAW1_OFFSET)
> >> +                                          & ~XAE_UAW1_UNICASTADDR_MASK;
> >> +  out_be32(dev->iobase + XAE_UAW1_OFFSET, val);
> >> +}
> >> ...
> >> +static int axiemac_init(struct eth_device *dev, bd_t * bis)
> >> +{
> >> ...
> >> +  setup_mac(dev);
> > 
> > this should be moved to eth_device.write_hwaddr in the initialize
> > function. then the common layers will call setup_mac for you as needed.
> 
> I am not going to use write_hwaddr function because axi emac needs some
> initialization before you can write a mac addr that's why I will keep it
> in the same location as is.

please add explicit comments to the setup_mac() func then so someone else 
doesnt go changing things without taking this into consideration first
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

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

Reply via email to