From patchwork Tue Jul 21 10:02:30 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Codrin Ciubotariu X-Patchwork-Id: 11675301 Return-Path: Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 894FE138C for ; Tue, 21 Jul 2020 10:07:00 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6243E20771 for ; Tue, 21 Jul 2020 10:07:00 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="xgAqgTPD"; dkim=fail reason="signature verification failed" (2048-bit key) header.d=microchip.com header.i=@microchip.com header.b="OH4ATRKV" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6243E20771 Authentication-Results: mail.kernel.org; dmarc=fail (p=quarantine dis=none) header.from=microchip.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=oZg1tL2Wb2K+LWxVgrLSLz3jD/nVHnvQZDebQI9r5+M=; b=xgAqgTPDY2MhHzhLgde+3aodj eGDTJmhgFFgfkirlOM+SjWn2p36i4flsR9+tX+NXzDgMTMXv/j8Yg88qo1rQatQ1Kzg0psJ/uS/qM EwAz3mvvBa1N9uowYp9bhcGZnuTfA/RiOigAW7144pdTjYS0TpHP+Vq0bfTgrhB4Rj9hZpnDh3JGq 3emcxMK7cNP/IY/mWSWROzY895tvZW/zPoJvWmZPLYDZu6SbcvH4yZGzcMdaChKdmMrXDd3SPFYj1 f+qT4V5FrO0cvUUxz2ILZKCBo2Z5m536LmSb0cpjAh7z/Bf+cRSqiQtuEsH7Vve/bj1wZposRF66/ XVpVMe70A==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jxp99-0005dI-Ba; Tue, 21 Jul 2020 10:05:15 +0000 Received: from esa2.microchip.iphmx.com ([68.232.149.84]) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jxp95-0005ba-4S for linux-arm-kernel@lists.infradead.org; Tue, 21 Jul 2020 10:05:12 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1595325911; x=1626861911; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=PQhdyJFUcE/B+fHmZsdxZExh6mjBo63eSp4PWdlxyO0=; b=OH4ATRKVC7wj1gSxP85OoFFQAMcs2Qs/QzEXHwM67q1/bQQZMTuYBfP1 XELYkKPeMXqNWEo3PSmpczUPn8pQNgP62F04BjZIFjzhaG5cipZNTnFrZ ftrDSicAwW6zN6NsiqhMIfFs7HelJ9jDGVdHYED/GCkEQWRtFPcSkUhxk D3kpbRCmWxbLgeTICVzvWXYfyX3tBT1jCOHEjxuPJglzcf1IWHAvUE1r1 +kZrZMHEP+Eb8T96/3bp+iQ2NNV6X0OZIDD9ruhjn945Ul8suRRfGQhXY V3IT7RFMI4eknqzkOZUwKfWuFyYZBAk3MjnZjGGKD5v8iCeMp9r07CF45 w==; IronPort-SDR: kYOGqRBc3cKms3pWJwWEtqR4GGzfxu48uSdmDxeQBd/TcMT6FykuhbE33dUDHctBVcdjnFhIna 1KyPRFyBtFW10ThcwrhCzy7fHja3G+fmezLWhtbiO6E0JcjNtod3mnwkYLNmlw0YmrrDnI0R4g jRMbsGjpK0CtSdz982UNTyPcL20viNfUfkZzjeJZvzvmfdN/wmP02y9sNSbDDfrS0tDNNP7QQ7 OcftoEwCRpq5OSt5k/LNfasuLFntCRWn/idSqeqOAaKdog0IEvtm6HTsI7/ew76XZngnt8nBuU mB0= X-IronPort-AV: E=Sophos;i="5.75,378,1589266800"; d="scan'208";a="82644333" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa2.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 21 Jul 2020 03:05:10 -0700 Received: from chn-vm-ex02.mchp-main.com (10.10.85.144) by chn-vm-ex04.mchp-main.com (10.10.85.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Tue, 21 Jul 2020 03:05:09 -0700 Received: from rob-ult-m19940.microchip.com (10.10.115.15) by chn-vm-ex02.mchp-main.com (10.10.85.144) with Microsoft SMTP Server id 15.1.1979.3 via Frontend Transport; Tue, 21 Jul 2020 03:04:06 -0700 From: Codrin Ciubotariu To: , , , Subject: [PATCH net-next 3/7] net: macb: parse PHY nodes found under an MDIO node Date: Tue, 21 Jul 2020 13:02:30 +0300 Message-ID: <20200721100234.1302910-4-codrin.ciubotariu@microchip.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20200721100234.1302910-1-codrin.ciubotariu@microchip.com> References: <20200721100234.1302910-1-codrin.ciubotariu@microchip.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200721_060511_578597_58E68F19 X-CRM114-Status: GOOD ( 12.05 ) X-Spam-Score: -2.5 (--) X-Spam-Report: SpamAssassin version 3.4.4 on merlin.infradead.org summary: Content analysis details: (-2.5 points) pts rule name description ---- ---------------------- -------------------------------------------------- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/, medium trust [68.232.149.84 listed in list.dnswl.org] -0.0 SPF_HELO_PASS SPF: HELO matches SPF record -0.0 SPF_PASS SPF: sender matches SPF record 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3) [68.232.149.84 listed in wl.mailspike.net] -0.1 DKIM_VALID Message has at least one valid DKIM or DK signature -0.1 DKIM_VALID_AU Message has a valid DKIM or DK signature from author's domain 0.1 DKIM_SIGNED Message has a DKIM or DK signature, not necessarily valid -0.1 DKIM_VALID_EF Message has a valid DKIM or DK signature from envelope-from domain 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: andrew@lunn.ch, alexandre.belloni@bootlin.com, f.fainelli@gmail.com, claudiu.beznea@microchip.com, ludovic.desroches@microchip.com, robh+dt@kernel.org, kuba@kernel.org, Codrin Ciubotariu , davem@davemloft.net Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org The MACB embeds an MDIO bus controller. For this reason, the PHY nodes were represented as sub-nodes in the MACB node. Generally, the Ethernet controller is different than the MDIO controller, so the PHYs are probed by a separate MDIO driver. Since adding the PHY nodes directly under the ETH node became deprecated, we adjust the MACB driver to look for an MDIO node and register the subnode MDIO devices. Signed-off-by: Codrin Ciubotariu --- drivers/net/ethernet/cadence/macb_main.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c index 89fe7af5e408..66f02c16cc7c 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -740,10 +740,20 @@ static int macb_mii_probe(struct net_device *dev) static int macb_mdiobus_register(struct macb *bp) { struct device_node *child, *np = bp->pdev->dev.of_node; + struct device_node *mdio_node; + int ret; if (of_phy_is_fixed_link(np)) return mdiobus_register(bp->mii_bus); + /* if an MDIO node is present, it should contain the PHY nodes */ + mdio_node = of_get_child_by_name(np, "mdio"); + if (mdio_node) { + ret = of_mdiobus_register(bp->mii_bus, mdio_node); + of_node_put(mdio_node); + return ret; + } + /* Only create the PHY from the device tree if at least one PHY is * described. Otherwise scan the entire MDIO bus. We do this to support * old device tree that did not follow the best practices and did not @@ -755,7 +765,6 @@ static int macb_mdiobus_register(struct macb *bp) * decrement it before returning. */ of_node_put(child); - return of_mdiobus_register(bp->mii_bus, np); }