From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752459AbdBFTY4 (ORCPT ); Mon, 6 Feb 2017 14:24:56 -0500 Received: from us01smtprelay-2.synopsys.com ([198.182.47.9]:41496 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751762AbdBFTYy (ORCPT ); Mon, 6 Feb 2017 14:24:54 -0500 From: Alexey Brodkin To: netdev@vger.kernel.org Cc: linux-snps-arc@lists.infradead.org, linux-kernel@vger.kernel.org, Alexey Brodkin , Murali Karicheri , Sekhar Nori , "David S . Miller" , Grygorii Strashko , Florian Fainelli , Mugunthan V N , Andrew Lunn Subject: [PATCH] net: phy: dp83867: Fall-back to default values of clock delay and FIFO depth Date: Mon, 6 Feb 2017 22:24:45 +0300 Message-Id: <20170206192445.35829-1-abrodkin@synopsys.com> X-Mailer: git-send-email 2.10.2 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Given there're default values mentioned in the PHY datasheet fall-back gracefully to them instead of silently return an error through the whole call-chain. This allows to use minimalistic description in DT if no special features are required. Signed-off-by: Alexey Brodkin Cc: Murali Karicheri Cc: Sekhar Nori Cc: David S. Miller Cc: Grygorii Strashko Cc: Florian Fainelli Cc: Mugunthan V N Cc: Andrew Lunn --- drivers/net/phy/dp83867.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/drivers/net/phy/dp83867.c b/drivers/net/phy/dp83867.c index ca1b462..5d8c5ec 100644 --- a/drivers/net/phy/dp83867.c +++ b/drivers/net/phy/dp83867.c @@ -135,17 +135,20 @@ static int dp83867_of_init(struct phy_device *phydev) if (ret && (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID || phydev->interface == PHY_INTERFACE_MODE_RGMII_RXID)) - return ret; + dp83867->rx_id_delay = DP83867_RGMIIDCTL_2_00_NS; ret = of_property_read_u32(of_node, "ti,tx-internal-delay", &dp83867->tx_id_delay); if (ret && (phydev->interface == PHY_INTERFACE_MODE_RGMII_ID || phydev->interface == PHY_INTERFACE_MODE_RGMII_TXID)) - return ret; + dp83867->tx_id_delay = DP83867_RGMIIDCTL_2_00_NS; - return of_property_read_u32(of_node, "ti,fifo-depth", - &dp83867->fifo_depth); + ret = of_property_read_u32(of_node, "ti,fifo-depth", &dp83867->fifo_depth); + if (ret) + dp83867->fifo_depth = DP83867_PHYCR_FIFO_DEPTH_4_B_NIB; + + return 0; } #else static int dp83867_of_init(struct phy_device *phydev) -- 2.10.2