diff options
author | Uwe Kleine-König <u.kleine-koenig@pengutronix.de> | 2015-03-31 16:08:45 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-04-01 12:44:04 -0400 |
commit | 687908c2b6498130172286f3387ec0eb0a20080e (patch) | |
tree | e0635c86a56c2779175280a35ad35e092bb65164 /drivers | |
parent | 906a7985f72ee2f28433e2dd847a013da0e4cdea (diff) |
net: phy: at803x: simplify using devm_gpiod_get_optional and its 4th argument
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>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/phy/at803x.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/phy/at803x.c b/drivers/net/phy/at803x.c index f80e19ac6704..fabf11d32d27 100644 --- a/drivers/net/phy/at803x.c +++ b/drivers/net/phy/at803x.c | |||
@@ -192,16 +192,17 @@ static int at803x_probe(struct phy_device *phydev) | |||
192 | { | 192 | { |
193 | struct device *dev = &phydev->dev; | 193 | struct device *dev = &phydev->dev; |
194 | struct at803x_priv *priv; | 194 | struct at803x_priv *priv; |
195 | struct gpio_desc *gpiod_reset; | ||
195 | 196 | ||
196 | priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); | 197 | priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL); |
197 | if (!priv) | 198 | if (!priv) |
198 | return -ENOMEM; | 199 | return -ENOMEM; |
199 | 200 | ||
200 | priv->gpiod_reset = devm_gpiod_get(dev, "reset"); | 201 | gpiod_reset = devm_gpiod_get_optional(dev, "reset", GPIOD_OUT_HIGH); |
201 | if (IS_ERR(priv->gpiod_reset)) | 202 | if (IS_ERR(gpiod_reset)) |
202 | priv->gpiod_reset = NULL; | 203 | return PTR_ERR(gpiod_reset); |
203 | else | 204 | |
204 | gpiod_direction_output(priv->gpiod_reset, 1); | 205 | priv->gpiod_reset = gpiod_reset; |
205 | 206 | ||
206 | phydev->priv = priv; | 207 | phydev->priv = priv; |
207 | 208 | ||