summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--drivers/net/phy/dp83867.c31
1 files changed, 3 insertions, 28 deletions
diff --git a/drivers/net/phy/dp83867.c b/drivers/net/phy/dp83867.c
index 1b01680987c4..94cc278b3136 100644
--- a/drivers/net/phy/dp83867.c
+++ b/drivers/net/phy/dp83867.c
@@ -65,7 +65,6 @@ struct dp83867_private {
 	int rx_id_delay;
 	int tx_id_delay;
 	int fifo_depth;
-	int values_are_sane;
 };
 
 static int dp83867_ack_interrupt(struct phy_device *phydev)
@@ -114,30 +113,15 @@ static int dp83867_of_init(struct phy_device *phydev)
 	ret = of_property_read_u32(of_node, "ti,rx-internal-delay",
 				   &dp83867->rx_id_delay);
 	if (ret)
-		goto invalid_dt;
+		return ret;
 
 	ret = of_property_read_u32(of_node, "ti,tx-internal-delay",
 				   &dp83867->tx_id_delay);
 	if (ret)
-		goto invalid_dt;
+		return ret;
 
-	ret = of_property_read_u32(of_node, "ti,fifo-depth",
+	return of_property_read_u32(of_node, "ti,fifo-depth",
 				   &dp83867->fifo_depth);
-	if (ret)
-		goto invalid_dt;
-
-	dp83867->values_are_sane = 1;
-
-	return 0;
-
-invalid_dt:
-	phydev_err(phydev, "missing properties in device tree");
-
-	/*
-	 * We can still run with a broken dt by not using any of the optional
-	 * parameters, so just don't set dp83867->values_are_sane.
-	 */
-	return 0;
 }
 #else
 static int dp83867_of_init(struct phy_device *phydev)
@@ -166,15 +150,6 @@ static int dp83867_config_init(struct phy_device *phydev)
 		dp83867 = (struct dp83867_private *)phydev->priv;
 	}
 
-	/*
-	 * With no or broken device tree, we don't have the values that we would
-	 * want to configure the phy with. In that case, cross our fingers and
-	 * assume that firmware did everything correctly for us or that we don't
-	 * need them.
-	 */
-	if (!dp83867->values_are_sane)
-		return 0;
-
 	if (phy_interface_is_rgmii(phydev)) {
 		ret = phy_write(phydev, MII_DP83867_PHYCTRL,
 			(dp83867->fifo_depth << DP83867_PHYCR_FIFO_DEPTH_SHIFT));