From patchwork Thu May 10 23:16:54 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Paul Burton X-Patchwork-Id: 911615 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=mips.com Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 40hq3C6w6Cz9s1p for ; Fri, 11 May 2018 09:20:55 +1000 (AEST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1750989AbeEJXUx (ORCPT ); Thu, 10 May 2018 19:20:53 -0400 Received: from 9pmail.ess.barracuda.com ([64.235.154.210]:51175 "EHLO 9pmail.ess.barracuda.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750751AbeEJXUw (ORCPT ); Thu, 10 May 2018 19:20:52 -0400 Received: from mipsdag02.mipstec.com (mail2.mips.com [12.201.5.32]) by mx1414.ess.rzc.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES128-SHA256 bits=128 verify=NO); Thu, 10 May 2018 23:18:32 +0000 Received: from mipsdag02.mipstec.com (10.20.40.47) by mipsdag02.mipstec.com (10.20.40.47) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1415.2; Thu, 10 May 2018 16:17:27 -0700 Received: from pburton-laptop.mipstec.com (10.20.1.18) by mipsdag02.mipstec.com (10.20.40.47) with Microsoft SMTP Server id 15.1.1415.2 via Frontend Transport; Thu, 10 May 2018 16:17:27 -0700 From: Paul Burton To: CC: , "David S . Miller" , Andrew Lunn , Paul Burton Subject: [PATCH v6 3/6] net: pch_gbe: Support DeviceTree for MDIO/PHY description Date: Thu, 10 May 2018 16:16:54 -0700 Message-ID: <20180510231657.28503-4-paul.burton@mips.com> X-Mailer: git-send-email 2.17.0 In-Reply-To: <20180510231657.28503-1-paul.burton@mips.com> References: <20180510231657.28503-1-paul.burton@mips.com> MIME-Version: 1.0 X-BESS-ID: 1525994312-531716-19406-26095-1 X-BESS-VER: 2018.6-r1805011734 X-BESS-Apparent-Source-IP: 12.201.5.32 X-BESS-Outbound-Spam-Score: 0.00 X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.192889 Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 BSF_BESS_OUTBOUND META: BESS Outbound X-BESS-Outbound-Spam-Status: SCORE=0.00 using account:ESS59374 scores of KILL_LEVEL=7.0 tests=BSF_BESS_OUTBOUND X-BESS-BRTS-Status: 1 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org When running on a system which uses device tree, use of_mdiobus_register() rather than plain mdiobus_register() in order to support parsing PHY information from the DT. On systems without CONFIG_OF_MDIO set of_mdiobus_register() falls back to mdiobus_register() anyway, but here we check for a non-NULL device node in order to continue functioning as-is if a system has CONFIG_OF_MDIO=y but doesn't use the devicetree. Signed-off-by: Paul Burton Cc: Andrew Lunn Cc: David S. Miller Cc: linux-mips@linux-mips.org Cc: netdev@vger.kernel.org --- Changes in v6: - New patch, significantly simplified by Andrew's preceding patches. Changes in v5: None Changes in v4: None Changes in v3: None Changes in v2: None drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c index b20ed110cdef..f491044c2739 100644 --- a/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c +++ b/drivers/net/ethernet/oki-semi/pch_gbe/pch_gbe_main.c @@ -25,6 +25,7 @@ #include #include #include +#include #define DRV_VERSION "1.01" const char pch_driver_version[] = DRV_VERSION; @@ -829,6 +830,9 @@ static int pch_gbe_init_mdio(struct pch_gbe_adapter *adapter) adapter->mdiobus = bus; + if (dev->of_node) + return of_mdiobus_register(bus, dev->of_node); + return mdiobus_register(bus); }