From patchwork Tue Jan 17 23:21:43 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 9522231 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id 00C62601C3 for ; Tue, 17 Jan 2017 23:32:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id E865B267EC for ; Tue, 17 Jan 2017 23:32:23 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id DCAA22849C; Tue, 17 Jan 2017 23:32:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-4.1 required=2.0 tests=BAYES_00, DKIM_ADSP_CUSTOM_MED, DKIM_SIGNED,FREEMAIL_FROM,RCVD_IN_DNSWL_MED,T_DKIM_INVALID autolearn=unavailable version=3.3.1 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.9]) (using TLSv1.2 with cipher AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id 4B9ED267EC for ; Tue, 17 Jan 2017 23:32:23 +0000 (UTC) Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.87 #1 (Red Hat Linux)) id 1cTdEi-0002Kf-VX; Tue, 17 Jan 2017 23:32:20 +0000 Received: from mail-pg0-x241.google.com ([2607:f8b0:400e:c05::241]) by bombadil.infradead.org with esmtps (Exim 4.87 #1 (Red Hat Linux)) id 1cTd5A-0004A0-HH for linux-arm-kernel@lists.infradead.org; Tue, 17 Jan 2017 23:22:30 +0000 Received: by mail-pg0-x241.google.com with SMTP id 75so9087799pgf.3 for ; Tue, 17 Jan 2017 15:22:08 -0800 (PST) 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=9EJ+Wm49XfuWOHsaQSQUWWXUo3Ern207r5pcnsEsUd0=; b=gk8X6rq3eeCiIJyBcstEO0h3rX7CHigzSaBWBUm3mxDXsMgQO5Ow61JaHrmJFkP+aL 08iBuG7SkMSBfx0ai1xxk5Pr7i5NcYOrATMipDmCUO9yrRU/WNqR2rJ5reJHh0cpq2/l 0ebrC66x4jxrRE5OMEYWRsxUlT7n2/tt51QdpZBeu/CoTtu+2Zf2CtJVm8Uqao1JSQMo FicNdHBW3N7OOF0UKaGyE9NRbh1Us+OXoeIgD6U/k6tasRA5vWZIN86lV1GSnik5RG3i ft2kR339lcKJJu6X5b2aHJ7e3o9PId1t0BjrOZQnwkAVav2q0A0IlsxMav6bbiCdGEO3 NcjQ== 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=9EJ+Wm49XfuWOHsaQSQUWWXUo3Ern207r5pcnsEsUd0=; b=ch1DWnn1ojKD6UpEu2HJ0tkj03LdsGDZHy6lu4JtDfY3YnpkfgaGgPOzDKxMC4DsrI hd7sfOxCOGkYl9wzpAuIkueP+ViD8Q7dFY3Hn+h0ANi9jB9o/+bXAJQDZ64GxCGCvYrA 5fyb/yd5mPxWb5arGaDbUM6PZTP1JC1dcOCC4S4iU2jfURxYzu/Qr4oPMyHX5PxHFUHy Mdv0l8WAZ6IshTHjStCoHRak24OqVH61ebxI4RJmsqGEXbdL4EnkexJekVL2Av0JaKFc barHXt7+e/DS02+hTl9uLdYiCMJWY/0PskcJolFLW7YTtbuCbsDMWIUITZw6VwrJQ6Th 5v5A== X-Gm-Message-State: AIkVDXLynfm0agMR6V1sZ4IcpEjSsuE0qZOmNCOZTZZScYXyzbSAy1LdhxlCPTsi7GRvWQ== X-Received: by 10.98.5.2 with SMTP id 2mr193040pff.77.1484695327642; Tue, 17 Jan 2017 15:22:07 -0800 (PST) Received: from fainelli-desktop.broadcom.com ([192.19.255.250]) by smtp.gmail.com with ESMTPSA id w125sm58615705pgb.11.2017.01.17.15.22.05 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 17 Jan 2017 15:22:06 -0800 (PST) From: Florian Fainelli To: netdev@vger.kernel.org Subject: [PATCH net-next v4 01/10] net: dsa: Pass device pointer to dsa_register_switch Date: Tue, 17 Jan 2017 15:21:43 -0800 Message-Id: <20170117232152.1661-2-f.fainelli@gmail.com> X-Mailer: git-send-email 2.9.3 In-Reply-To: <20170117232152.1661-1-f.fainelli@gmail.com> References: <20170117232152.1661-1-f.fainelli@gmail.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20170117_152228_598701_6E64580A X-CRM114-Status: GOOD ( 13.28 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Andrew Lunn , Florian Fainelli , Jason Cooper , Vivien Didelot , Greg Kroah-Hartman , Russell King , open list , Gregory Clement , "David S. Miller" , "moderated list:ARM/Marvell Dove/MV78xx0/Orion SOC support" , Sebastian Hesselbarth MIME-Version: 1.0 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org X-Virus-Scanned: ClamAV using ClamSMTP In preparation for allowing dsa_register_switch() to be supplied with device/platform data, pass down a struct device pointer instead of a struct device_node. Signed-off-by: Florian Fainelli --- drivers/net/dsa/b53/b53_common.c | 2 +- drivers/net/dsa/mv88e6xxx/chip.c | 11 ++++++----- drivers/net/dsa/qca8k.c | 2 +- include/net/dsa.h | 2 +- net/dsa/dsa2.c | 7 ++++--- 5 files changed, 13 insertions(+), 11 deletions(-) diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c index 5102a3701a1a..7179eed9ee6d 100644 --- a/drivers/net/dsa/b53/b53_common.c +++ b/drivers/net/dsa/b53/b53_common.c @@ -1882,7 +1882,7 @@ int b53_switch_register(struct b53_device *dev) pr_info("found switch: %s, rev %i\n", dev->name, dev->core_rev); - return dsa_register_switch(dev->ds, dev->ds->dev->of_node); + return dsa_register_switch(dev->ds, dev->ds->dev); } EXPORT_SYMBOL(b53_switch_register); diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c index 987b2dbbd35a..3238a4752b98 100644 --- a/drivers/net/dsa/mv88e6xxx/chip.c +++ b/drivers/net/dsa/mv88e6xxx/chip.c @@ -4421,8 +4421,7 @@ static struct dsa_switch_driver mv88e6xxx_switch_drv = { .ops = &mv88e6xxx_switch_ops, }; -static int mv88e6xxx_register_switch(struct mv88e6xxx_chip *chip, - struct device_node *np) +static int mv88e6xxx_register_switch(struct mv88e6xxx_chip *chip) { struct device *dev = chip->dev; struct dsa_switch *ds; @@ -4437,7 +4436,7 @@ static int mv88e6xxx_register_switch(struct mv88e6xxx_chip *chip, dev_set_drvdata(dev, ds); - return dsa_register_switch(ds, np); + return dsa_register_switch(ds, dev); } static void mv88e6xxx_unregister_switch(struct mv88e6xxx_chip *chip) @@ -4521,9 +4520,11 @@ static int mv88e6xxx_probe(struct mdio_device *mdiodev) if (err) goto out_g2_irq; - err = mv88e6xxx_register_switch(chip, np); - if (err) + err = mv88e6xxx_register_switch(chip); + if (err) { + mv88e6xxx_mdio_unregister(chip); goto out_mdio; + } return 0; diff --git a/drivers/net/dsa/qca8k.c b/drivers/net/dsa/qca8k.c index 54d270d59eb0..c084aa484d2b 100644 --- a/drivers/net/dsa/qca8k.c +++ b/drivers/net/dsa/qca8k.c @@ -964,7 +964,7 @@ qca8k_sw_probe(struct mdio_device *mdiodev) mutex_init(&priv->reg_mutex); dev_set_drvdata(&mdiodev->dev, priv); - return dsa_register_switch(priv->ds, priv->ds->dev->of_node); + return dsa_register_switch(priv->ds, &mdiodev->dev); } static void diff --git a/include/net/dsa.h b/include/net/dsa.h index b94d1f2ef912..16a502a6c26a 100644 --- a/include/net/dsa.h +++ b/include/net/dsa.h @@ -403,7 +403,7 @@ static inline bool dsa_uses_tagged_protocol(struct dsa_switch_tree *dst) } void dsa_unregister_switch(struct dsa_switch *ds); -int dsa_register_switch(struct dsa_switch *ds, struct device_node *np); +int dsa_register_switch(struct dsa_switch *ds, struct device *dev); #ifdef CONFIG_PM_SLEEP int dsa_switch_suspend(struct dsa_switch *ds); int dsa_switch_resume(struct dsa_switch *ds); diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c index 42a41d84053c..4170f7ea8e28 100644 --- a/net/dsa/dsa2.c +++ b/net/dsa/dsa2.c @@ -579,8 +579,9 @@ static struct device_node *dsa_get_ports(struct dsa_switch *ds, return ports; } -static int _dsa_register_switch(struct dsa_switch *ds, struct device_node *np) +static int _dsa_register_switch(struct dsa_switch *ds, struct device *dev) { + struct device_node *np = dev->of_node; struct device_node *ports = dsa_get_ports(ds, np); struct dsa_switch_tree *dst; u32 tree, index; @@ -660,12 +661,12 @@ static int _dsa_register_switch(struct dsa_switch *ds, struct device_node *np) return err; } -int dsa_register_switch(struct dsa_switch *ds, struct device_node *np) +int dsa_register_switch(struct dsa_switch *ds, struct device *dev) { int err; mutex_lock(&dsa2_mutex); - err = _dsa_register_switch(ds, np); + err = _dsa_register_switch(ds, dev); mutex_unlock(&dsa2_mutex); return err;