PHY drivers might need access to NVMEM or the filesystem to load calibration/initialization data. The driver will then return -EPROBE_DEFER to signal to the device core that the probe should be retried multiple times again in the 10s driver_deferred_probe_timeout. But when the switch driver calls dsa_register_switch(), it needs to connect the PHYs directly. As result, all PHYs without an driver will automatically get the default driver (either `genphy_c45_driver` or `genphy_driver`) assigned and initialized. But for PHYs with the additional initialization data from NVMEM/fs, this will usually result in not working PHYs. Since there are Realtek based boards with RTL826x PHYs and the new driver loads the initialization/patch values from rootfs, it is necessary to check in the beginning of the probe function whether the PHYs are ready and the probing can continue. If some driver is still without driver after the deferred probe period ended, the loading will just continue and the generic PHY drivers will still be used. Closes: #22811 Co-authored-by: Jonas Jelonek <jelonek.jonas@gmail.com> Co-authored-by: Markus Stockhausen <markus.stockhausen@gmx.de> Signed-off-by: Sven Eckelmann <sven@narfation.org> Link: https://github.com/openwrt/openwrt/pull/23075 Signed-off-by: Robert Marko <robimarko@gmail.com> |
||
|---|---|---|
| .. | ||
| imagebuilder | ||
| linux | ||
| llvm-bpf | ||
| sdk | ||
| toolchain | ||
| Config.in | ||
| Makefile | ||