
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 Simekmonstr@monstr.eu
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