From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michal Simek Date: Mon, 11 Oct 2010 11:37:09 +1000 Subject: [U-Boot] [PATCH 2/4] net: Move Emaclite to NET_MULTI In-Reply-To: <4C7DE91A.4040102@gmail.com> References: <1280753377-2894-1-git-send-email-monstr@monstr.eu> <1280753377-2894-2-git-send-email-monstr@monstr.eu> <4C7DE91A.4040102@gmail.com> Message-ID: <4CB26A45.7020004@monstr.eu> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi Ben, Ben Warren wrote: > Hi Michal, > > Sorry for the delay in reviewing > > On 8/2/2010 5:49 AM, Michal Simek wrote: >> Emaclite was using old net api that's why >> this patch move emaclite to NET_MULTI api. >> >> Signed-off-by: Michal Simek >> --- >> drivers/net/xilinx_emaclite.c | 84 >> +++++++++++++++++++++++------------------ >> include/netdev.h | 1 + >> 2 files changed, 48 insertions(+), 37 deletions(-) >> >> diff --git a/drivers/net/xilinx_emaclite.c >> b/drivers/net/xilinx_emaclite.c >> index 0820daa..f460525 100644 ... >> * TX - TX_PING& TX_PONG initialization >> @@ -158,7 +145,7 @@ int eth_init (bd_t * bis) >> /* Restart PING TX */ >> out_be32 (emaclite.baseaddress + XEL_TSR_OFFSET, 0); >> /* Copy MAC address */ >> - xemaclite_alignedwrite (enetaddr, >> + xemaclite_alignedwrite (dev->enetaddr, >> emaclite.baseaddress, ENET_ADDR_LENGTH); >> /* Set the length */ >> out_be32 (emaclite.baseaddress + XEL_TPLR_OFFSET, >> ENET_ADDR_LENGTH); >> @@ -171,7 +158,7 @@ int eth_init (bd_t * bis) >> #ifdef CONFIG_XILINX_EMACLITE_TX_PING_PONG >> /* The same operation with PONG TX */ >> out_be32 (emaclite.baseaddress + XEL_TSR_OFFSET + >> XEL_BUFFER_OFFSET, 0); >> - xemaclite_alignedwrite (enetaddr, emaclite.baseaddress + >> + xemaclite_alignedwrite (dev->enetaddr, emaclite.baseaddress + >> XEL_BUFFER_OFFSET, ENET_ADDR_LENGTH); >> out_be32 (emaclite.baseaddress + XEL_TPLR_OFFSET, >> ENET_ADDR_LENGTH); > Please consider moving this stuff to a separate function. If you bind > it to dev->write_hwaddr(), programming will occur at initialization time. I consider it. This driver is well tested. We are using it for a long time that's why I prefer to keep it as is. I would look at it when I have free time. ... >> + >> +int xilinx_emaclite_initialize (bd_t *bis) >> +{ >> + struct eth_device *dev; >> + >> + dev = malloc(sizeof(*dev)); >> + if (dev == NULL) >> + hang(); >> + >> + memset(dev, 0, sizeof(*dev)); >> + sprintf(dev->name, "Xilinx Emaclite"); >> + >> + dev->iobase = XILINX_EMACLITE_BASEADDR; > Can you pass this in as a parameter instead? You don't seem to use > 'bis', so it's not necessary I did it. version 2 will contain this change. I am going to send v2. Please review it. I am also sending second patch with little endian support. Thanks, Michal -- Michal Simek, Ing. (M.Eng) w: www.monstr.eu p: +42-0-721842854 Maintainer of Linux kernel 2.6 Microblaze Linux - http://www.monstr.eu/fdt/ Microblaze U-BOOT custodian