
Hi Ben,
Hi Michal,
You submitted this so long ago that this driver should be in the tree right now. Unfortunately, I didn't give a thorough enough review the first time and I think it would be wrong to pull it in right now without addressing some more things. If you take care of this, I promise to put it in the front of the queue for the next release:
monstr@monstr.eu wrote:
From: Michal Simek monstr@monstr.eu
This '---' line ensures that nothing below it (including your SOB) goes in the commit. Please remove it, add a meaningful commit message and move the next few lines below the next '---' line. Also, the "version 2" in the title should be in square brackets so it get stripped from the commit title.
v2: Coding style cleanup, use debug() instead of printf in debug messages
v1: Initial version
Signed-off-by: Michal Simek monstr@monstr.eu
drivers/net/Makefile | 1 + drivers/net/xilinx_ll_temac.c | 540 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 541 insertions(+), 0 deletions(-) create mode 100644 drivers/net/xilinx_ll_temac.c
diff --git a/drivers/net/Makefile b/drivers/net/Makefile index 631336a..1e80698 100644 --- a/drivers/net/Makefile +++ b/drivers/net/Makefile @@ -68,6 +68,7 @@ COBJS-$(CONFIG_ULI526X) += uli526x.o COBJS-$(CONFIG_VSC7385_ENET) += vsc7385.o COBJS-$(CONFIG_XILINX_EMAC) += xilinx_emac.o COBJS-$(CONFIG_XILINX_EMACLITE) += xilinx_emaclite.o +COBJS-$(CONFIG_XILINX_LL_TEMAC) += xilinx_ll_temac.o COBJS-$(CONFIG_SH_ETHER) += sh_eth.o
This doesn't apply any more. Not your fault :)
I get the following whitespace errors:
Applying net: Add Xilinx LL Temac driver .dotest/patch:415: trailing whitespace. .dotest/patch:419: trailing whitespace. .dotest/patch:424: trailing whitespace.
yes, There were three tabs.
All of the above mentioned issues are ones that I could easily deal with, but one thing that really does need to change is that you need to use the CONFIG_NET_MULTI API. In other words, your driver should have a single initialize() function (prototyped in include/netdev.h), and an eth_device struct that gets registered. All your access functions (eth_init, eth_send, eth_recv etc.) will be static and pointed to by the eth_device struct. Most drivers are already this way.
I look at it and I did some change and the main problem is in Microblaze GCC. We use GCC 3.4.1 and CONFIG_NET_MULTI use weak function and board_eth_init is never called. We are working on GCC 4.1.2 but I don't know when I get it.
I have two more Xilinx eth drivers in U-BOOT and I think that will be the best to do all changes together. What do you think?
Thanks, Michal
Other than that, it's fine. Sorry again for taking so very long.
regards, Ben