[U-Boot] [PATCH][Net] Convert SMC91111 Ethernet driver toCONFIG_NET_MULTI API

Ben Warren biggerbadderben at gmail.com
Tue Jul 28 00:17:34 CEST 2009


Hi Robin,

Robin Getz wrote:
> On Mon 27 Jul 2009 17:43, Ben Warren pondered:
>   
>> All in-tree boards that use this controller have CONFIG_NET_MULTI
>> added
>>     
>
> First - thanks.
>
> Second - It's a style thing, but...
>
>   
>> ---
>>  board/bf533-ezkit/bf533-ezkit.c               |   12 +
>>  include/netdev.h                              |    1 +
>>  71 files changed, 888 insertions(+), 490 deletions(-)
>>     
> [snip] 
>   
>> diff --git a/board/bf533-ezkit/bf533-ezkit.c
>> b/board/bf533-ezkit/bf533-ezkit.c
>> index d5f0b7c..ff0e15e 100644
>> --- a/board/bf533-ezkit/bf533-ezkit.c
>> +++ b/board/bf533-ezkit/bf533-ezkit.c
>> @@ -26,6 +26,7 @@
>>   */
>>  
>>  #include <common.h>
>> +#include <netdev.h>
>>  #include "psd4256.h"
>>  #include "flash-defines.h"
>>  
>> @@ -57,3 +58,14 @@ int misc_init_r(void)
>>  
>>  	return 0;
>>  }
>> +
>> +#ifdef CONFIG_CMD_NET
>> +int board_eth_init(bd_t *bis)
>> +{
>> +	int rc = 0;
>> +#ifdef CONFIG_SMC91111
>> +	rc = smc91111_initialize(0, CONFIG_SMC91111_BASE);
>> +#endif
>> +	return rc;
>> +}
>> +#endif
>>     
> [snip]
>   
>> diff --git a/include/netdev.h b/include/netdev.h
>> index 3e66586..4636b57 100644
>> --- a/include/netdev.h
>> +++ b/include/netdev.h
>> @@ -73,6 +73,7 @@ int rtl8169_initialize(bd_t *bis);
>>  int scc_initialize(bd_t *bis);
>>  int skge_initialize(bd_t *bis);
>>  int smc911x_initialize(u8 dev_num, int base_addr);
>> +int smc91111_initialize(u8 dev_num, int base_addr);
>>  int tsi108_eth_initialize(bd_t *bis);
>>  int uec_initialize(int index);
>>  int uec_standard_init(bd_t *bis);
>>     
>
> would be alot less ifdefs if you put it in the header file...
>
> #ifdef CONFIG_SMC91111
> int smc91111_initialize(u8 dev_num, int base_addr);
> #else
> #define smc91111_initialize(dev_num, base_addr) 0
> #endif
>
> that would remove all the "ifdef CONFIG_SMC91111" in all the board files...
>
> also would not be required to set the initial value anymore either...
>
> -Robin
>   
I actually like to have them in the board C code.  To the casual 
observer, it is obvious that certain ethernet controllers are optional, 
whereas if all they see is a string of initialization functions for 
different chips they might say, "WTF?".

regards,
Ben


More information about the U-Boot mailing list