[U-Boot] [PATCH NET 1/2] Net: Remove redundant CONFIG_NET_MULTI directives

All are within an #ifdef CONFIG_NET_MULTI block already
Signed-off-by: Ben Warren biggerbadderben@gmail.com --- net/eth.c | 16 ++++------------ 1 files changed, 4 insertions(+), 12 deletions(-)
diff --git a/net/eth.c b/net/eth.c index 993306f..5c70d4f 100644 --- a/net/eth.c +++ b/net/eth.c @@ -263,7 +263,6 @@ int eth_initialize(bd_t *bis) dev = dev->next; } while(dev != eth_devices);
-#ifdef CONFIG_NET_MULTI /* update current ethernet name */ if (eth_current) { char *act = getenv("ethact"); @@ -271,7 +270,6 @@ int eth_initialize(bd_t *bis) setenv("ethact", eth_current->name); } else setenv("ethact", NULL); -#endif
putc ('\n'); } @@ -441,7 +439,7 @@ int eth_receive(volatile void *packet, int length) void eth_try_another(int first_restart) { static struct eth_device *first_failed = NULL; - char *ethrotate; + char *ethrotate, *act;
/* * Do not rotate between network interfaces when @@ -460,21 +458,16 @@ void eth_try_another(int first_restart)
eth_current = eth_current->next;
-#ifdef CONFIG_NET_MULTI /* update current ethernet name */ - { - char *act = getenv("ethact"); - if (act == NULL || strcmp(act, eth_current->name) != 0) - setenv("ethact", eth_current->name); - } -#endif + act = getenv("ethact"); + if (act == NULL || strcmp(act, eth_current->name) != 0) + setenv("ethact", eth_current->name);
if (first_failed == eth_current) { NetRestartWrap = 1; } }
-#ifdef CONFIG_NET_MULTI void eth_set_current(void) { static char *act = NULL; @@ -501,7 +494,6 @@ void eth_set_current(void)
setenv("ethact", eth_current->name); } -#endif
char *eth_get_name (void) {

This has always been confusing, and the idea of these functions returning the number of interfaces initialized was half-baked and ultimately pointless. Instead, act more like regular functions and return < 0 on failure, >= 0 on success.
This change shouldn't break anything.
Signed-off-by: Ben Warren biggerbadderben@gmail.com --- net/eth.c | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-)
diff --git a/net/eth.c b/net/eth.c index 5c70d4f..6082c90 100644 --- a/net/eth.c +++ b/net/eth.c @@ -204,10 +204,18 @@ int eth_initialize(bd_t *bis) #if defined(CONFIG_MII) || defined(CONFIG_CMD_MII) miiphy_init(); #endif - /* Try board-specific initialization first. If it fails or isn't - * present, try the cpu-specific initialization */ - if (board_eth_init(bis) < 0) - cpu_eth_init(bis); + /* + * If board-specific initialization exists, call it. + * If not, call a CPU-specific one + */ + if (board_eth_init != __def_eth_init) { + if (board_eth_init(bis) < 0) + printf("Board Net Initialization Failed\n"); + } else if (cpu_eth_init != __def_eth_init) { + if (cpu_eth_init(bis) < 0) + printf("CPU Net Initialization Failed\n"); + } else + printf("Net Initialization Skipped\n");
#if defined(CONFIG_DB64360) || defined(CONFIG_CPCI750) mv6436x_eth_initialize(bis);

On Wednesday, September 01, 2010 02:05:04 Ben Warren wrote:
- if (board_eth_init != __def_eth_init) {
- } else if (cpu_eth_init != __def_eth_init) {
i'm not sure these changes are useful. the resolution of the symbols happens at link time, so it isnt like gcc will be able to optimize away the default.
if anything, it'd make more sense to declare the functions as external/weak, and then check that the pointer is not NULL. that'd save on the overhead of having uncalled stub functions that merely return 0 in the final linked image. -mike

Hi Mike,
On 9/1/2010 10:04 AM, Mike Frysinger wrote:
On Wednesday, September 01, 2010 02:05:04 Ben Warren wrote:
- if (board_eth_init != __def_eth_init) {
- } else if (cpu_eth_init != __def_eth_init) {
i'm not sure these changes are useful. the resolution of the symbols happens at link time, so it isnt like gcc will be able to optimize away the default.
if anything, it'd make more sense to declare the functions as external/weak, and then check that the pointer is not NULL. that'd save on the overhead of having uncalled stub functions that merely return 0 in the final linked image. -mike
This did work as I hoped on my PPC eval board, but maybe not globally. I remember that initially, with the functions defined as weak but with no body, check for NULL didn't work. I've never tried declaring them as external, though.
thanks, Ben

Dear Ben Warren,
In message 1283321104-953-2-git-send-email-biggerbadderben@gmail.com you wrote:
This has always been confusing, and the idea of these functions returning the number of interfaces initialized was half-baked and ultimately pointless. Instead, act more like regular functions and return < 0 on failure, >= 0 on success.
This change shouldn't break anything.
Signed-off-by: Ben Warren biggerbadderben@gmail.com
net/eth.c | 16 ++++++++++++---- 1 files changed, 12 insertions(+), 4 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk

On 8/31/2010 11:05 PM, Ben Warren wrote:
All are within an #ifdef CONFIG_NET_MULTI block already
Signed-off-by: Ben Warrenbiggerbadderben@gmail.com
net/eth.c | 16 ++++------------ 1 files changed, 4 insertions(+), 12 deletions(-)
Applied to net/next
regards, Ben
participants (3)
-
Ben Warren
-
Mike Frysinger
-
Wolfgang Denk