OSDN Git Service

mdio_bus: use devm_gpiod_get_optional()
authorSergei Shtylyov <sergei.shtylyov@cogentembedded.com>
Mon, 12 Jun 2017 20:55:39 +0000 (23:55 +0300)
committerDavid S. Miller <davem@davemloft.net>
Tue, 13 Jun 2017 16:56:42 +0000 (12:56 -0400)
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

index 5d37716..2df7b62 100644 (file)
@@ -354,16 +354,12 @@ int __mdiobus_register(struct mii_bus *bus, struct module *owner)
        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);