diff options
-rw-r--r-- | target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c | 25 | ||||
-rw-r--r-- | target/linux/ipq40xx/patches-5.4/710-net-add-qualcomm-essedma-ethernet-driver.patch | 5 |
2 files changed, 7 insertions, 23 deletions
diff --git a/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c b/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c index 68718de9f4..af55ee4dd5 100644 --- a/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c +++ b/target/linux/ipq40xx/files/drivers/net/ethernet/qualcomm/essedma/edma_axi.c @@ -19,6 +19,7 @@ #include <linux/timer.h> #include <linux/of_platform.h> #include <linux/of_address.h> +#include <linux/of_mdio.h> #include <linux/clk.h> #include <linux/string.h> #include <linux/reset.h> @@ -713,9 +714,7 @@ static int edma_axi_probe(struct platform_device *pdev) struct device_node *np = pdev->dev.of_node; struct device_node *pnp; struct device_node *mdio_node = NULL; - struct platform_device *mdio_plat = NULL; struct mii_bus *miibus = NULL; - struct edma_mdio_data *mdio_data = NULL; int i, j, k, err = 0; int portid_bmp; int idx = 0, idx_mac = 0; @@ -889,25 +888,9 @@ static int edma_axi_probe(struct platform_device *pdev) goto err_mdiobus_init_fail; } - mdio_plat = of_find_device_by_node(mdio_node); - if (!mdio_plat) { - dev_err(&pdev->dev, - "cannot find platform device from mdio node"); - of_node_put(mdio_node); - err = -EIO; - goto err_mdiobus_init_fail; - } - - mdio_data = dev_get_drvdata(&mdio_plat->dev); - if (!mdio_data) { - dev_err(&pdev->dev, - "cannot get mii bus reference from device data"); - of_node_put(mdio_node); - err = -EIO; - goto err_mdiobus_init_fail; - } - - miibus = mdio_data->mii_bus; + miibus = of_mdio_find_bus(mdio_node); + if (!miibus) + return -EINVAL; } if (of_property_read_bool(np, "qcom,single-phy") && diff --git a/target/linux/ipq40xx/patches-5.4/710-net-add-qualcomm-essedma-ethernet-driver.patch b/target/linux/ipq40xx/patches-5.4/710-net-add-qualcomm-essedma-ethernet-driver.patch index 657d81c5c2..793ce72142 100644 --- a/target/linux/ipq40xx/patches-5.4/710-net-add-qualcomm-essedma-ethernet-driver.patch +++ b/target/linux/ipq40xx/patches-5.4/710-net-add-qualcomm-essedma-ethernet-driver.patch @@ -11,13 +11,14 @@ Signed-off-by: Christian Lamparter <chunkeey@gmail.com> --- a/drivers/net/ethernet/qualcomm/Kconfig +++ b/drivers/net/ethernet/qualcomm/Kconfig -@@ -62,4 +62,13 @@ config QCOM_EMAC +@@ -62,4 +62,14 @@ config QCOM_EMAC source "drivers/net/ethernet/qualcomm/rmnet/Kconfig" +config ESSEDMA + tristate "Qualcomm Atheros ESS Edma support" -+ ---help--- ++ depends on OF_MDIO ++ help + This driver supports ethernet edma adapter. + Say Y to build this driver. + |