All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH NET 1/2] Net: Remove redundant CONFIG_NET_MULTI directives
@ 2010-09-01  6:05 Ben Warren
  2010-09-01  6:05 ` [U-Boot] [PATCH NET 2/2] Net: clarify board/cpu_eth_init calls Ben Warren
  2010-09-13  4:07 ` [U-Boot] [PATCH NET 1/2] Net: Remove redundant CONFIG_NET_MULTI directives Ben Warren
  0 siblings, 2 replies; 6+ messages in thread
From: Ben Warren @ 2010-09-01  6:05 UTC (permalink / raw)
  To: u-boot

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)
 {
-- 
1.6.0.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH NET 2/2] Net: clarify board/cpu_eth_init calls
  2010-09-01  6:05 [U-Boot] [PATCH NET 1/2] Net: Remove redundant CONFIG_NET_MULTI directives Ben Warren
@ 2010-09-01  6:05 ` Ben Warren
  2010-09-01 17:04   ` Mike Frysinger
  2010-11-14 23:01   ` Wolfgang Denk
  2010-09-13  4:07 ` [U-Boot] [PATCH NET 1/2] Net: Remove redundant CONFIG_NET_MULTI directives Ben Warren
  1 sibling, 2 replies; 6+ messages in thread
From: Ben Warren @ 2010-09-01  6:05 UTC (permalink / raw)
  To: u-boot

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);
-- 
1.6.0.4

^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH NET 2/2] Net: clarify board/cpu_eth_init calls
  2010-09-01  6:05 ` [U-Boot] [PATCH NET 2/2] Net: clarify board/cpu_eth_init calls Ben Warren
@ 2010-09-01 17:04   ` Mike Frysinger
  2010-09-01 19:13     ` Ben Warren
  2010-11-14 23:01   ` Wolfgang Denk
  1 sibling, 1 reply; 6+ messages in thread
From: Mike Frysinger @ 2010-09-01 17:04 UTC (permalink / raw)
  To: u-boot

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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: This is a digitally signed message part.
Url : http://lists.denx.de/pipermail/u-boot/attachments/20100901/5982e609/attachment.pgp 

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH NET 2/2] Net: clarify board/cpu_eth_init calls
  2010-09-01 17:04   ` Mike Frysinger
@ 2010-09-01 19:13     ` Ben Warren
  0 siblings, 0 replies; 6+ messages in thread
From: Ben Warren @ 2010-09-01 19:13 UTC (permalink / raw)
  To: u-boot

  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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH NET 1/2] Net: Remove redundant CONFIG_NET_MULTI directives
  2010-09-01  6:05 [U-Boot] [PATCH NET 1/2] Net: Remove redundant CONFIG_NET_MULTI directives Ben Warren
  2010-09-01  6:05 ` [U-Boot] [PATCH NET 2/2] Net: clarify board/cpu_eth_init calls Ben Warren
@ 2010-09-13  4:07 ` Ben Warren
  1 sibling, 0 replies; 6+ messages in thread
From: Ben Warren @ 2010-09-13  4:07 UTC (permalink / raw)
  To: u-boot

  On 8/31/2010 11:05 PM, Ben Warren wrote:
> 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(-)
Applied to net/next

regards,
Ben

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [U-Boot] [PATCH NET 2/2] Net: clarify board/cpu_eth_init calls
  2010-09-01  6:05 ` [U-Boot] [PATCH NET 2/2] Net: clarify board/cpu_eth_init calls Ben Warren
  2010-09-01 17:04   ` Mike Frysinger
@ 2010-11-14 23:01   ` Wolfgang Denk
  1 sibling, 0 replies; 6+ messages in thread
From: Wolfgang Denk @ 2010-11-14 23:01 UTC (permalink / raw)
  To: u-boot

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

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
He is truly wise who gains wisdom from another's mishap.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-11-14 23:01 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-09-01  6:05 [U-Boot] [PATCH NET 1/2] Net: Remove redundant CONFIG_NET_MULTI directives Ben Warren
2010-09-01  6:05 ` [U-Boot] [PATCH NET 2/2] Net: clarify board/cpu_eth_init calls Ben Warren
2010-09-01 17:04   ` Mike Frysinger
2010-09-01 19:13     ` Ben Warren
2010-11-14 23:01   ` Wolfgang Denk
2010-09-13  4:07 ` [U-Boot] [PATCH NET 1/2] Net: Remove redundant CONFIG_NET_MULTI directives Ben Warren

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.