From patchwork Wed Oct 18 11:44:58 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Corentin Labbe X-Patchwork-Id: 116270 Delivered-To: patch@linaro.org Received: by 10.140.22.163 with SMTP id 32csp5965261qgn; Wed, 18 Oct 2017 04:47:32 -0700 (PDT) X-Received: by 10.98.69.145 with SMTP id n17mr2533034pfi.310.1508327252787; Wed, 18 Oct 2017 04:47:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1508327252; cv=none; d=google.com; s=arc-20160816; b=oYIjwwmVSlY7IGJZreNOrGtpFqCeTbYvSui9PVwU38PKM/+06cvU+5iNcMxOCvyCGT P4Nb8Ff9WC6l8/9zWyxPpMmwqpkVT0oqMNaZCFTVJHBss7Fw+fydjT/WJgp+bsIu5kKl kNE/r89XH2+JpmRhaWb93Fg2gVO9JrE5jGVVC0mKZLnw1SaE2AIRt0lj3kZOkqlSNu9R tA6u11/snn6oc/Smn80B9oy+0tPzHq7j+imakkEQIker5TtmM4RBsFDZSWgYAO0ZqMzY OmMjPLcFJkQSg1Qzjb8nIpuMKM5UcfFboH10oX8l3wV0VtomW3kxapVNcNdJMAbv3yv3 ESag== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature:arc-authentication-results; bh=tCZB/NGM+w1xoo97gT9wf+T7z4yiIOopH9ZToq6T5Cc=; b=tkPcvt6+NFJNRgJnvlnRLlpTq8kfDREOgC0unZcOkcznt2i0HtNJdkWeQ8kpVAtglv LSG5QWV2NUvPBiN1uL6tCecgRWpFdgiwIfwLP0fdxs4ileJauM9+xC716q1jWGmmtQxP EgiUeRXfe7+Xawbg8swFlrSbHoyFLFEAi6xawHXPum/WJuijLGXchH5oDlJslgiCKmL9 Q/WqzpBEwUeu+YsYSLe3a/wOOvi1EGktjjlyfFcBaRsz5g89W5IhOwUNolk8vBSjOYQO CvWpFS/kVa6xNhbYIU5WLV0Wh2y9hxlH2rNFUnrRRd+vg9dvVun3nSboewjFosH5Hjgb bz8Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=PLCs1b3G; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id f6si7609860plt.152.2017.10.18.04.47.32; Wed, 18 Oct 2017 04:47:32 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=PLCs1b3G; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932795AbdJRLr3 (ORCPT + 27 others); Wed, 18 Oct 2017 07:47:29 -0400 Received: from mail-wm0-f66.google.com ([74.125.82.66]:50581 "EHLO mail-wm0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932616AbdJRLrZ (ORCPT ); Wed, 18 Oct 2017 07:47:25 -0400 Received: by mail-wm0-f66.google.com with SMTP id u138so9489946wmu.5; Wed, 18 Oct 2017 04:47:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=tCZB/NGM+w1xoo97gT9wf+T7z4yiIOopH9ZToq6T5Cc=; b=PLCs1b3GKFfbjMJpWP8YihyMtm6unaMF2NYoU/HgMDizJtZUHGCxvpHFgbA7/jw19B BH4vE2jRLq7mwCZbuFaUghE0PVRW0FV3d2eVgRaTs/xoJwOWNb+KkOMrE7PlhCi2WF1s 9AaoshjPDyQwIhPlWY5A2GrOVdC9sR+qH9epNPB00yFYXhqfA0HiOJtEzRNY49ma8rlS Sk2MJbX7CWXD79t+XIcOoYmYg/Wgw0QbyBz1lCXogK2U8cwY4HiMbFY/ad22mzgRXhvr Vhyt279qxfJkSJMeKB/YJqURyPJrJvzsodVj+pp7cp5Qp6+nfzcURKEy5y8S4qPu+0ng EVfw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=tCZB/NGM+w1xoo97gT9wf+T7z4yiIOopH9ZToq6T5Cc=; b=f9El9Wz51PuNwwnTYCNfXiIkA93TL/3Yle4lQvSdOAnsY3vUTQtlNZ4QeLJe5WKvIQ 3OxK5d/Xuu3f/d4IizeU1LuW8WdgaNjhLvR/w0MYaFWS/DIRzd44g5wGiShuV0v0x8Xs EPONERWgKcSrlFpDqpit9pcd+hHC4kX3j9E/fo5FYoP5VHeWQ166pqneFoluwHRR4fZ8 T1lyxhSXM1fGxtlLGFMr91CfgnmbbNVMMU5ZHzPh+A3ezq9balZ5GIWRbooqc+qULSmx b2ScFul7MG43xgPhtFI9iEmLcqe6u3J4btkIF47vuBbFyj87GXNZzOMzY3/DEixJWh1W WhiA== X-Gm-Message-State: AMCzsaVX9yoxUt15Edw9UA0z3SIY4ynSHagxgUVt5uxPhfHGVY8TH6/u L7G/GFLIALbRO5NmEDz8rv4= X-Google-Smtp-Source: ABhQp+QZYI3FivIz1BVvq5/0fsj3xebgOI1BYao3OwiVGj04GoriXYcVsT9dlPzrazZ6rPrLZ7h4Ug== X-Received: by 10.28.69.210 with SMTP id l79mr6160531wmi.117.1508327242795; Wed, 18 Oct 2017 04:47:22 -0700 (PDT) Received: from Red.local (LFbn-MAR-1-580-96.w90-118.abo.wanadoo.fr. [90.118.159.96]) by smtp.googlemail.com with ESMTPSA id 61sm8444391wrg.58.2017.10.18.04.47.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 18 Oct 2017 04:47:22 -0700 (PDT) From: Corentin Labbe To: robh+dt@kernel.org, mark.rutland@arm.com, maxime.ripard@free-electrons.com, wens@csie.org, linux@armlinux.org.uk, catalin.marinas@arm.com, will.deacon@arm.com, peppe.cavallaro@st.com, alexandre.torgue@st.com, andrew@lunn.ch, f.fainelli@gmail.com, frowand.list@gmail.com Cc: netdev@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, linux-sunxi@googlegroups.com, Corentin Labbe Subject: [PATCH v7 10/10] of: mdio: Prevent of_mdiobus_register from scanning mdio-mux nodes Date: Wed, 18 Oct 2017 13:44:58 +0200 Message-Id: <20171018114458.17891-11-clabbe.montjoie@gmail.com> X-Mailer: git-send-email 2.13.6 In-Reply-To: <20171018114458.17891-1-clabbe.montjoie@gmail.com> References: <20171018114458.17891-1-clabbe.montjoie@gmail.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Each child node of an MDIO node is scanned as a PHY when calling of_mdiobus_register() givint the following result: [ 18.175379] mdio_bus stmmac-0: /soc/ethernet@1c30000/mdio/mdio-mux has invalid PHY address [ 18.175408] mdio_bus stmmac-0: scan phy mdio-mux at address 0 [ 18.175450] mdio_bus stmmac-0: scan phy mdio-mux at address 1 [...] [ 18.176420] mdio_bus stmmac-0: scan phy mdio-mux at address 30 [ 18.176452] mdio_bus stmmac-0: scan phy mdio-mux at address 31 Since mdio-mux nodes are not PHY, this patch a way to to not scan them. Signed-off-by: Corentin Labbe --- drivers/of/of_mdio.c | 10 ++++++++++ 1 file changed, 10 insertions(+) -- 2.13.6 diff --git a/drivers/of/of_mdio.c b/drivers/of/of_mdio.c index d94dd8b77abd..90f3ac87c98f 100644 --- a/drivers/of/of_mdio.c +++ b/drivers/of/of_mdio.c @@ -190,6 +190,10 @@ int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np) struct device_node *child; bool scanphys = false; int addr, rc; + static const struct of_device_id compatible_muxes[] = { + { .compatible = "mdio-mux" }, + {} + }; /* Do not continue if the node is disabled */ if (!of_device_is_available(np)) @@ -212,6 +216,9 @@ int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np) /* Loop over the child nodes and register a phy_device for each phy */ for_each_available_child_of_node(np, child) { + if (of_match_node(compatible_muxes, child)) + continue; + addr = of_mdio_parse_addr(&mdio->dev, child); if (addr < 0) { scanphys = true; @@ -229,6 +236,9 @@ int of_mdiobus_register(struct mii_bus *mdio, struct device_node *np) /* auto scan for PHYs with empty reg property */ for_each_available_child_of_node(np, child) { + if (of_match_node(compatible_muxes, child)) + continue; + /* Skip PHYs with reg property set */ if (of_find_property(child, "reg", NULL)) continue;