[openwrt/openwrt] kernel: add OF support to rtl8355 driver

LEDE Commits lede-commits at lists.infradead.org
Sun May 6 23:09:32 PDT 2018


blogic pushed a commit to openwrt/openwrt.git, branch master:
https://git.lede-project.org/3dc523f232ff01d31d59345f5fa6de508d5059ef

commit 3dc523f232ff01d31d59345f5fa6de508d5059ef
Author: John Crispin <john at phrozen.org>
AuthorDate: Sun May 6 10:15:48 2018 +0200

    kernel: add OF support to rtl8355 driver
    
    Signed-off-by: John Crispin <john at phrozen.org>
---
 target/linux/generic/files/drivers/net/phy/rtl8366_smi.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c b/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c
index ae04597..0873224 100644
--- a/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c
+++ b/target/linux/generic/files/drivers/net/phy/rtl8366_smi.c
@@ -20,6 +20,7 @@
 #include <linux/of_gpio.h>
 #include <linux/rtl8366.h>
 #include <linux/version.h>
+#include <linux/of_mdio.h>
 
 #ifdef CONFIG_RTL8366_SMI_DEBUG_FS
 #include <linux/debugfs.h>
@@ -915,6 +916,11 @@ static inline void rtl8366_debugfs_remove(struct rtl8366_smi *smi) {}
 static int rtl8366_smi_mii_init(struct rtl8366_smi *smi)
 {
 	int ret;
+	struct device_node *np = NULL;
+
+#ifdef CONFIG_OF
+	np = of_get_child_by_name(smi->parent->of_node, "mdio-bus");
+#endif
 
 	smi->mii_bus = mdiobus_alloc();
 	if (smi->mii_bus == NULL) {
@@ -939,7 +945,10 @@ static int rtl8366_smi_mii_init(struct rtl8366_smi *smi)
 	}
 #endif
 
-	ret = mdiobus_register(smi->mii_bus);
+	if (np)
+		ret = of_mdiobus_register(smi->mii_bus, np);
+	else
+		ret = mdiobus_register(smi->mii_bus);
 	if (ret)
 		goto err_free;
 



More information about the lede-commits mailing list