Hi Michal, Michal Simek wrote:
<snip> >> 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. > > According to the documentation I could find, weak symbols were present in gcc 3.4.1. Are you sure you're using them properly? Due to the way linking is performed in U-boot, any weak symbol overrides need to be in source files that have strongly linked symbols. You'll see that all implementations of cpu_eth_init() and board_eth_init() are in files that already contain stuff that is sure to be linked. > 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 > > If you're really unable to make this change due to your tools, I'm not opposed to pulling this driver in. I just want to know that you intend to port all the Xilinx drivers over some time in the near future. regards, Ben _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot