brcm63xx: backport mdio-bus reset gpio support
[openwrt/openwrt.git] / target / linux / brcm63xx / patches-4.4 / 001-4.13-03-mdio_bus-use-devm_gpiod_get_optional.patch
1 From fe0e4052fb11d5c713961ab7e136520be40052a3 Mon Sep 17 00:00:00 2001
2 From: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
3 Date: Mon, 12 Jun 2017 23:55:39 +0300
4 Subject: [PATCH] mdio_bus: use devm_gpiod_get_optional()
5
6 The MDIO reset GPIO is really a classical optional GPIO property case,
7 so devm_gpiod_get_optional() should have been used, not devm_gpiod_get().
8 Doing this saves several LoCs...
9
10 Signed-off-by: Sergei Shtylyov <sergei.shtylyov@cogentembedded.com>
11 Signed-off-by: David S. Miller <davem@davemloft.net>
12 ---
13 drivers/net/phy/mdio_bus.c | 14 +++++---------
14 1 file changed, 5 insertions(+), 9 deletions(-)
15
16 --- a/drivers/net/phy/mdio_bus.c
17 +++ b/drivers/net/phy/mdio_bus.c
18 @@ -280,16 +280,12 @@ int __mdiobus_register(struct mii_bus *b
19 mutex_init(&bus->mdio_lock);
20
21 /* de-assert bus level PHY GPIO reset */
22 - gpiod = devm_gpiod_get(&bus->dev, "reset", GPIOD_OUT_LOW);
23 + gpiod = devm_gpiod_get_optional(&bus->dev, "reset", GPIOD_OUT_LOW);
24 if (IS_ERR(gpiod)) {
25 - err = PTR_ERR(gpiod);
26 - if (err != -ENOENT) {
27 - dev_err(&bus->dev,
28 - "mii_bus %s couldn't get reset GPIO\n",
29 - bus->id);
30 - return err;
31 - }
32 - } else {
33 + dev_err(&bus->dev, "mii_bus %s couldn't get reset GPIO\n",
34 + bus->id);
35 + return PTR_ERR(gpiod);
36 + } else if (gpiod) {
37 bus->reset_gpiod = gpiod;
38
39 gpiod_set_value_cansleep(gpiod, 1);