Re: [PATCH] mdio_bus: Simplify reset handling and extend to non-DT systems

From: Philipp Zabel
Date: Mon Jan 13 2020 - 09:02:45 EST


On Mon, 2020-01-13 at 14:05 +0100, Geert Uytterhoeven wrote:
> 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: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
> ---
> Only tested on systems without PHY resets, with and without
> CONFIG_RESET_CONTROLLER=y.
>
> drivers/net/phy/mdio_bus.c | 16 +++++-----------
> 1 file changed, 5 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/net/phy/mdio_bus.c b/drivers/net/phy/mdio_bus.c
> index 229e480179ff1de4..8d753bb07227e561 100644
> --- a/drivers/net/phy/mdio_bus.c
> +++ b/drivers/net/phy/mdio_bus.c
> @@ -59,17 +59,11 @@ static int mdiobus_register_gpiod(struct mdio_device *mdiodev)
>
> static int mdiobus_register_reset(struct mdio_device *mdiodev)
> {
> - struct reset_control *reset = NULL;
> -
> - if (mdiodev->dev.of_node)
> - reset = of_reset_control_get_exclusive(mdiodev->dev.of_node,
> - "phy");
> - if (IS_ERR(reset)) {
> - if (PTR_ERR(reset) == -ENOENT || PTR_ERR(reset) == -ENOTSUPP)
> - reset = NULL;
> - else
> - return PTR_ERR(reset);
> - }
> + struct reset_control *reset;
> +
> + reset = reset_control_get_optional_exclusive(&mdiodev->dev, "phy");
> + if (IS_ERR(reset))
> + return PTR_ERR(reset);

Reviewed-by: Philipp Zabel <p.zabel@xxxxxxxxxxxxxx>

regards
Philipp