
Hi,
On 26 April 2016 at 13:32, Joe Hershberger joe.hershberger@gmail.com wrote:
On Fri, Jan 22, 2016 at 4:42 PM, Joe Hershberger joe.hershberger@gmail.com wrote:
On Sun, Jan 17, 2016 at 3:52 PM, Simon Glass sjg@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@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