Sebastian Frias <s...@laposte.net> writes: > Signed-off-by: Sebastian Frias <s...@laposte.net> > --- > drivers/net/ethernet/aurora/nb8800.c | 15 ++++++++++++--- > 1 file changed, 12 insertions(+), 3 deletions(-) > > diff --git a/drivers/net/ethernet/aurora/nb8800.c > b/drivers/net/ethernet/aurora/nb8800.c > index ecc4a33..dd7bedc 100644 > --- a/drivers/net/ethernet/aurora/nb8800.c > +++ b/drivers/net/ethernet/aurora/nb8800.c > @@ -1462,9 +1462,18 @@ static int nb8800_probe(struct platform_device *pdev) > > priv->phy_node = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0); > if (!priv->phy_node) { > - dev_err(&pdev->dev, "no PHY specified\n"); > - ret = -ENODEV; > - goto err_free_bus; > + if (of_phy_is_fixed_link(pdev->dev.of_node)) { > + ret = of_phy_register_fixed_link(pdev->dev.of_node); > + if (ret < 0) { > + dev_err(&pdev->dev, "bad fixed-link spec\n"); > + goto err_free_bus; > + } > + priv->phy_node = of_node_get(pdev->dev.of_node); > + } else { > + dev_err(&pdev->dev, "no PHY specified\n"); > + ret = -ENODEV; > + goto err_free_bus; > + } > }
Maybe it would be clearer to reduce the if() nesting a bit, like this for instance: if (of_phy_is_fixed_link(pdev->dev.of_node)) { ret = of_phy_register_fixed_link(pdev->dev.of_node); if (ret < 0) { dev_err(&pdev->dev, "bad fixed-link spec\n"); goto err_free_bus; } priv->phy_node = of_node_get(pdev->dev.of_node); } if (!priv->phy_node) priv->phy_node = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0); if (!priv->phy_node) { dev_err(&pdev->dev, "no PHY specified\n"); ret = -ENODEV; goto err_free_bus; } -- Måns Rullgård