public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Ben Warren <biggerbadderben@gmail.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH 4/5] powerpc: keymile: Add a check for the PIGGY debug board
Date: Wed, 19 Nov 2008 09:44:04 -0800	[thread overview]
Message-ID: <49245064.6070705@gmail.com> (raw)
In-Reply-To: <20081119133549.2a495728@ernst.jennejohn.org>

Hi Gary,

Gary Jennejohn wrote:
> On Thu, 13 Nov 2008 09:30:51 -0800
> Ben Warren <biggerbadderben@gmail.com> wrote:
>
>   
>> Heiko Schocher wrote:
>>     
>>> Hello Ben
>>>
>>> Ben Warren wrote:
>>>   
>>>       
>>>> Heiko Schocher wrote:
>>>>   
>>>>     
>>>>         
>>>>> Check the presence of the PIGGY on the keymile boards mgcoge,
>>>>> mgsuvd and kmeter1. If the PIGGY is not present, dont register
>>>>> this Ethernet device.
>>>>>
>>>>> Signed-off-by: Heiko Schocher <hs@denx.de>
>>>>> ---
>>>>>     
>>>>>       
>>>>>           
>>>> This looks like useful stuff to have, but I'd prefer that you put the 
>>>> check logic in board_eth_init() rather than adding to the individual 
>>>> device drivers.  I know the 8260 SCC driver is the older style, which 
>>>> precludes the use of board_eth_init, but I'll convert it if you're able 
>>>> to test.
>>>>   
>>>>         
>
> Unfortunately, this approach won't work.  First of all, the 82xx SCC
> driver is now initialized in cpu_eth_init(), which knows nothing about
> board-specific peculiarities like the PIGGY.  Secondly, the HDLC
> driver for Keymile has to be initialized in board_eth_init(), and it
> has nothing to do with the PIGGY.  Putting the check in board_eth_init()
> would break it completely.  I looked at Heiko's latest patch and couldn't
> figure out a way to cleanly differentiate between initializing the HDLC
> driver and checking whether the PIGGY was present fo the other ENET drivers.
>
>   
I think you're missing something.  You can put whatever logic you want 
in board_eth_init(), *including* calling cpu_eth_init().  As long as  
board_eth_init() returns >= 0, cpu_eth_init() will never get called by 
eth_initialize().  When I designed this, my intention (although not well 
communicated) was that board_eth_init() would always return >= 0, and 
that the -1 return code would only be used by the weak function in 
net/eth.c  There's pretty serious flexibility here and I urge you to 
look again.

regards,
Ben

      parent reply	other threads:[~2008-11-19 17:44 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-12  8:49 [U-Boot] [PATCH 4/5] powerpc: keymile: Add a check for the PIGGY debug board Heiko Schocher
2008-11-12 17:43 ` Ben Warren
2008-11-13  7:43   ` Heiko Schocher
2008-11-13 17:30     ` Ben Warren
2008-11-17  8:13       ` Heiko Schocher
2008-11-19 12:35       ` Gary Jennejohn
2008-11-19 13:03         ` Heiko Schocher
2008-11-19 18:14           ` Gary Jennejohn
2008-11-19 17:44         ` Ben Warren [this message]

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=49245064.6070705@gmail.com \
    --to=biggerbadderben@gmail.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox