Skip to content

Commit 40ba6a1

Browse files
dtordavem330
authored andcommitted
net: mdio: switch to using gpiod_get_optional()
The MDIO device reset line is optional and now that gpiod_get_optional() returns proper value when GPIO support is compiled out, there is no reason to use fwnode_get_named_gpiod() that I plan to hide away. Let's switch to using more standard gpiod_get_optional() and gpiod_set_consumer_name() to keep the nice "PHY reset" label. Also there is no reason to only try to fetch the reset GPIO when we have OF node, gpiolib can fetch GPIO data from firmwares as well. Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Reviewed-by: Andrew Lunn <andrew@lunn.ch> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: David S. Miller <davem@davemloft.net>
1 parent 28f2c36 commit 40ba6a1

File tree

1 file changed

+9
-13
lines changed

1 file changed

+9
-13
lines changed

drivers/net/phy/mdio_bus.c

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -42,21 +42,17 @@
4242

4343
static int mdiobus_register_gpiod(struct mdio_device *mdiodev)
4444
{
45-
struct gpio_desc *gpiod = NULL;
45+
int error;
4646

4747
/* Deassert the optional reset signal */
48-
if (mdiodev->dev.of_node)
49-
gpiod = fwnode_get_named_gpiod(&mdiodev->dev.of_node->fwnode,
50-
"reset-gpios", 0, GPIOD_OUT_LOW,
51-
"PHY reset");
52-
if (IS_ERR(gpiod)) {
53-
if (PTR_ERR(gpiod) == -ENOENT || PTR_ERR(gpiod) == -ENOSYS)
54-
gpiod = NULL;
55-
else
56-
return PTR_ERR(gpiod);
57-
}
58-
59-
mdiodev->reset_gpio = gpiod;
48+
mdiodev->reset_gpio = gpiod_get_optional(&mdiodev->dev,
49+
"reset", GPIOD_OUT_LOW);
50+
error = PTR_ERR_OR_ZERO(mdiodev->reset_gpio);
51+
if (error)
52+
return error;
53+
54+
if (mdiodev->reset_gpio)
55+
gpiod_set_consumer_name(mdiodev->reset_gpio, "PHY reset");
6056

6157
return 0;
6258
}

0 commit comments

Comments
 (0)