[U-Boot] [PATCH 4/5] powerpc: keymile: Add a check for the PIGGY debug board
Ben Warren
biggerbadderben at gmail.com
Thu Nov 13 18:30:51 CET 2008
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 at 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.
>>
>>
>
> Yes, I could test such a change for you, but hmm... I am not sure, if
> board_eth_init () is the right place for my purpose.
> I need for every Ethernet device a selection, if this device is present or
> not.
> Correct me if I am wrong, but it looks like board_eth_init ()
> is not made for this purpose. (Ok, I can do a specific device init
> in board_eth_init (), but then we must do something, that prevents
> that the device is again initialized in eth_initialize () ...
>
>
board_eth_init() was introduced for exactly this sort of thing. Have a
look at the net repo (I've sent a pull request to Wolfgang so the
current changes will make it into the 12.2008 release). There aren't
any device initializations left in eth_initialize(), so there's no issue
of a device being initialized twice. The goal is for all devices to be
started by cpu_eth_int() or board_eth_init().
> Hmm... while writing this it comes a idea in my mind:
> we could move all the *_initialize functions in eth_initialize () in a
> seperate function, say eth_hardware_init() and maybe making this
> function "weak", so a board writer can write his own
> eth_hardware_init() ... in such a function, I could check which
> device is present, and only initialize the present devices ...
> what do you think?
>
That's what board_eth_init() and cpu_eth_init() are for. In addition, I
forgot to mention that a couple of days ago Gary Jennejohn submitted a
patch for changing the 82xx SCC driver over to CONFIG_NET_MULTI style.
regards,
Ben
More information about the U-Boot
mailing list