[U-Boot] [PATCH 1/1] net: Add Xilinx LL Temac driver version2

Ben Warren biggerbadderben at gmail.com
Mon Feb 23 19:29:17 CET 2009


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


More information about the U-Boot mailing list