[U-Boot] [PATCH 8/8] net: Probe PCI before looking for ethernet devices

Simon Glass sjg at chromium.org
Sun May 1 21:43:29 CEST 2016


Hi,

On 26 April 2016 at 13:32, Joe Hershberger <joe.hershberger at gmail.com> wrote:
> On Fri, Jan 22, 2016 at 4:42 PM, Joe Hershberger
> <joe.hershberger at gmail.com> wrote:
>> On Sun, Jan 17, 2016 at 3:52 PM, Simon Glass <sjg at chromium.org> wrote:
>>> Some ethernet devices may be on a PCI bus. Probe the first PCI controller to
>>> find these, so that ethernet init will complete correctly.
>>>
>>> Signed-off-by: Simon Glass <sjg at chromium.org>
>>> ---
>>>
>>>  net/eth-uclass.c | 5 +++++
>>>  1 file changed, 5 insertions(+)
>>>
>>> diff --git a/net/eth-uclass.c b/net/eth-uclass.c
>>> index a356a08..817c6e0 100644
>>> --- a/net/eth-uclass.c
>>> +++ b/net/eth-uclass.c
>>> @@ -383,7 +383,12 @@ int eth_initialize(void)
>>>  {
>>>         int num_devices = 0;
>>>         struct udevice *dev;
>>> +#ifdef CONFIG_DM_PCI
>>> +       struct udevice *pci_dev;
>>>
>>> +       /* Start PCI since it may have a network interface */
>>> +       uclass_first_device(UCLASS_PCI, &pci_dev);
>>
>> I see this is still under discussion, so it probably makes sense to
>> leave it off of this series.
>
> Any update on this?

Not from my side. The PCI network driver will only be probed if it is
mentioned in the device tree. Perhaps this is good practice in an
embedded system. But there may be cases where someone adds a network
card without a device tree node.  In that case we can only find out
about the network card's existence by probing PCI (or USB if it is a
USB Ethernet device, etc.).

So I think we need to figure this out out. I'm OK with the solution I
proposed, or if there is a better and more general method (such as
allowing a board to mark which hot-pluggable buses must be scanned to
find devices) then we could go that way.

Regards,
Simon


More information about the U-Boot mailing list