generic: rtl836x: support defered probe on mdio-bus
authorChristian Lamparter <chunkeey@gmail.com>
Wed, 17 Oct 2018 20:37:36 +0000 (22:37 +0200)
committerJohn Crispin <john@phrozen.org>
Mon, 26 Nov 2018 11:05:46 +0000 (12:05 +0100)
commit910c2f9e68554ed36f622d005c76f39780b367ab
tree33b29da65a5702ce8d4faf4714a076764456f677
parentfb4bed5fe93961d769317014133a4d0006e5a6ea
generic: rtl836x: support defered probe on mdio-bus

On the WNDAP620, the mdio and mdc lines are controlled by
the EMAC ethernet device. This results in a hen-vs-egg problem.
The rtl8367b driver is probed before the ethernet driver and
the mdio-bus is not available yet, which caused the rtl8367b
driver to fail.

This patch changes the rtl8366_smi_probe_of() function to
return -EPROBE_DEFER if the mdio-bus lookup failed and changes
rtl8366_smi_probe()'s signature to return the error code back to
the callee, so it can propagate back to the kernel. Which, will
retry the switch probe at a later time.

Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
target/linux/generic/files/drivers/net/phy/rtl8366_smi.c
target/linux/generic/files/drivers/net/phy/rtl8366rb.c
target/linux/generic/files/drivers/net/phy/rtl8366s.c
target/linux/generic/files/drivers/net/phy/rtl8367.c
target/linux/generic/files/drivers/net/phy/rtl8367b.c