summaryrefslogtreecommitdiff
path: root/net/eth_bootdev.c
diff options
context:
space:
mode:
authorTom Rini <[email protected]>2025-01-08 18:05:51 -0600
committerTom Rini <[email protected]>2025-01-08 18:05:51 -0600
commite13e0a921f444cc12127c8a497dcc476f1268939 (patch)
tree19ecf26e4ddc96357f74edc6e7557995de7c0477 /net/eth_bootdev.c
parent3bfd12008bef1a8353e7ceaca2cb06cf388527ed (diff)
parent9c6c7e30aa006a3eab52302e5399f5eb592184ed (diff)
Merge tag 'efi-next-20250105' of https://source.denx.de/u-boot/custodians/u-boot-efi
Pull request efi-next-20250105 Documentation: * doc: develop: Fix typos and wording in binman/binman.rst * doc: develop: Fix typos and wording in gdb.rst * doc: sandbox: Fix the "sb" command name * doc/develop/distro.rst: Better document upstream definition of extlinux.conf UEFI: * efi_loader: avoid writing message in Exit() boot service * efi_loader: update EFI specification version * cmd: efidebug: update output of memory attributes * efi_loader: Don't warn if the TCG2 FinalEvents table is not installed * cmd: bootmenu: add parameter -e for UEFI boot options * efi_loader: Update startimage_exit self-test to check error * efi: Correct ECPT table GUID Others: Building the API demo application for riscv64 is supported. * API: unify platform_sys_info() implementations * examples: implement _start and syscall for RISC-V * examples: use architecture specific memset() on RISC-V * examples: use QEMU compatible LOAD_ADDR on RISC-V * test: fix test_extension.py * configs: sandbox_deconfig: remove CONFIG_AMIGA_PARTITION * CI: xilinx_versal_virt: disable USB_DWC3 * net: eth_bootdev_hunt() should not run DHCP
Diffstat (limited to 'net/eth_bootdev.c')
-rw-r--r--net/eth_bootdev.c30
1 files changed, 18 insertions, 12 deletions
diff --git a/net/eth_bootdev.c b/net/eth_bootdev.c
index 6ee54e3c790..b0fca6e8313 100644
--- a/net/eth_bootdev.c
+++ b/net/eth_bootdev.c
@@ -64,9 +64,23 @@ static int eth_bootdev_bind(struct udevice *dev)
return 0;
}
+/**
+ * eth_bootdev_hunt() - probe all network devices
+ *
+ * Network devices can also come from USB, but that is a higher
+ * priority (BOOTDEVP_5_SCAN_SLOW) than network, so it should have been
+ * enumerated already. If something like 'bootflow scan dhcp' is used,
+ * then the user will need to run 'usb start' first.
+ *
+ * @info: info structure describing this hunter
+ * @show: true to show information from the hunter
+ *
+ * Return: 0 if device found, -EINVAL otherwise
+ */
static int eth_bootdev_hunt(struct bootdev_hunter *info, bool show)
{
int ret;
+ struct udevice *dev = NULL;
if (!test_eth_enabled())
return 0;
@@ -78,19 +92,11 @@ static int eth_bootdev_hunt(struct bootdev_hunter *info, bool show)
log_warning("Failed to init PCI (%dE)\n", ret);
}
- /*
- * Ethernet devices can also come from USB, but that is a higher
- * priority (BOOTDEVP_5_SCAN_SLOW) than ethernet, so it should have been
- * enumerated already. If something like 'bootflow scan dhcp' is used
- * then the user will need to run 'usb start' first.
- */
- if (IS_ENABLED(CONFIG_CMD_DHCP)) {
- ret = dhcp_run(0, NULL, false);
- if (ret)
- return -EINVAL;
- }
+ ret = -EINVAL;
+ uclass_foreach_dev_probe(UCLASS_ETH, dev)
+ ret = 0;
- return 0;
+ return ret;
}
struct bootdev_ops eth_bootdev_ops = {