net: phy: at803x: simplify using devm_gpiod_get_optional and its 4th argument
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Tue, 31 Mar 2015 20:08:45 +0000 (22:08 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 1 Apr 2015 16:44:04 +0000 (12:44 -0400)
Since 39b2bbe3d715 (gpio: add flags argument to gpiod_get*() functions)
which appeared in v3.17-rc1, the gpiod_get* functions take an additional
parameter that allows to specify direction and initial value for output.
Moreover use devm_gpiod_get_optional instead of ignoring all errors
returned by devm_gpiod_get and simplify accordingly.

The result is more strict error handling which is good.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/phy/at803x.c

index f80e19ac67041a0e75778761373ec3ce2a982d95..fabf11d32d276d9ac6ef6ac50ccd24609a48f90f 100644 (file)
@@ -192,16 +192,17 @@ static int at803x_probe(struct phy_device *phydev)
 {
        struct device *dev = &phydev->dev;
        struct at803x_priv *priv;
+       struct gpio_desc *gpiod_reset;
 
        priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
        if (!priv)
                return -ENOMEM;
 
-       priv->gpiod_reset = devm_gpiod_get(dev, "reset");
-       if (IS_ERR(priv->gpiod_reset))
-               priv->gpiod_reset = NULL;
-       else
-               gpiod_direction_output(priv->gpiod_reset, 1);
+       gpiod_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH);
+       if (IS_ERR(gpiod_reset))
+               return PTR_ERR(gpiod_reset);
+
+       priv->gpiod_reset = gpiod_reset;
 
        phydev->priv = priv;