All of lore.kernel.org
 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 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.