Commit 62140036 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by David S. Miller

mdio_bus: Simplify reset handling and extend to non-DT systems

Convert mdiobus_register_reset() from open-coded DT-only optional reset
handling to reset_control_get_optional_exclusive().  This not only
simplifies the code, but also adds support for lookup-based resets on
non-DT systems.
Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Reviewed-by: default avatarAndrew Lunn <andrew@lunn.ch>
Reviewed-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent e27f1787
...@@ -59,17 +59,11 @@ static int mdiobus_register_gpiod(struct mdio_device *mdiodev) ...@@ -59,17 +59,11 @@ static int mdiobus_register_gpiod(struct mdio_device *mdiodev)
static int mdiobus_register_reset(struct mdio_device *mdiodev) static int mdiobus_register_reset(struct mdio_device *mdiodev)
{ {
struct reset_control *reset = NULL; struct reset_control *reset;
if (mdiodev->dev.of_node) reset = reset_control_get_optional_exclusive(&mdiodev->dev, "phy");
reset = of_reset_control_get_exclusive(mdiodev->dev.of_node, if (IS_ERR(reset))
"phy"); return PTR_ERR(reset);
if (IS_ERR(reset)) {
if (PTR_ERR(reset) == -ENOENT || PTR_ERR(reset) == -ENOTSUPP)
reset = NULL;
else
return PTR_ERR(reset);
}
mdiodev->reset_ctrl = reset; mdiodev->reset_ctrl = reset;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment