41 lines
1.2 KiB
Diff
41 lines
1.2 KiB
Diff
|
From 83895bedeee6fbf56d887af4280bf9edcc80da60 Mon Sep 17 00:00:00 2001
|
||
|
From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||
|
Date: Fri, 16 May 2014 16:14:06 +0200
|
||
|
Subject: net: mvneta: add support for fixed links
|
||
|
|
||
|
Following the introduction of of_phy_register_fixed_link(), this patch
|
||
|
introduces fixed link support in the mvneta driver, for Marvell Armada
|
||
|
370/XP SOCs.
|
||
|
|
||
|
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
|
||
|
Signed-off-by: David S. Miller <davem@davemloft.net>
|
||
|
|
||
|
--- a/drivers/net/ethernet/marvell/mvneta.c
|
||
|
+++ b/drivers/net/ethernet/marvell/mvneta.c
|
||
|
@@ -2808,9 +2808,22 @@ static int mvneta_probe(struct platform_
|
||
|
|
||
|
phy_node = of_parse_phandle(dn, "phy", 0);
|
||
|
if (!phy_node) {
|
||
|
- dev_err(&pdev->dev, "no associated PHY\n");
|
||
|
- err = -ENODEV;
|
||
|
- goto err_free_irq;
|
||
|
+ if (!of_phy_is_fixed_link(dn)) {
|
||
|
+ dev_err(&pdev->dev, "no PHY specified\n");
|
||
|
+ err = -ENODEV;
|
||
|
+ goto err_free_irq;
|
||
|
+ }
|
||
|
+
|
||
|
+ err = of_phy_register_fixed_link(dn);
|
||
|
+ if (err < 0) {
|
||
|
+ dev_err(&pdev->dev, "cannot register fixed PHY\n");
|
||
|
+ goto err_free_irq;
|
||
|
+ }
|
||
|
+
|
||
|
+ /* In the case of a fixed PHY, the DT node associated
|
||
|
+ * to the PHY is the Ethernet MAC DT node.
|
||
|
+ */
|
||
|
+ phy_node = dn;
|
||
|
}
|
||
|
|
||
|
phy_mode = of_get_phy_mode(dn);
|