From: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
Date: Thu, 31 Oct 2019 15:33:41 +0000 (+0800)
Subject: ipq40xx: mdio: remove support for phy-reset-gpio
X-Git-Url: http://git.cdn.openwrt.org/?a=commitdiff_plain;h=6abce4d5e4c06156928929e69864056b482b64f5;p=openwrt%2Fstaging%2Fxback.git

ipq40xx: mdio: remove support for phy-reset-gpio

Commit 6f6c00cfc95f ("ipq40xx: Add support for Unielec U4019") has
introduced support for `phy-reset-gpio` DT property, which isn't needed
as the MDIO already supports `reset-gpios`[1] which could be used instead.

1. https://elixir.bootlin.com/linux/v4.19.81/source/Documentation/devicetree/bindings/net/mdio.txt

Ref: PR#2511
Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
[commit title and description facelift]
Signed-off-by: Petr Štetiar <ynezz@true.cz>
---

diff --git a/target/linux/ipq40xx/patches-4.19/700-net-add-qualcomm-mdio.patch b/target/linux/ipq40xx/patches-4.19/700-net-add-qualcomm-mdio.patch
index c27d19fc16..e939597b8e 100644
--- a/target/linux/ipq40xx/patches-4.19/700-net-add-qualcomm-mdio.patch
+++ b/target/linux/ipq40xx/patches-4.19/700-net-add-qualcomm-mdio.patch
@@ -1,15 +1,3 @@
-From 234d6f40fb4b771b396b45a9492aab463771bd0b Mon Sep 17 00:00:00 2001
-From: Kristian Evensen <kristian.evensen@gmail.com>
-Date: Tue, 6 Aug 2019 11:42:57 +0200
-Subject: [PATCH] phy: Add ipq40xx mdio driver
-
----
- drivers/net/phy/Kconfig        |   7 +
- drivers/net/phy/Makefile       |   1 +
- drivers/net/phy/mdio-ipq40xx.c | 247 +++++++++++++++++++++++++++++++++
- 3 files changed, 255 insertions(+)
- create mode 100644 drivers/net/phy/mdio-ipq40xx.c
-
 --- a/drivers/net/phy/Kconfig
 +++ b/drivers/net/phy/Kconfig
 @@ -519,6 +519,13 @@ config XILINX_GMII2RGMII
@@ -38,7 +26,7 @@ Subject: [PATCH] phy: Add ipq40xx mdio driver
  obj-$(CONFIG_MDIO_OCTEON)	+= mdio-octeon.o
 --- /dev/null
 +++ b/drivers/net/phy/mdio-ipq40xx.c
-@@ -0,0 +1,247 @@
+@@ -0,0 +1,196 @@
 +/*
 + * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
 + *
@@ -61,10 +49,8 @@ Subject: [PATCH] phy: Add ipq40xx mdio driver
 +#include <linux/io.h>
 +#include <linux/of_address.h>
 +#include <linux/of_mdio.h>
-+#include <linux/of_gpio.h>
 +#include <linux/phy.h>
 +#include <linux/platform_device.h>
-+#include <linux/gpio.h>
 +
 +#define MDIO_CTRL_0_REG		0x40
 +#define MDIO_CTRL_1_REG		0x44
@@ -164,60 +150,11 @@ Subject: [PATCH] phy: Add ipq40xx mdio driver
 +	return 0;
 +}
 +
-+static int ipq40xx_phy_reset(struct platform_device *pdev)
-+{
-+	struct device_node *mdio_node;
-+	int phy_reset_gpio_number;
-+	int ret;
-+
-+	mdio_node = of_find_node_by_name(NULL, "mdio");
-+	if (!mdio_node) {
-+		dev_err(&pdev->dev, "Could not find mdio node\n");
-+		return 0;
-+	}
-+
-+	ret = of_get_named_gpio(mdio_node, "phy-reset-gpio", 0);
-+	if (ret < 0) {
-+		dev_err(&pdev->dev, "Could not find phy-reset-gpio\n");
-+		return 0;
-+	}
-+
-+	phy_reset_gpio_number = ret;
-+
-+	ret = gpio_request(phy_reset_gpio_number, "phy-reset-gpio");
-+	if (ret) {
-+		dev_err(&pdev->dev, "Can't get phy-reset-gpio %d\n", ret);
-+		return ret;
-+	}
-+
-+	ret = gpio_direction_output(phy_reset_gpio_number, 0x0);
-+	if (ret) {
-+		dev_err(&pdev->dev,
-+			"Can't set direction for phy-reset-gpio %d\n", ret);
-+		goto phy_reset_out;
-+	}
-+
-+	usleep_range(1000, 10005);
-+
-+	gpio_set_value(phy_reset_gpio_number, 0x01);
-+
-+phy_reset_out:
-+	gpio_free(phy_reset_gpio_number);
-+
-+	return ret;
-+}
-+
 +static int ipq40xx_mdio_probe(struct platform_device *pdev)
 +{
 +	struct ipq40xx_mdio_data *am;
 +	struct resource *res;
-+	int i, ret;
-+
-+	ret = ipq40xx_phy_reset(pdev);
-+	if (ret) {
-+		dev_err(&pdev->dev, "Could not find qca8075 reset gpio\n");
-+		return -ENODEV;
-+	}
++	int i;
 +
 +	am = devm_kzalloc(&pdev->dev, sizeof(*am), GFP_KERNEL);
 +	if (!am)