From patchwork Sat Aug 13 05:05:47 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Iyappan Subramanian X-Patchwork-Id: 658938 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3sB8p85910z9sC4 for ; Sat, 13 Aug 2016 15:05:20 +1000 (AEST) Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=apm.com header.i=@apm.com header.b=MPVYjYWU; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752958AbcHMFFR (ORCPT ); Sat, 13 Aug 2016 01:05:17 -0400 Received: from mail-pf0-f170.google.com ([209.85.192.170]:35871 "EHLO mail-pf0-f170.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752847AbcHMFFE (ORCPT ); Sat, 13 Aug 2016 01:05:04 -0400 Received: by mail-pf0-f170.google.com with SMTP id h186so2049478pfg.3 for ; Fri, 12 Aug 2016 22:05:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apm.com; s=apm; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=JoPfnW5C8lrRfm5fH43uxgBn8nNq+AJJ6sYXDU8REl8=; b=MPVYjYWUXp2kZ9VsY4UPndYSlAIo5L0vDr5wQCCkLFjE11DFmMUvNe60dySP2Lw1jT iHx4aaoe9QW7bTJuCEqaEZydAU6he6UnnSwph9bP5pvjTiEFzxHtojEJMMmE4cS88iNv zmym4MvulxpxStz0sqByB8+cacPPJsMPlblVM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=JoPfnW5C8lrRfm5fH43uxgBn8nNq+AJJ6sYXDU8REl8=; b=AXp9r8wkqWf8znOLn+27DTk0B/QhqD75HlW00muJrWqyUs97WbUPPak2Vd3zW5j+56 6ShNXNEhXNq5keeZxOznt5I5/agjd6F7fdl5wfkdGcsIHFk/c6iHHhTpxJGsqv7DXv8k yC7J8uH+UNjFP4xv6h/r5MKOu1zm1BaL55yKwUKtN5zwkpTkGXb/4gf7GrkkTKc1s2Zc 4ca/H+8BcCgs09weTQYVvamSrG9eNlcOpu1k5b9ISszv4b63KJ/H0bMdl83tQ6cujIfj 2lfI1gGsA6oHGd5Ssvj2hm3a4Fih+XMaCvfcILZ4sTRFm6rib8FAIUz83+iiJLHrPKgZ bqyw== X-Gm-Message-State: AEkoouuRTQFlTqLiXk72TX6cUP3AJM0PfrbMdjVeKPYN2oiJU5MFz4cEU86yEbuUATquW4VU X-Received: by 10.98.55.1 with SMTP id e1mr33437523pfa.58.1471064703334; Fri, 12 Aug 2016 22:05:03 -0700 (PDT) Received: from isubrama-dev.amcc.com ([206.80.4.98]) by smtp.gmail.com with ESMTPSA id o2sm16753965pfg.10.2016.08.12.22.05.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 12 Aug 2016 22:05:02 -0700 (PDT) From: Iyappan Subramanian To: davem@davemloft.net, netdev@vger.kernel.org, devicetree@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, patches@apm.com, linux@armlinux.org.uk, Iyappan Subramanian Subject: [PATCH net-next v2 11/12] drivers: net: xgene: Fix backward compatibility Date: Fri, 12 Aug 2016 22:05:47 -0700 Message-Id: <1471064748-28033-12-git-send-email-isubramanian@apm.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1471064748-28033-1-git-send-email-isubramanian@apm.com> References: <1471064748-28033-1-git-send-email-isubramanian@apm.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org This patch fixes the backward compatibility on handling phy_connect(), by iterating over the phy-handle, when new DT is used with older kernel. Signed-off-by: Iyappan Subramanian --- drivers/net/ethernet/apm/xgene/xgene_enet_hw.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_hw.c b/drivers/net/ethernet/apm/xgene/xgene_enet_hw.c index 18bb955..321fb19 100644 --- a/drivers/net/ethernet/apm/xgene/xgene_enet_hw.c +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_hw.c @@ -761,18 +761,18 @@ int xgene_enet_phy_connect(struct net_device *ndev) if (dev->of_node) { for (i = 0 ; i < 2; i++) { np = of_parse_phandle(dev->of_node, "phy-handle", i); - if (np) - break; - } - if (!np) { - netdev_dbg(ndev, "No phy-handle found in DT\n"); - return -ENODEV; + if (!np) + continue; + + phy_dev = of_phy_connect(ndev, np, + &xgene_enet_adjust_link, + 0, pdata->phy_mode); + of_node_put(np); + if (phy_dev) + break; } - phy_dev = of_phy_connect(ndev, np, &xgene_enet_adjust_link, - 0, pdata->phy_mode); - of_node_put(np); if (!phy_dev) { netdev_err(ndev, "Could not connect to PHY\n"); return -ENODEV;