054c0d4e31
Backport the mdio-bus reset gpio support from 4.12 and use it instead of toggling the reset ourself. Signed-off-by: Jonas Gorski <jonas.gorski@gmail.com>
39 lines
1.3 KiB
Diff
39 lines
1.3 KiB
Diff
From fe0e4052fb11d5c713961ab7e136520be40052a3 Mon Sep 17 00:00:00 2001
|
|
From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
|
|
Date: Mon, 12 Jun 2017 23:55:39 +0300
|
|
Subject: [PATCH] mdio_bus: use devm_gpiod_get_optional()
|
|
|
|
The MDIO reset GPIO is really a classical optional GPIO property case,
|
|
so devm_gpiod_get_optional() should have been used, not devm_gpiod_get().
|
|
Doing this saves several LoCs...
|
|
|
|
Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
|
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
|
---
|
|
drivers/net/phy/mdio_bus.c | 14 +++++---------
|
|
1 file changed, 5 insertions(+), 9 deletions(-)
|
|
|
|
--- a/drivers/net/phy/mdio_bus.c
|
|
+++ b/drivers/net/phy/mdio_bus.c
|
|
@@ -280,16 +280,12 @@ int __mdiobus_register(struct mii_bus *b
|
|
mutex_init(&bus->mdio_lock);
|
|
|
|
/* de-assert bus level PHY GPIO reset */
|
|
- gpiod = devm_gpiod_get(&bus->dev, "reset", GPIOD_OUT_LOW);
|
|
+ gpiod = devm_gpiod_get_optional(&bus->dev, "reset", GPIOD_OUT_LOW);
|
|
if (IS_ERR(gpiod)) {
|
|
- err = PTR_ERR(gpiod);
|
|
- if (err != -ENOENT) {
|
|
- dev_err(&bus->dev,
|
|
- "mii_bus %s couldn't get reset GPIO\n",
|
|
- bus->id);
|
|
- return err;
|
|
- }
|
|
- } else {
|
|
+ dev_err(&bus->dev, "mii_bus %s couldn't get reset GPIO\n",
|
|
+ bus->id);
|
|
+ return PTR_ERR(gpiod);
|
|
+ } else if (gpiod) {
|
|
bus->reset_gpiod = gpiod;
|
|
|
|
gpiod_set_value_cansleep(gpiod, 1);
|