Sebastian Frias <s...@laposte.net> writes: > Under some circumstances, for example when connecting > to a switch: > > https://stackoverflow.com/questions/31046172/device-tree-for-phy-less-connection-to-a-dsa-switch > > the ethernet port will not be connected to a PHY. > In that case a "fixed-link" DT node can be used to replace it. > > This patch adds support for the "fixed-link" node to the > nb8800 driver. > > Signed-off-by: Sebastian Frias <s...@laposte.net>
Acked-by: Mans Rullgard <m...@mansr.com> > --- > drivers/net/ethernet/aurora/nb8800.c | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ethernet/aurora/nb8800.c > b/drivers/net/ethernet/aurora/nb8800.c > index ecc4a33..e1fb071 100644 > --- a/drivers/net/ethernet/aurora/nb8800.c > +++ b/drivers/net/ethernet/aurora/nb8800.c > @@ -1460,7 +1460,19 @@ static int nb8800_probe(struct platform_device *pdev) > goto err_disable_clk; > } > > - priv->phy_node = of_parse_phandle(pdev->dev.of_node, "phy-handle", 0); > + 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; > -- > 2.1.4 > -- Måns Rullgård