Received: by 10.223.164.202 with SMTP id h10csp749605wrb; Mon, 6 Nov 2017 15:00:52 -0800 (PST) X-Google-Smtp-Source: ABhQp+Sp1JTmicRjwDzKy/PMGci7uQpIBGCexj3bx21zY3VAJa0pDIt/2eVQRfH94yJMf26RPC11 X-Received: by 10.98.156.15 with SMTP id f15mr18480103pfe.35.1510009252643; Mon, 06 Nov 2017 15:00:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510009252; cv=none; d=google.com; s=arc-20160816; b=lKfxK6PoklVj7nIG8vsxm3gy5505bfYcGVw6cXeS/GPMfNEVhaXaDYrk/1fwE/3cOy VfvFD391fje6DBBcatl4EbmdH8WLnnBVFtMdXVdxOICTfIhEUchaZ+qzd67TzNTgIA+g vBcG7nzSdpJQ9/Ji/W4vo7/lfqafA19FXVV8/tWsO9VzcsHUMgPr7goATYD2Aj6bNckI Epf9IrgwBMr9snMV7h7fO4wUXBwkJ1IH3NsFV+GTzQerWMNDotw3yObPEvLPiH7SlvTc rpCUBfPus7blg6d3haw05waU9Znk62pefqNVzr0tvVxIRt6ryyxINHQ14NTJ/jzl92e7 fzqQ== 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:arc-authentication-results; bh=KiNFb9i5eA79ubRmNS2y4xwK0WWDOfu1jn70KZDCt9U=; b=sNbWjS6mRgQDe5yPnKr8F3Cy1V/PpjjP9/FHbTKG3igrPoIHGjRQlMJFe2fJF6HgA0 FZCjB8HEWTqUcm8KhOXSuLEZZc9qbpo7IgOlXI+PJR8may4iKJb7VGVV3D2A7xNRRRpk YlUvL53HCcw1cKcRgo4ZeYVZp69Gt+Dagtp1HuG2g160KIyLLPv7R+niu+Vp8tP89G5C hhTALOqf2bkH1eHI28NroqZ2vrxT7ET+D9Kdfm8VQ9VaWrd/eaQQXg+1YBUTBJXeAIH2 27e69Bo9YwTTqC98PJxEdj6+MjMeAIiNmE0mSDbIHXfS+E5h4470+PMgxWH7wuUa67bD 5zNw== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 62si10871754ply.163.2017.11.06.15.00.39; Mon, 06 Nov 2017 15:00:52 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754210AbdKFVMu (ORCPT + 95 others); Mon, 6 Nov 2017 16:12:50 -0500 Received: from mail.savoirfairelinux.com ([208.88.110.44]:55224 "EHLO mail.savoirfairelinux.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753814AbdKFVMT (ORCPT ); Mon, 6 Nov 2017 16:12:19 -0500 Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id A73F99C2F12; Mon, 6 Nov 2017 16:12:18 -0500 (EST) Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id 8Cz5GrVNW6Av; Mon, 6 Nov 2017 16:12:17 -0500 (EST) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id 7E13E9C2F3D; Mon, 6 Nov 2017 16:12:16 -0500 (EST) X-Virus-Scanned: amavisd-new at mail.savoirfairelinux.com Received: from mail.savoirfairelinux.com ([127.0.0.1]) by localhost (mail.savoirfairelinux.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id GsVk50XPhpH1; Mon, 6 Nov 2017 16:12:16 -0500 (EST) Received: from weeman.mtl.sfl (unknown [192.168.49.104]) by mail.savoirfairelinux.com (Postfix) with ESMTPSA id 1C1489C1A57; Mon, 6 Nov 2017 16:12:16 -0500 (EST) From: Vivien Didelot To: netdev@vger.kernel.org Cc: linux-kernel@vger.kernel.org, kernel@savoirfairelinux.com, "David S. Miller" , Florian Fainelli , Andrew Lunn , Vivien Didelot Subject: [PATCH net-next 07/11] net: dsa: add find port by node helper Date: Mon, 6 Nov 2017 16:11:49 -0500 Message-Id: <20171106211153.26529-8-vivien.didelot@savoirfairelinux.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20171106211153.26529-1-vivien.didelot@savoirfairelinux.com> References: <20171106211153.26529-1-vivien.didelot@savoirfairelinux.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Instead of having two dsa_ds_find_port_dn (which returns a bool) and dsa_dst_find_port_dn (which returns a switch) functions, provide a more explicit dsa_tree_find_port_by_node function which returns a matching port. Signed-off-by: Vivien Didelot --- net/dsa/dsa2.c | 37 +++++++++++++++++-------------------- 1 file changed, 17 insertions(+), 20 deletions(-) diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c index 676c0bc943dd..0f6f8c1701f9 100644 --- a/net/dsa/dsa2.c +++ b/net/dsa/dsa2.c @@ -117,30 +117,24 @@ static bool dsa_port_is_user(struct dsa_port *dp) return dp->type == DSA_PORT_TYPE_USER; } -static bool dsa_ds_find_port_dn(struct dsa_switch *ds, - struct device_node *port) -{ - u32 index; - - for (index = 0; index < ds->num_ports; index++) - if (ds->ports[index].dn == port) - return true; - return false; -} - -static struct dsa_switch *dsa_dst_find_port_dn(struct dsa_switch_tree *dst, - struct device_node *port) +static struct dsa_port *dsa_tree_find_port_by_node(struct dsa_switch_tree *dst, + struct device_node *dn) { struct dsa_switch *ds; - u32 index; + struct dsa_port *dp; + int device, port; - for (index = 0; index < DSA_MAX_SWITCHES; index++) { - ds = dst->ds[index]; + for (device = 0; device < DSA_MAX_SWITCHES; device++) { + ds = dst->ds[device]; if (!ds) continue; - if (dsa_ds_find_port_dn(ds, port)) - return ds; + for (port = 0; port < ds->num_ports; port++) { + dp = &ds->ports[port]; + + if (dp->dn == dn) + return dp; + } } return NULL; @@ -154,18 +148,21 @@ static int dsa_port_complete(struct dsa_switch_tree *dst, struct device_node *link; int index; struct dsa_switch *dst_ds; + struct dsa_port *link_dp; for (index = 0;; index++) { link = of_parse_phandle(port->dn, "link", index); if (!link) break; - dst_ds = dsa_dst_find_port_dn(dst, link); + link_dp = dsa_tree_find_port_by_node(dst, link); of_node_put(link); - if (!dst_ds) + if (!link_dp) return 1; + dst_ds = link_dp->ds; + src_ds->rtable[dst_ds->index] = src_port; } -- 2.14.3 From 1583352867616231381@xxx Mon Nov 06 21:16:03 +0000 2017 X-GM-THRID: 1582907796288567752 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread