All of lore.kernel.org
 help / color / mirror / Atom feed
From: Shinya Kuribayashi <skuribay@ruby.dti.ne.jp>
To: u-boot@lists.denx.de
Subject: [U-Boot-Users] [RFC][PATCH 1/1] Add board_eth_init() function
Date: Sun, 23 Mar 2008 15:19:55 +0900	[thread overview]
Message-ID: <47E5F68B.503@ruby.dti.ne.jp> (raw)
In-Reply-To: <47E52BEB.90600@comsys.ro>

Vlad Lungu wrote:
> Shinya Kuribayashi wrote:
>>> +int board_eth_init(bd_t *bis) __attribute((weak, 
>>> alias("__board_eth_init")));
>>> +
>>> #ifdef CFG_GT_6426x
>>> extern int gt6426x_eth_initialize(bd_t *bis);
>>> #endif
>>>     
>>
>> [This comment is not for Ben, but for everyone.]
>>
>> Do we need such alias to empty function? Only __attribute((weak)) is
>> enough for me. If we have some default behavior which isn't empty, I
>> can see the weak & alias. Thought?
>>
>>   
> Weak functions with no alias are NULL. You can test the value of 
> board_eth_init before calling
> or you can provide an alias so there are no surprises. If you don't do 
> one or the other... exceptions happen.
> Personally, I prefer to have an alias.

Thanks for clarifying. Now what I feel annoying is turned out to having
an empty function with *another* name, such as `__foo() against foo()'.

Find the patch below:
 - change weak usage
 - change netdev.h usage

FWIW I think this is easier to read wrt the relationship between `weak'
and `overridden'. I'm not going to argue with someone, though.

---

 board/atum8548/atum8548.c |    2 ++
 include/netdev.h          |    2 +-
 net/eth.c                 |    4 +---
 3 files changed, 4 insertions(+), 4 deletions(-)


diff --git a/board/atum8548/atum8548.c b/board/atum8548/atum8548.c
index d6bd8ae..01a5134 100644
--- a/board/atum8548/atum8548.c
+++ b/board/atum8548/atum8548.c
@@ -421,6 +421,8 @@ ft_board_setup(void *blob, bd_t *bd)
 
 int board_eth_init(bd_t *bis)
 {
+	extern int tsec_initialize(bd_t * bis, int index, char *devname);
+
 #if defined(CONFIG_TSEC1)
 	tsec_initialize(bis, 0, CONFIG_TSEC1_NAME);
 #endif
diff --git a/include/netdev.h b/include/netdev.h
index 19195fa..7cba0a7 100644
--- a/include/netdev.h
+++ b/include/netdev.h
@@ -28,7 +28,7 @@
 #ifndef _NETDEV_H_
 #define _NETDEV_H_
 
-int tsec_initialize(bd_t * bis, int index, char *devname);
+extern int board_eth_init(bd_t *bis);
 
 #endif /* _NETDEV_H_ */
 
diff --git a/net/eth.c b/net/eth.c
index 3d02272..80432a1 100644
--- a/net/eth.c
+++ b/net/eth.c
@@ -28,13 +28,11 @@
 
 #if defined(CONFIG_CMD_NET) && defined(CONFIG_NET_MULTI)
 
-int __board_eth_init(bd_t *bis)
+int __attribute((weak)) board_eth_init(bd_t *bis)
 {
 	return 0;
 }
 
-int board_eth_init(bd_t *bis) __attribute((weak, alias("__board_eth_init")));
-
 #ifdef CFG_GT_6426x
 extern int gt6426x_eth_initialize(bd_t *bis);
 #endif

  reply	other threads:[~2008-03-23  6:19 UTC|newest]

Thread overview: 38+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-22  2:46 [U-Boot-Users] [RFC][PATCH 1/1] Add board_eth_init() function Ben Warren
2008-03-22  5:03 ` Shinya Kuribayashi
     [not found]   ` <f8328f7c0803220505n39c9ddb5sf9c9cf037b8f4665@mail.gmail.com>
2008-03-22 12:07     ` Ben Warren
2008-03-22 15:55   ` Vlad Lungu
2008-03-23  6:19     ` Shinya Kuribayashi [this message]
2008-03-26 10:00       ` Haavard Skinnemoen
2008-03-26 11:39         ` Shinya Kuribayashi
2008-03-26 12:41           ` Haavard Skinnemoen
2008-03-26 14:15             ` Ben Warren
2008-03-26 14:27               ` Haavard Skinnemoen
2008-03-22  6:31 ` Stefan Roese
2008-03-22  9:59   ` Wolfgang Denk
2008-03-22 10:14     ` Stefan Roese
2008-03-22 11:35       ` Markus Klotzbücher
2008-03-22 14:01       ` Wolfgang Denk
2008-03-22 15:43         ` Ben Warren
2008-03-25  7:04           ` Stefan Roese
2008-03-25 11:11             ` Ben Warren
2008-03-25 14:22             ` Ben Warren
2008-03-25 14:41               ` Joakim Tjernlund
2008-03-25 14:57                 ` Ben Warren
2008-03-25 15:31                   ` Joakim Tjernlund
2008-03-25 15:56                     ` Jerry Van Baren
2008-03-25 16:59                       ` Joakim Tjernlund
2008-03-25 14:43               ` Stefan Roese
2008-03-25 16:17               ` Andy Fleming
2008-03-25 16:33                 ` Stefan Roese
2008-03-25 17:04                   ` Andy Fleming
2008-03-25 17:53                     ` Ben Warren
2008-03-26 10:06             ` Haavard Skinnemoen
2008-03-26 10:14               ` Stefan Roese
2008-03-26 10:25                 ` Haavard Skinnemoen
2008-03-26 10:34                   ` Stefan Roese
2008-03-26 11:06                     ` Haavard Skinnemoen
2008-03-26 11:43                       ` Stefan Roese
2008-03-26 12:19                         ` Haavard Skinnemoen
2008-03-26 12:39                           ` Stefan Roese
2008-03-23  0:06 ` [U-Boot-Users] [OT] Using MTD to manipulate CFI flash on PCI boards? David Hawkins

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=47E5F68B.503@ruby.dti.ne.jp \
    --to=skuribay@ruby.dti.ne.jp \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.