From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mike Frysinger Date: Sat, 11 Jul 2009 21:09:15 -0400 Subject: [U-Boot] macb: get mac address from environment In-Reply-To: References: Message-ID: <200907112109.16586.vapier@gentoo.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Saturday 11 July 2009 19:05:40 Andrzej Wolski wrote: > This fix macb driver broken by commit > 56b555a644f3cbb1b3929cb52b61d3ce483885f5 what exactly broke ? drivers that are ported to NET_MULTI should *not* be getting the mac from the environment. and from what i can see, the macb driver is properly supporting the NET_MULTI setup. > --- a/drivers/net/macb.c > +++ b/drivers/net/macb.c > @@ -408,8 +408,7 @@ static int macb_init(struct eth_device *netdev, bd_t > *bd) > { > struct macb_device *macb = to_macb(netdev); > unsigned long paddr; > - u32 hwaddr_bottom; > - u16 hwaddr_top; > + uchar enetaddr[6]; > int i; > > /* > @@ -439,10 +438,10 @@ static int macb_init(struct eth_device *netdev, > bd_t *bd) > macb_writel(macb, TBQP, macb->tx_ring_dma); > > /* set hardware address */ > - hwaddr_bottom = cpu_to_le32(*((u32 *)netdev->enetaddr)); > - macb_writel(macb, SA1B, hwaddr_bottom); > - hwaddr_top = cpu_to_le16(*((u16 *)(netdev->enetaddr + 4))); > - macb_writel(macb, SA1T, hwaddr_top); > + eth_getenv_enetaddr("ethaddr", enetaddr); > + macb_writel(macb, SA1B, (enetaddr[3] << 24) | (enetaddr[2] << 16) > + | (enetaddr[1] << 8) | (enetaddr[0])); > + macb_writel(macb, SA1T, (enetaddr[5] << 8) | (enetaddr[4])); > > /* choose RMII or MII mode. This depends on the board */ > #ifdef CONFIG_RMII looks to me like the existing code is correct and your new proposed code is not -mike -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 836 bytes Desc: This is a digitally signed message part. Url : http://lists.denx.de/pipermail/u-boot/attachments/20090711/57d46a57/attachment.pgp