Received: by 10.223.164.221 with SMTP id h29csp357062wrb; Fri, 3 Nov 2017 16:10:23 -0700 (PDT) X-Google-Smtp-Source: ABhQp+Rzac6oailyru0PraKFo8X6wATmlXlaXQ1MOyw3e4w5jM3ar2YcpCcl0h+Mv4OwKeMlGYFm X-Received: by 10.84.202.12 with SMTP id w12mr8131419pld.358.1509750623720; Fri, 03 Nov 2017 16:10:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1509750623; cv=none; d=google.com; s=arc-20160816; b=sWFKrsz4cpWZnxhhR0j7ysIKGDeRCHj3RJIC/2QeWUkhUk6x2j0TLwGLBNCIvxruZL klFLfQfAUXHV9IRwGTz7lW+RdyxjlY4dKCx0MF5tM7dvrWN+02jb5uG547bhqTcAYPPS wBjiCnPtRpokFDUyto8pxsNQBIqsrD0RrVnGajyOB+5ZYol0g60txyvHuX9K/lCL+vaC SG1hu6sdm4xAYu/jLcVNkQ9yTyfv0EhOS9RYAFOe8CPt/Jj7U02pNjkdlDYMqwAv2PdW qKL6AaIpTyj/AwZCWxUm/Pfuna1iEBBp4kH+hmxXA7Exn9sZqVxt2o7BaVcPwMQ3r+tL H0hw== 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=vMTVjmtyhItN2hmHBRuj8vn18whpHDlQor1zpdxlTrc=; b=0Hbkow0P4Tm+ONbYGbf85zqmPfQTqsH/iF8n43DY74Yf/Uc+E8Hwr1aAAudKw+uOdm fWlH3NpJjwlH+wspJlWuWlQZh56OEEgw2c6VkgE3D5ZsJ/UFSmnF8EfSQM4On/XzWyFE MGNlhYvMAj9+gPFQDCtMcmhu6QDhqxbb/JpGDZ7sgKnZC0MSa0gVEDDWB+xnvCRm4zFY 6Yb0D7/6Ugkkvb13aMjnGAc0jb0SAkjgTIGpGzye+3UnafmOHSB3/DgrNyzU6yr5ySAH emaaUu7j7cp9N/G6NHi8dpg1q73HUNDa8ezddx/XRIdqYAXm8avUlARsB1f0V5VjRXQg s4zA== 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 c23si6003401plo.446.2017.11.03.16.10.11; Fri, 03 Nov 2017 16:10:23 -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; 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 S1755992AbdKCXHp (ORCPT + 92 others); Fri, 3 Nov 2017 19:07:45 -0400 Received: from mail.savoirfairelinux.com ([208.88.110.44]:33386 "EHLO mail.savoirfairelinux.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755830AbdKCXGB (ORCPT ); Fri, 3 Nov 2017 19:06:01 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id 49FD19C2F01; Fri, 3 Nov 2017 19:06:01 -0400 (EDT) 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 Sy4oxHs9j6uZ; Fri, 3 Nov 2017 19:05:55 -0400 (EDT) Received: from localhost (localhost [127.0.0.1]) by mail.savoirfairelinux.com (Postfix) with ESMTP id 491B19C2F4F; Fri, 3 Nov 2017 19:05:47 -0400 (EDT) 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 OsJin1ZdaNvZ; Fri, 3 Nov 2017 19:05:47 -0400 (EDT) Received: from weeman.mtl.sfl (unknown [192.168.49.192]) by mail.savoirfairelinux.com (Postfix) with ESMTPSA id EB17B9C2F4E; Fri, 3 Nov 2017 19:05:46 -0400 (EDT) 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 10/11] net: dsa: add one port parsing function per type Date: Fri, 3 Nov 2017 19:05:29 -0400 Message-Id: <20171103230530.996-11-vivien.didelot@savoirfairelinux.com> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20171103230530.996-1-vivien.didelot@savoirfairelinux.com> References: <20171103230530.996-1-vivien.didelot@savoirfairelinux.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Add dsa_port_parse_user, dsa_port_parse_dsa and dsa_port_parse_cpu functions to factorize the code shared by both OF and pdata parsing. They don't do much for the moment but will be extended later to support tagging protocol resolution for example. Signed-off-by: Vivien Didelot --- net/dsa/dsa2.c | 56 ++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 36 insertions(+), 20 deletions(-) diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c index 06bcdb6bc796..271a97ef5bf6 100644 --- a/net/dsa/dsa2.c +++ b/net/dsa/dsa2.c @@ -491,6 +491,32 @@ static int dsa_tree_add_switch(struct dsa_switch_tree *dst, return 0; } +static int dsa_port_parse_user(struct dsa_port *dp, const char *name) +{ + if (!name) + name = "eth%d"; + + dp->type = DSA_PORT_TYPE_USER; + dp->name = name; + + return 0; +} + +static int dsa_port_parse_dsa(struct dsa_port *dp) +{ + dp->type = DSA_PORT_TYPE_DSA; + + return 0; +} + +static int dsa_port_parse_cpu(struct dsa_port *dp, struct net_device *master) +{ + dp->type = DSA_PORT_TYPE_CPU; + dp->master = master; + + return 0; +} + static int dsa_cpu_parse(struct dsa_port *port, u32 index, struct dsa_switch_tree *dst, struct dsa_switch *ds) @@ -593,6 +619,8 @@ static int dsa_port_parse_of(struct dsa_port *dp, struct device_node *dn) const char *name = of_get_property(dn, "label", NULL); bool link = of_property_read_bool(dn, "link"); + dp->dn = dn; + if (ethernet) { struct net_device *master; @@ -600,21 +628,13 @@ static int dsa_port_parse_of(struct dsa_port *dp, struct device_node *dn) if (!master) return -EPROBE_DEFER; - dp->type = DSA_PORT_TYPE_CPU; - dp->master = master; - } else if (link) { - dp->type = DSA_PORT_TYPE_DSA; - } else { - if (!name) - name = "eth%d"; - - dp->type = DSA_PORT_TYPE_USER; - dp->name = name; + return dsa_port_parse_cpu(dp, master); } - dp->dn = dn; + if (link) + return dsa_port_parse_dsa(dp); - return 0; + return dsa_port_parse_user(dp, name); } static int dsa_switch_parse_ports_of(struct dsa_switch *ds, @@ -694,17 +714,13 @@ static int dsa_port_parse(struct dsa_port *dp, const char *name, dev_put(master); - dp->type = DSA_PORT_TYPE_CPU; - dp->master = master; - } else if (!strcmp(name, "dsa")) { - dp->type = DSA_PORT_TYPE_DSA; - } else { - dp->type = DSA_PORT_TYPE_USER; + return dsa_port_parse_cpu(dp, master); } - dp->name = name; + if (!strcmp(name, "dsa")) + return dsa_port_parse_dsa(dp); - return 0; + return dsa_port_parse_user(dp, name); } static int dsa_switch_parse_ports(struct dsa_switch *ds, -- 2.14.3 From 1583088829055096309@xxx Fri Nov 03 23:19:16 +0000 2017 X-GM-THRID: 1583088203861591376 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread