[U-Boot] [PATCH 3/3][Net][ARM] Switched dm644x_emac Ethernet driver to use newer API

Ben Warren
2009-04-29T22:11:45Z

Jean-Christophe PLAGNIOL-VILLARD wrote:
> On 13:29 Wed 29 Apr , Ben Warren wrote:
>
>> Hi J-C,
>>
>> Jean-Christophe PLAGNIOL-VILLARD wrote:
>> <snip>
>>
>>>> +/*
>>>> + * * Initializes on-chip ethernet controllers.
>>>> + * * to override, implement board_eth_init()
>>>> + * */
>>>> +int cpu_eth_init(bd_t *bis)
>>>> +{
>>>> +#if defined(CONFIG_DRIVER_TI_EMAC)
>>>> + dm644x_emac_initialize();
>>>> +#endif
>>>> + return 0;
>>>> +}
>>>>
>>>>
>>> please move this to the soc
>>> arm926ejs/davinci/cpu.c
>>>
>>> the cpu.c is destinated to be removed in most of the case
>>> or at least all the soc specific code
>>>
>>> Best Regards,
>>> J.
>>>
>>>
>> There is currently no such file (not even in arm/next), or that's where
>> this would have gone. This function needs to be in a source file that
>> already has strongly-linked symbols or it won't override the weak
>> version in net/eth.c. I'm certainly open to suggestions.
>>
> or simply add an entry in the lds this will force the file to be evaluated
> first
>
>
That's not a scalable solution and isn't how we did it with other
controllers. If there's no file that's guaranteed to be included in all
Davinci boards that will have this MAC, an alternative is to implement
board_eth_init() on each board, but IMHO that's worse architecturally.
> Best Regards,
> J.
>
regards,
Ben