No platform uses the "reset_gpio" field from stmmac_mdio_bus_data
anymore. Drop it so we don't get any new consumers either.

Plain GPIO numbers are being deprecated in favor of GPIO descriptors. If
needed any new non-OF platform can add a GPIO descriptor lookup table.
devm_gpiod_get_optional() will find the GPIO in that case.

Suggested-by: Linus Walleij <[email protected]>
Signed-off-by: Martin Blumenstingl <[email protected]>
---
 .../net/ethernet/stmicro/stmmac/stmmac_mdio.c | 29 ++++++-------------
 include/linux/stmmac.h                        |  1 -
 2 files changed, 9 insertions(+), 21 deletions(-)

diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c 
b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
index 4614f1f2bffb..459ef8afe4fb 100644
--- a/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
+++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c
@@ -253,21 +253,15 @@ int stmmac_mdio_reset(struct mii_bus *bus)
        if (priv->device->of_node) {
                struct gpio_desc *reset_gpio;
 
-               if (data->reset_gpio < 0) {
-                       reset_gpio = devm_gpiod_get_optional(priv->device,
-                                                            "snps,reset",
-                                                            GPIOD_OUT_LOW);
-                       if (IS_ERR(reset_gpio))
-                               return PTR_ERR(reset_gpio);
-
-                       device_property_read_u32_array(priv->device,
-                                                      "snps,reset-delays-us",
-                                                      data->delays, 3);
-               } else {
-                       reset_gpio = gpio_to_desc(data->reset_gpio);
-
-                       gpiod_direction_output(reset_gpio, 0);
-               }
+               reset_gpio = devm_gpiod_get_optional(priv->device,
+                                                    "snps,reset",
+                                                    GPIOD_OUT_LOW);
+               if (IS_ERR(reset_gpio))
+                       return PTR_ERR(reset_gpio);
+
+               device_property_read_u32_array(priv->device,
+                                              "snps,reset-delays-us",
+                                              data->delays, 3);
 
                if (data->delays[0])
                        msleep(DIV_ROUND_UP(data->delays[0], 1000));
@@ -323,11 +317,6 @@ int stmmac_mdio_register(struct net_device *ndev)
        if (mdio_bus_data->irqs)
                memcpy(new_bus->irq, mdio_bus_data->irqs, sizeof(new_bus->irq));
 
-#ifdef CONFIG_OF
-       if (priv->device->of_node)
-               mdio_bus_data->reset_gpio = -1;
-#endif
-
        new_bus->name = "stmmac";
 
        if (priv->plat->has_xgmac) {
diff --git a/include/linux/stmmac.h b/include/linux/stmmac.h
index 816edb545592..fe865df82e48 100644
--- a/include/linux/stmmac.h
+++ b/include/linux/stmmac.h
@@ -97,7 +97,6 @@ struct stmmac_mdio_bus_data {
        int *irqs;
        int probed_phy_irq;
 #ifdef CONFIG_OF
-       int reset_gpio;
        u32 delays[3];
 #endif
 };
-- 
2.22.0

Reply via email to