From patchwork Fri Mar 22 16:56:22 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1061391 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="Wp0/hYjx"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44QqZ44z7dz9sRf for ; Sat, 23 Mar 2019 03:56:44 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728334AbfCVQ4n (ORCPT ); Fri, 22 Mar 2019 12:56:43 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:53128 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726603AbfCVQ4m (ORCPT ); Fri, 22 Mar 2019 12:56:42 -0400 Received: by mail-wm1-f68.google.com with SMTP id a184so2850020wma.2 for ; Fri, 22 Mar 2019 09:56:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=UTlUCV8MryL4KmH9AeXP0oqrp3Vl0TRs5WKmR6kyhoU=; b=Wp0/hYjxlVf9UMkToOaeKL/FbMF+C6ZFl9ZPIUPqeVAZnOWIfxTDZIwyE5Wno1QfUK 5Os6ydmtRxiptJrzWCBoo7TdpN+z06H2TwigZNeZ1TgZ9EQgNtHo4RDwnxp5tNEO1ixz 4gVAPoSK7VzLrelYLgMEzlv4DQZ2996RCRxRYO9HbH9DgsCxpae2mE6mNr8+vz73QeaR DiZ+yX5zhYIxbe4mZU+/iXuXTCkpzU6Vd9OWMPp/Sj+oomwFpxa4IhfqDIj+o27DzdS2 ddsLKncuekZ+e4Kxmfo4AvvLj11mwto0xAdxr2Hv9dtOvC/Mtl8U3LHEu0sx8kLeRJHO CFMQ== 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=UTlUCV8MryL4KmH9AeXP0oqrp3Vl0TRs5WKmR6kyhoU=; b=rnCtfZjdFzTYBtSgcFFGm1Fy3IJOyvIAgh2KLeDXB488Bd1QThWgiRIMAoQXoK+6oz wMcBIIuCVXJ9i7ayec5kdNw5T9PWTW/pKCqhyPjn+XVA8QEGAp+ky7q2wa0xNknJOrvU DQcgaR0neOBo/0Htw2v+uF8qltOt8u+B1wYeP+uRbxsH1DKoIZYtonPA/XqNs7/suN+f uEiwlMftFUNUKwEAipJSRFKjcGn0+sGXyv0k36r/sDKGUh3ye9vXVRNfO76Eq3J/M+Gx t0XmVyWl4ZioZCBB+Vz4b25o7Xv+U/b+AC+DmaBGyMYJOeg/nACo32vcziUMsHPB+xyI xaTg== X-Gm-Message-State: APjAAAVBLWzbUiPUjQxCLxtpDOLxTnIWLmfqKHGiciCzYB8HiGmr+AcV KM2TrKw6xp2Qo0XIf2pit4/8JZsPHVk= X-Google-Smtp-Source: APXvYqwDMHndIl7pxTXpX0wpMx9WeEfdzJ6ZSpfeO5dyuenUzsT3Er9kmIoXS5Bhfc92ZtCj8aHdKQ== X-Received: by 2002:a1c:3c02:: with SMTP id j2mr3850002wma.72.1553273800098; Fri, 22 Mar 2019 09:56:40 -0700 (PDT) Received: from localhost ([195.39.71.253]) by smtp.gmail.com with ESMTPSA id o127sm10875452wmo.20.2019.03.22.09.56.39 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 09:56:39 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [patch net-next v2 01/15] net: devlink: add couple of missing mutex_destroy() calls Date: Fri, 22 Mar 2019 17:56:22 +0100 Message-Id: <20190322165636.1725-2-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190322165636.1725-1-jiri@resnulli.us> References: <20190322165636.1725-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Add missing called to mutex_destroy() for two mutexes used in devlink code. Signed-off-by: Jiri Pirko --- net/core/devlink.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/core/devlink.c b/net/core/devlink.c index 78e22cea4cc7..3dc51ddf7451 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -4486,6 +4486,7 @@ devlink_health_reporter_destroy(struct devlink_health_reporter *reporter) { mutex_lock(&reporter->devlink->lock); list_del(&reporter->list); + mutex_destroy(&reporter->dump_lock); mutex_unlock(&reporter->devlink->lock); if (reporter->dump_fmsg) devlink_fmsg_free(reporter->dump_fmsg); @@ -5298,6 +5299,7 @@ EXPORT_SYMBOL_GPL(devlink_unregister); */ void devlink_free(struct devlink *devlink) { + mutex_destroy(&devlink->lock); WARN_ON(!list_empty(&devlink->reporter_list)); WARN_ON(!list_empty(&devlink->region_list)); WARN_ON(!list_empty(&devlink->param_list)); From patchwork Fri Mar 22 16:56:23 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1061392 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="ENCpfRqG"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44QqZ60m8zz9sRf for ; Sat, 23 Mar 2019 03:56:46 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728470AbfCVQ4o (ORCPT ); Fri, 22 Mar 2019 12:56:44 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:36863 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727882AbfCVQ4n (ORCPT ); Fri, 22 Mar 2019 12:56:43 -0400 Received: by mail-wm1-f65.google.com with SMTP id h18so2876922wml.1 for ; Fri, 22 Mar 2019 09:56:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=qV9XdcVudClsknayGI0lLARfUZozp8MpVBT4nZ+1XLY=; b=ENCpfRqGsebeQbQsGWLfFmKFtD3wmOtsokS+OK450GeAvNebWr0jeYqtzZYc9Cnhdz GKnO0DayLsD/r3vBfrVq7vQuSfxLnHPLCuyVUP3ItZCDTBOLzc6YY/2PTtNYAEd2oCY5 aN7LiRBJPApBAYVLTlTeCaIm93yo1w3OKIcfRSerhiJC1S8d5HSbFb/C4CqEIP6CxHQX xpNQaL6rAQkRtP7AUHEs0CELjfAODsSgVDOVSF3NuTZVDXSdKqMt+mKwYZeR0qHsols6 3VprbsXl4mbrgclL3hHioD8Gu8kl3qvObHIhCRwwtIaDwAjqvgeDFUy3+gOHOdCXouDV CX5g== 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=qV9XdcVudClsknayGI0lLARfUZozp8MpVBT4nZ+1XLY=; b=U3f+fGxwdS72flXJcYfLApdl8MMvhyEN6L4esTsh9XhgOsuABk2+CzM2KqH84qIDQx 53N1zMUJdyQ9p8+ooN1tmd1vjitezxXsE0wo6IPnoUgMjflW9jy9/Z17V2o4E6vRk+Zh yEPT8mkvAwxx2M1exh4db2t+Pt5Ikexefke4kfuxDcHT5qMm8VzLhTRmC1xtzOb4rqpB +ZfCBth6VcsnZZsUnDucDzIGy5ovHQ7GLLpKR5UR2YawhP7rdKZpJi7r+6eK1V/PAJmw CF92lX62cxp7x9AfzSvoCybtHGFKDHy4vgzprYK+x+0bhnywomCFlP+asMPlQeJiWSKd vxcw== X-Gm-Message-State: APjAAAWZq8OTFubiZoR3PIeQsQhABB8ZD/ctBWECWMnn/qxERcBofoT7 YYTqp/YZt/YUKcgcEucfOSF8gXJ3bFM= X-Google-Smtp-Source: APXvYqwfd/21mlyawqOvlpC2ZfnbYkAj93Wq4trG6httF6JiX9lk4egIRTNGIUq0qTr75E8nXWfz4w== X-Received: by 2002:a1c:f901:: with SMTP id x1mr3577107wmh.117.1553273801607; Fri, 22 Mar 2019 09:56:41 -0700 (PDT) Received: from localhost ([195.39.71.253]) by smtp.gmail.com with ESMTPSA id r12sm14336803wrr.71.2019.03.22.09.56.40 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 09:56:41 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [patch net-next v2 02/15] bnxt: add missing net/devlink.h include Date: Fri, 22 Mar 2019 17:56:23 +0100 Message-Id: <20190322165636.1725-3-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190322165636.1725-1-jiri@resnulli.us> References: <20190322165636.1725-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko devlink functions are in use, so include the related header file. Signed-off-by: Jiri Pirko --- drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c index e1feb97bcd81..ecb328ee8f5c 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c @@ -9,6 +9,7 @@ #include #include +#include #include "bnxt_hsi.h" #include "bnxt.h" #include "bnxt_vfr.h" From patchwork Fri Mar 22 16:56:24 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1061393 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="1PgjOjzw"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44QqZ71Kwcz9sRf for ; Sat, 23 Mar 2019 03:56:47 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728499AbfCVQ4q (ORCPT ); Fri, 22 Mar 2019 12:56:46 -0400 Received: from mail-wr1-f65.google.com ([209.85.221.65]:40102 "EHLO mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726603AbfCVQ4p (ORCPT ); Fri, 22 Mar 2019 12:56:45 -0400 Received: by mail-wr1-f65.google.com with SMTP id t5so3110884wri.7 for ; Fri, 22 Mar 2019 09:56:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=3+CIFrgI0BqjgsCi2mOOk8A4LFzCk4MWysnFmeksrTM=; b=1PgjOjzwCxzPd5cLcoqkoYg8TIK0Rb9Fk5gcJRK5mKdpDQR3z50xf1GBEtRKZq+hAS U7YfnKS0B+xu6abW3a8AdDdePxAqU90yBiQq2iDzf8Qux6L8zVGQM3SyTW9PaOwSdptm I4Wk9bx6OETfv+NpUG/oLo1ARXESk/a4LxI0FtAS1ICVDaOUut40puZGdVg9nPa9M9qd fM3zQf4/YhqE2zEYYOQ5nxL0vHNT9n4ilwoDKhLeH6l4iPbFsyh9raV6uwpBC0OulrFp fXsQEA0QZngf7r5HU4Kn8/A7F5dzN7FunhVNuU8hX5m5BHLqx/o4xMUCjzd+R8r8zcUB 0EjA== 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=3+CIFrgI0BqjgsCi2mOOk8A4LFzCk4MWysnFmeksrTM=; b=cJlG6suEoQsbTlwSQUSXE76HyRMywBUM7Yp/fv+VdHdY04SmhGUiBpHabv+BXk4X05 DeFcnTi3njw8gFSxDwhVIf6ooGIbxsIKi4CNH4LOL7lpDibSHSnQ6/ZEq4SI9Ej46Xdr +11Bw9flm6hrGSv/17ci/TXmqmdcrPVpnlBm13OJdTdnltwwKEMdlSEEDlMlYO8y0ZAC G18cprhtmN72p8BPH6HSmW20oMogxIKwn46fgP4DuLm5hpvMi3sZsvJEHrQFB2yu2ypG jNUSsOGOn07CGVNJLRze1gfWwEwOoWcyApmtvUsj8IpoLOL9kHCYMUccQMcJKbLHQeRr /8KQ== X-Gm-Message-State: APjAAAUwhKIcaR2WqZp5cjHSzYdKgiESVN+yM6pECkrY1wCO+bgXwb3u xp5dqdP5AUGzqsmJK7kHod0EAUZB+wE= X-Google-Smtp-Source: APXvYqwvf6D8wkalDUhLask5te6x/UQN+YcHtGB2jo/jF8WzdmrdMGuRZUcItLRlq+47iUJxSsrs9Q== X-Received: by 2002:adf:fe4d:: with SMTP id m13mr2945281wrs.267.1553273803065; Fri, 22 Mar 2019 09:56:43 -0700 (PDT) Received: from localhost ([195.39.71.253]) by smtp.gmail.com with ESMTPSA id j3sm26552672wrg.54.2019.03.22.09.56.42 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 09:56:42 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [patch net-next v2 03/15] dsa: add missing net/devlink.h include Date: Fri, 22 Mar 2019 17:56:24 +0100 Message-Id: <20190322165636.1725-4-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190322165636.1725-1-jiri@resnulli.us> References: <20190322165636.1725-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko devlink functions are in use, so include the related header file. Signed-off-by: Jiri Pirko Reviewed-by: Andrew Lunn --- net/dsa/dsa2.c | 1 + 1 file changed, 1 insertion(+) diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c index c00ee464afc7..4558de672b4f 100644 --- a/net/dsa/dsa2.c +++ b/net/dsa/dsa2.c @@ -18,6 +18,7 @@ #include #include #include +#include #include "dsa_priv.h" From patchwork Fri Mar 22 16:56:25 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1061394 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="aJul+eUg"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44QqZ966NMz9sRf for ; Sat, 23 Mar 2019 03:56:49 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728553AbfCVQ4s (ORCPT ); Fri, 22 Mar 2019 12:56:48 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:53133 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727882AbfCVQ4q (ORCPT ); Fri, 22 Mar 2019 12:56:46 -0400 Received: by mail-wm1-f65.google.com with SMTP id a184so2850248wma.2 for ; Fri, 22 Mar 2019 09:56:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=aPZcXje9srw4WovmZr3iHSuBgFwCyvZpqBUWhzME4gI=; b=aJul+eUg4o4cfEIxn794AToM0OVX4+0FI5L4YetBbBVZuscbH7h3MfqstevhbRyS0p YjD7q1zjMwnp9LyzZL2oNwia3s0cyHq2RofrYAdhgfIPmpEbjD1o2Nyt236bWjjdgzGE 3rgVqWws+2MaT53FKVh4XV+UaMqgItFNWy6sOZJ7UeDZlUyf8p5vSP4LzKzOFXu7Rpyh s9fgO2YmHbqu78PkC0i1WgAAJeP2x9yc9gMtg70vBmVFm8CwhMSSCtDncQ6ciaTk+hVH b+HBaQ9oZVSzV+9v5gpN5a0S6+sHDjNU8xypTs9hPnzjPJjOHfJ2V+l2YbfED97/9xaV l0JQ== 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=aPZcXje9srw4WovmZr3iHSuBgFwCyvZpqBUWhzME4gI=; b=mmiPDXljPIv54VC14zfmedZ0Wo0Ddhvw3vSQWN7psjTJ1rQZIftmcJs7vrd5aWy4lZ baIw6yJuATNfjHjV1fhzDqJZjkcE9ryBqAdokvTwQHbeDVJUzPt4cER9963bWaCJAwW8 IBvh88SgWV5Ns30IzfqtdlbvyMNhSxV14RnQRS3BDwqd92+T4R/IsiH8O9N88Zg9OPEt 0zV4ZAg5KPGbeKbxx8MDaRSxRyDznHPrPlokIgWrY4qYxhnPJWCmcHRlPowkzW5yp0OC 8NGz836RhbgBVHnKa8LbRU+bT15gVv/ncAvQu5brj2x/3wMzW+srd/cb6TgWWv72V+HG wRcg== X-Gm-Message-State: APjAAAUAGSPMr8kLFG9pcdYJMydh1y8KhO6uR5pQ0lsHB6y+bu1vZPVh LhNmp9LoL4lvwW2xDRNHxnEWE8m7A2M= X-Google-Smtp-Source: APXvYqxiH6phQEDaRMi9k+VbvdmxWs54RSQTVTA3XbfZA9JjAubRktL0elplxOdzoBgSzlvLPEGjSA== X-Received: by 2002:a7b:c404:: with SMTP id k4mr3856543wmi.117.1553273804675; Fri, 22 Mar 2019 09:56:44 -0700 (PDT) Received: from localhost ([195.39.71.253]) by smtp.gmail.com with ESMTPSA id t187sm5443915wma.1.2019.03.22.09.56.43 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 09:56:44 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [patch net-next v2 04/15] bnxt: set devlink port attrs properly Date: Fri, 22 Mar 2019 17:56:25 +0100 Message-Id: <20190322165636.1725-5-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190322165636.1725-1-jiri@resnulli.us> References: <20190322165636.1725-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Set the attrs properly so delink has enough info to generate physical port names. Signed-off-by: Jiri Pirko --- drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c index ecb328ee8f5c..ab6fd05c462b 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c @@ -229,6 +229,8 @@ int bnxt_dl_register(struct bnxt *bp) goto err_dl_unreg; } + devlink_port_attrs_set(&bp->dl_port, DEVLINK_PORT_FLAVOUR_PHYSICAL, + bp->pf.port_id, false, 0); rc = devlink_port_register(dl, &bp->dl_port, bp->pf.port_id); if (rc) { netdev_err(bp->dev, "devlink_port_register failed"); From patchwork Fri Mar 22 16:56:26 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1061395 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="eRSdbd5w"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44QqZB3KvDz9sRj for ; Sat, 23 Mar 2019 03:56:50 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728564AbfCVQ4t (ORCPT ); Fri, 22 Mar 2019 12:56:49 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:35391 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728515AbfCVQ4s (ORCPT ); Fri, 22 Mar 2019 12:56:48 -0400 Received: by mail-wr1-f66.google.com with SMTP id w1so3147559wrp.2 for ; Fri, 22 Mar 2019 09:56:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=wTzRy17GQ9eTfGlBmCL83qdRwlpf9GPWkB6XRQuibUQ=; b=eRSdbd5wChPwHkC8HQH04xIRZ5WjaEhRadkYV5XMMfyjHLsCRT23u6hzfb+2e9/A2W VioTHICas2AkEPqOjZLjTj+ec/cXJ6l3VuzQOwVV3H0WUwHNoLNQesyc8IUv/9gxiKuN T2ntojGudIViJA/NwnllyGRMuMMw3wSx0LjcjlSZybWLgKPIpJzdw5FNnaYwjP5+KyD1 YrswNlF4X6wGUrjoEJOES6L0Rs9nJp/v9jCM8/ccVYyHauouOFN099W1nQ8u68mFB0tW KPTwlTLgivaLt140C7E+MHeR1hB0Ijtbi061Mkvhll+YDa96bmUWs7Pk8oN7ziPewhSh 6VrA== 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=wTzRy17GQ9eTfGlBmCL83qdRwlpf9GPWkB6XRQuibUQ=; b=AcFGEr7lf5jMC3frh7Ln49QFxsf/Vdqw1HIPFnCzXo/aF33fNmMzGcvamo+2eVH5aN Fs1bQ6PioKTtZvCFsaJLcJJ4dGMQPFb7YuJhcOH05GzevxW43IY6kocyWuBqCPWdodrn h7q9QTBWV5/9ftuvm5Y+fg2kx/k9ZpUOKBwnPTps8rc1AfXassB8MO9/guD+PrfwDKOh OvePW+YBUVaRvFHMqSDdDZNxjMtLFzPQV1IW/tSr+bscvltxbyWJ6LQv9vL5+//Oyy5q krAoGkRyZ9RoIS8YuYxfyA6VRre4l+3BlkWfOsFrp+tXmS687PGupVpmIfyKp4ZIVTq/ LJfg== X-Gm-Message-State: APjAAAVDPjp1aia6YpEafqElPWq8ySCYLW7Sonuxqd+a3OJFzuHGQClH FXDQ6lFS3ygzWuwW/Qc5lQEu8amNj2s= X-Google-Smtp-Source: APXvYqwQv4TYnwg4ojTvOlcA2Nb9yHD04N+aHh+hKevJUbrEfWeRF6JMX7rvk/BvI0rYmscfeCNobA== X-Received: by 2002:a5d:660c:: with SMTP id n12mr6989840wru.160.1553273806712; Fri, 22 Mar 2019 09:56:46 -0700 (PDT) Received: from localhost ([195.39.71.253]) by smtp.gmail.com with ESMTPSA id f4sm5735456wmj.34.2019.03.22.09.56.45 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 09:56:46 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [patch net-next v2 05/15] bnxt: call devlink_port_type_eth_set() before port register Date: Fri, 22 Mar 2019 17:56:26 +0100 Message-Id: <20190322165636.1725-6-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190322165636.1725-1-jiri@resnulli.us> References: <20190322165636.1725-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Call devlink_port_type_eth_set() before devlink_port_register(). Bnxt instances won't change type during lifetime. This avoids one extra userspace devlink notification. Signed-off-by: Jiri Pirko --- drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c index ab6fd05c462b..a266bff559dc 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c @@ -229,6 +229,7 @@ int bnxt_dl_register(struct bnxt *bp) goto err_dl_unreg; } + devlink_port_type_eth_set(&bp->dl_port, bp->dev); devlink_port_attrs_set(&bp->dl_port, DEVLINK_PORT_FLAVOUR_PHYSICAL, bp->pf.port_id, false, 0); rc = devlink_port_register(dl, &bp->dl_port, bp->pf.port_id); @@ -236,7 +237,6 @@ int bnxt_dl_register(struct bnxt *bp) netdev_err(bp->dev, "devlink_port_register failed"); goto err_dl_param_unreg; } - devlink_port_type_eth_set(&bp->dl_port, bp->dev); rc = devlink_port_params_register(&bp->dl_port, bnxt_dl_port_params, ARRAY_SIZE(bnxt_dl_port_params)); From patchwork Fri Mar 22 16:56:27 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1061396 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="mK5mSozH"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44QqZF5x44z9sRf for ; Sat, 23 Mar 2019 03:56:53 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728603AbfCVQ4w (ORCPT ); Fri, 22 Mar 2019 12:56:52 -0400 Received: from mail-wr1-f67.google.com ([209.85.221.67]:45866 "EHLO mail-wr1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728515AbfCVQ4v (ORCPT ); Fri, 22 Mar 2019 12:56:51 -0400 Received: by mail-wr1-f67.google.com with SMTP id s15so3095492wra.12 for ; Fri, 22 Mar 2019 09:56:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=eKI4CmZcG8/TqlcpWiQUHV0l9hPTn8XJ5qCDiWKXvDY=; b=mK5mSozHSW5LzLrOYBE+migq8kbMkHKI2rk3GxtZBQggddwgJxCfWpCikKkQLj9U2q tcBmJ9n76pX69xt7FJ2inforQ+DauPeo3KnpPn1fZ0nJmKGb1GAxvWNg8waJBnkvmKP8 5/ZfO5SyC5EDaolM+UPgDUmMFGZ+VPBoMQv6R/3qJcZrn3Ctiink7KzPIxrjCYGVbCWF Jr6v5UFwfzRk/EpAag9/dj/x8tUSG84e/Gv92rVOMGHtmBlE4FslLrpeNML8C5WJc9aV n8jCuccWYrcNM16d5UewbJBIfiuniGIQFErExUnDnaiGSfeYedlrcMvdBHvO1j0y4d24 0oNQ== 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=eKI4CmZcG8/TqlcpWiQUHV0l9hPTn8XJ5qCDiWKXvDY=; b=fFytweLoi956+W9CdfRMe2NM8ZSvreHN1/t+3esbeUeIeTn6sCDf6WkednPOXYkeE7 gcovyaBZw0Htwbjy/zqGNxDmcGi52OfGUwfrRASmi0xptXBz9XQCm2lm8YKyh1G/aYJ4 FN/gUmVgysFwdI0LTHXf8I2lAAlYH9Ouf+cOwdGDVi4NIkFt5uxNGxWdhPd162k1CCQV 6ZSA0WGaEMBFNd4f1MxR8nSDfO74hrh+G+EvUQhqKS23WFQNlHFtIOA6G/z6JCnuVlis bubJ+eELNv6HqlUVqMPsDlowC2YMsb0OwgR1akHsj/tcn7eY0zUn4ItigtTTcM2SKBwf vJZg== X-Gm-Message-State: APjAAAVG0aaSI5TaGpaa+3IklU6Ltm0SeW+aRVjV7vmDIVcB8uOE8TqZ rxZh6SMSpCPJ1JUZmPTbCkFW3aXTOik= X-Google-Smtp-Source: APXvYqzxZcnLarC2mb7aRnDHdcRNqPIP8j5YThVSsxxU9WNiFpPTbBqgRZvYTSIXPXrkFVgwFTxXuA== X-Received: by 2002:adf:e40b:: with SMTP id g11mr7028011wrm.207.1553273808562; Fri, 22 Mar 2019 09:56:48 -0700 (PDT) Received: from localhost ([195.39.71.253]) by smtp.gmail.com with ESMTPSA id y8sm7433799wrm.8.2019.03.22.09.56.47 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 09:56:47 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [patch net-next v2 06/15] net: devlink: don't take devlink_mutex for devlink_compat_* Date: Fri, 22 Mar 2019 17:56:27 +0100 Message-Id: <20190322165636.1725-7-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190322165636.1725-1-jiri@resnulli.us> References: <20190322165636.1725-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko The netdevice is guaranteed to not disappear so we can rely that devlink_port and devlink won't disappear as well. No need to take devlink_mutex so don't take it here. Signed-off-by: Jiri Pirko --- net/core/devlink.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/net/core/devlink.c b/net/core/devlink.c index 3dc51ddf7451..1e125c3b890c 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -6444,17 +6444,15 @@ void devlink_compat_running_version(struct net_device *dev, dev_hold(dev); rtnl_unlock(); - mutex_lock(&devlink_mutex); devlink = netdev_to_devlink(dev); if (!devlink || !devlink->ops->info_get) - goto unlock_list; + goto out; mutex_lock(&devlink->lock); __devlink_compat_running_version(devlink, buf, len); mutex_unlock(&devlink->lock); -unlock_list: - mutex_unlock(&devlink_mutex); +out: rtnl_lock(); dev_put(dev); } @@ -6462,22 +6460,22 @@ void devlink_compat_running_version(struct net_device *dev, int devlink_compat_flash_update(struct net_device *dev, const char *file_name) { struct devlink *devlink; - int ret = -EOPNOTSUPP; + int ret; dev_hold(dev); rtnl_unlock(); - mutex_lock(&devlink_mutex); devlink = netdev_to_devlink(dev); - if (!devlink || !devlink->ops->flash_update) - goto unlock_list; + if (!devlink || !devlink->ops->flash_update) { + ret = -EOPNOTSUPP; + goto out; + } mutex_lock(&devlink->lock); ret = devlink->ops->flash_update(devlink, file_name, NULL, NULL); mutex_unlock(&devlink->lock); -unlock_list: - mutex_unlock(&devlink_mutex); +out: rtnl_lock(); dev_put(dev); From patchwork Fri Mar 22 16:56:28 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1061397 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="M4F+qi7v"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44QqZH48LXz9sRf for ; Sat, 23 Mar 2019 03:56:55 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728623AbfCVQ4y (ORCPT ); Fri, 22 Mar 2019 12:56:54 -0400 Received: from mail-wr1-f66.google.com ([209.85.221.66]:33588 "EHLO mail-wr1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728572AbfCVQ4v (ORCPT ); Fri, 22 Mar 2019 12:56:51 -0400 Received: by mail-wr1-f66.google.com with SMTP id q1so3150355wrp.0 for ; Fri, 22 Mar 2019 09:56:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=P7PijDAyYWVOUnASVOq5OlrtnenIzUv+8QkVaBxoLHo=; b=M4F+qi7vX2YkT2pog4N77K4kA3FNpWPZDj1vJEB10L5wRqdBP7YMN/wtCFu6TvlY1z aBSR9x7n0g+16wPOeHTlgk2je111/E2sirEoenUDhsjkHLgvPOnYSE0w11aOORdI+/BH Ah2wnkETwRA1LqXXs63EiHQtaPRfwp+A8X9/g2A2Tlih77azCSyhEAJJc3UdRGU5WeRo GRI5BFfv7k7Laj0m8W1iE9+mf/qEeudA1LN8U+uGdw7mD9aZ/ubjtXP8w6qLyKxWK6ik /uognuPCrxc5Pkfqr9Hiku/d60P49SdfkMt9nyCgxAXQmWzIMLGBKxvCPa6KabQ9Jilp C3Yw== 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=P7PijDAyYWVOUnASVOq5OlrtnenIzUv+8QkVaBxoLHo=; b=nDZsKgOA+hQAnHZ5tJYjBrTo9rokhHnNTts3yRyruL7/A4OibFZRwYBl1ZF6gmIN+2 GWWLt8jT1HsgfU5q51uUJyqE6I54tFmL0DEorysg2CKdqoQIsHWVloxUdYo3aSkvTWaW OzoYn6/NJRvcZDoi6ya6cgjM58hrPq3AknzbXLgFcYt0chcdnevAIVlhnR7Q7r8IYojM q8OmjHfeC5ZWM/nbJtjc6msNB4J1/IkuG5Ub9m1q0onyt7Np9t7gvudiqc6GwYoXsbz1 6u7NBrRoI+in6G8mv/ApEJofWbCEZ8XTXSzzsPWX7fe4LBRaZx6j0+ArfQP5Kq4dKoI8 y8ew== X-Gm-Message-State: APjAAAXWMbER7hJGl0ydd7O9sCae0VI+U84GXHqSyNABZsentvzTft61 2R9V8E5haBSw77QFDg1XQKwsXcztSGI= X-Google-Smtp-Source: APXvYqxKMsUqkT66uW9/mjcGttswP36Xa4VjRi3Kk0dQWoYITASrXClbtQ9wVG1D3G/Ax5H0Ad9aOQ== X-Received: by 2002:adf:d84d:: with SMTP id k13mr7936023wrl.154.1553273810053; Fri, 22 Mar 2019 09:56:50 -0700 (PDT) Received: from localhost ([195.39.71.253]) by smtp.gmail.com with ESMTPSA id e16sm19798521wrs.0.2019.03.22.09.56.49 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 09:56:49 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [patch net-next v2 07/15] net: devlink: don't pass return value of __devlink_port_type_set() Date: Fri, 22 Mar 2019 17:56:28 +0100 Message-Id: <20190322165636.1725-8-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190322165636.1725-1-jiri@resnulli.us> References: <20190322165636.1725-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko __devlink_port_type_set() returns void, it makes no sense to pass it on, so don't do that. Signed-off-by: Jiri Pirko --- net/core/devlink.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/net/core/devlink.c b/net/core/devlink.c index 1e125c3b890c..98ca788ffd97 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -5379,8 +5379,7 @@ static void __devlink_port_type_set(struct devlink_port *devlink_port, void devlink_port_type_eth_set(struct devlink_port *devlink_port, struct net_device *netdev) { - return __devlink_port_type_set(devlink_port, - DEVLINK_PORT_TYPE_ETH, netdev); + __devlink_port_type_set(devlink_port, DEVLINK_PORT_TYPE_ETH, netdev); } EXPORT_SYMBOL_GPL(devlink_port_type_eth_set); @@ -5393,8 +5392,7 @@ EXPORT_SYMBOL_GPL(devlink_port_type_eth_set); void devlink_port_type_ib_set(struct devlink_port *devlink_port, struct ib_device *ibdev) { - return __devlink_port_type_set(devlink_port, - DEVLINK_PORT_TYPE_IB, ibdev); + __devlink_port_type_set(devlink_port, DEVLINK_PORT_TYPE_IB, ibdev); } EXPORT_SYMBOL_GPL(devlink_port_type_ib_set); @@ -5405,8 +5403,7 @@ EXPORT_SYMBOL_GPL(devlink_port_type_ib_set); */ void devlink_port_type_clear(struct devlink_port *devlink_port) { - return __devlink_port_type_set(devlink_port, - DEVLINK_PORT_TYPE_NOTSET, NULL); + __devlink_port_type_set(devlink_port, DEVLINK_PORT_TYPE_NOTSET, NULL); } EXPORT_SYMBOL_GPL(devlink_port_type_clear); From patchwork Fri Mar 22 16:56:29 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1061402 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="cmEOnty5"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44QqZQ2Rd1z9sRf for ; Sat, 23 Mar 2019 03:57:02 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728684AbfCVQ44 (ORCPT ); Fri, 22 Mar 2019 12:56:56 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:37548 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728515AbfCVQ4z (ORCPT ); Fri, 22 Mar 2019 12:56:55 -0400 Received: by mail-wm1-f65.google.com with SMTP id v14so2873954wmf.2 for ; Fri, 22 Mar 2019 09:56:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=wZJAmqfcggDLzhcmIcbwE8xx3/2Jy8IdhXfdIqfefOo=; b=cmEOnty5StH9tKZ/AhsI4RxPoS9rsG4bBWnbnE2ey6iPWYR0uQimFfPYIV0a9NlFro 45TR9N0692dSszfTzCI12O4m064YKc8tBvkQj/pkTCTcj4aCXPLur/8+k2rorHnej0b/ M6OqSR3FmRSXvvIoUkkt7if4rmzvxRO1ZTYJOjLNnd20vWPR4pT3KpUG76o5mAfjkGHg PEjUn4sKpYs94RoSiuTYfxNK/4Qy10UchXbitVYaEzVq8jI3nEhGsFtgwje6igm4xBdq asKctOqOF0hjltbWDV/XH/AI9UKvkWYmLS8RdbG58zyeOrEwxC/0/h7pkNx9wG19D5ZW +MbQ== 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=wZJAmqfcggDLzhcmIcbwE8xx3/2Jy8IdhXfdIqfefOo=; b=MyeE7J7tpluyxEoo3XJIIeJd+NJwOx47VsXQZ831n2qbteI6UDzlBR973N+Dfd2oeP ab0SMhFtT9Ep4m4OAaL8cmlN0r0aBT4mhT/k9Mrxr3DQHD6+35IBtV5psBgAKUOGuODw elbuT15PQV3aDLEHbPHzxmEDtQh/DQswgKvGUBwDULIGMsktCFG/aH+zzpJIS18n/eAI oJ7G1GQSnZnmDll0obbrZq2Mf7tgpT3xLKrfx8ISkFy3PM7Dl5+cA0NU28l5oVlZyXL1 S/MnhpPwd8wMYjGGvU/ekpgzTQUlSOAJ4CVty9wgEVmt4u7Yj05WpCXDCux1UypLWfDU PZQw== X-Gm-Message-State: APjAAAVgSw3sm1jw5fqIOI0kMglvpyOJA6UPp/24bdsp6I+1lHVay6qC F0tvQL5N3Cs30EpFpdXgU016LAJzenw= X-Google-Smtp-Source: APXvYqyGLT2Mhuzng7e5/IPUZe6tsZPZoH97dLCEftInwCOvI2xr6JZN7lvPhf8fR1/RVb0sQgyPWw== X-Received: by 2002:a1c:7c0d:: with SMTP id x13mr1108922wmc.152.1553273812606; Fri, 22 Mar 2019 09:56:52 -0700 (PDT) Received: from localhost ([195.39.71.253]) by smtp.gmail.com with ESMTPSA id 132sm14448823wmd.30.2019.03.22.09.56.50 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 09:56:52 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [patch net-next v2 08/15] mlxsw: Move devlink_port_attrs_set() call before register Date: Fri, 22 Mar 2019 17:56:29 +0100 Message-Id: <20190322165636.1725-9-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190322165636.1725-1-jiri@resnulli.us> References: <20190322165636.1725-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Since attrs are static during the existence of devlink port, set the before registration of the port. Signed-off-by: Jiri Pirko --- drivers/net/ethernet/mellanox/mlxsw/core.c | 12 ++++++------ drivers/net/ethernet/mellanox/mlxsw/core.h | 8 ++++---- drivers/net/ethernet/mellanox/mlxsw/minimal.c | 5 +++-- drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 6 +++--- drivers/net/ethernet/mellanox/mlxsw/switchib.c | 3 ++- drivers/net/ethernet/mellanox/mlxsw/switchx2.c | 5 +++-- 6 files changed, 21 insertions(+), 18 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/core.c b/drivers/net/ethernet/mellanox/mlxsw/core.c index d23d53c0e284..e70bb673eeec 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core.c +++ b/drivers/net/ethernet/mellanox/mlxsw/core.c @@ -1718,7 +1718,9 @@ u64 mlxsw_core_res_get(struct mlxsw_core *mlxsw_core, } EXPORT_SYMBOL(mlxsw_core_res_get); -int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port) +int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port, + u32 port_number, bool split, + u32 split_port_subnumber) { struct devlink *devlink = priv_to_devlink(mlxsw_core); struct mlxsw_core_port *mlxsw_core_port = @@ -1727,6 +1729,8 @@ int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port) int err; mlxsw_core_port->local_port = local_port; + devlink_port_attrs_set(devlink_port, DEVLINK_PORT_FLAVOUR_PHYSICAL, + port_number, split, split_port_subnumber); err = devlink_port_register(devlink, devlink_port, local_port); if (err) memset(mlxsw_core_port, 0, sizeof(*mlxsw_core_port)); @@ -1746,17 +1750,13 @@ void mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u8 local_port) EXPORT_SYMBOL(mlxsw_core_port_fini); void mlxsw_core_port_eth_set(struct mlxsw_core *mlxsw_core, u8 local_port, - void *port_driver_priv, struct net_device *dev, - u32 port_number, bool split, - u32 split_port_subnumber) + void *port_driver_priv, struct net_device *dev) { struct mlxsw_core_port *mlxsw_core_port = &mlxsw_core->ports[local_port]; struct devlink_port *devlink_port = &mlxsw_core_port->devlink_port; mlxsw_core_port->port_driver_priv = port_driver_priv; - devlink_port_attrs_set(devlink_port, DEVLINK_PORT_FLAVOUR_PHYSICAL, - port_number, split, split_port_subnumber); devlink_port_type_eth_set(devlink_port, dev); } EXPORT_SYMBOL(mlxsw_core_port_eth_set); diff --git a/drivers/net/ethernet/mellanox/mlxsw/core.h b/drivers/net/ethernet/mellanox/mlxsw/core.h index 8ec53f027575..74e95e943b24 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/core.h +++ b/drivers/net/ethernet/mellanox/mlxsw/core.h @@ -164,12 +164,12 @@ void mlxsw_core_lag_mapping_clear(struct mlxsw_core *mlxsw_core, u16 lag_id, u8 local_port); void *mlxsw_core_port_driver_priv(struct mlxsw_core_port *mlxsw_core_port); -int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port); +int mlxsw_core_port_init(struct mlxsw_core *mlxsw_core, u8 local_port, + u32 port_number, bool split, + u32 split_port_subnumber); void mlxsw_core_port_fini(struct mlxsw_core *mlxsw_core, u8 local_port); void mlxsw_core_port_eth_set(struct mlxsw_core *mlxsw_core, u8 local_port, - void *port_driver_priv, struct net_device *dev, - u32 port_number, bool split, - u32 split_port_subnumber); + void *port_driver_priv, struct net_device *dev); void mlxsw_core_port_ib_set(struct mlxsw_core *mlxsw_core, u8 local_port, void *port_driver_priv); void mlxsw_core_port_clear(struct mlxsw_core *mlxsw_core, u8 local_port, diff --git a/drivers/net/ethernet/mellanox/mlxsw/minimal.c b/drivers/net/ethernet/mellanox/mlxsw/minimal.c index 00c390024350..0ee1656609f5 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/minimal.c +++ b/drivers/net/ethernet/mellanox/mlxsw/minimal.c @@ -150,7 +150,8 @@ mlxsw_m_port_create(struct mlxsw_m *mlxsw_m, u8 local_port, u8 module) struct net_device *dev; int err; - err = mlxsw_core_port_init(mlxsw_m->core, local_port); + err = mlxsw_core_port_init(mlxsw_m->core, local_port, + module + 1, false, 0); if (err) { dev_err(mlxsw_m->bus_info->dev, "Port %d: Failed to init core port\n", local_port); @@ -190,7 +191,7 @@ mlxsw_m_port_create(struct mlxsw_m *mlxsw_m, u8 local_port, u8 module) } mlxsw_core_port_eth_set(mlxsw_m->core, mlxsw_m_port->local_port, - mlxsw_m_port, dev, module + 1, false, 0); + mlxsw_m_port, dev); return 0; diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c index 9eb63300c1d3..eaf86c4c2f6c 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c @@ -3391,7 +3391,8 @@ static int mlxsw_sp_port_create(struct mlxsw_sp *mlxsw_sp, u8 local_port, struct net_device *dev; int err; - err = mlxsw_core_port_init(mlxsw_sp->core, local_port); + err = mlxsw_core_port_init(mlxsw_sp->core, local_port, + module + 1, split, lane / width); if (err) { dev_err(mlxsw_sp->bus_info->dev, "Port %d: Failed to init core port\n", local_port); @@ -3573,8 +3574,7 @@ static int mlxsw_sp_port_create(struct mlxsw_sp *mlxsw_sp, u8 local_port, } mlxsw_core_port_eth_set(mlxsw_sp->core, mlxsw_sp_port->local_port, - mlxsw_sp_port, dev, module + 1, - mlxsw_sp_port->split, lane / width); + mlxsw_sp_port, dev); mlxsw_core_schedule_dw(&mlxsw_sp_port->periodic_hw_stats.update_dw, 0); return 0; diff --git a/drivers/net/ethernet/mellanox/mlxsw/switchib.c b/drivers/net/ethernet/mellanox/mlxsw/switchib.c index bcf2e79a21c8..e1e7e0dd808d 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/switchib.c +++ b/drivers/net/ethernet/mellanox/mlxsw/switchib.c @@ -267,7 +267,8 @@ static int mlxsw_sib_port_create(struct mlxsw_sib *mlxsw_sib, u8 local_port, { int err; - err = mlxsw_core_port_init(mlxsw_sib->core, local_port); + err = mlxsw_core_port_init(mlxsw_sib->core, local_port, + module + 1, false, 0); if (err) { dev_err(mlxsw_sib->bus_info->dev, "Port %d: Failed to init core port\n", local_port); diff --git a/drivers/net/ethernet/mellanox/mlxsw/switchx2.c b/drivers/net/ethernet/mellanox/mlxsw/switchx2.c index 533fe6235b7c..568883fc40df 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/switchx2.c +++ b/drivers/net/ethernet/mellanox/mlxsw/switchx2.c @@ -1102,7 +1102,7 @@ static int __mlxsw_sx_port_eth_create(struct mlxsw_sx *mlxsw_sx, u8 local_port, } mlxsw_core_port_eth_set(mlxsw_sx->core, mlxsw_sx_port->local_port, - mlxsw_sx_port, dev, module + 1, false, 0); + mlxsw_sx_port, dev); mlxsw_sx->ports[local_port] = mlxsw_sx_port; return 0; @@ -1127,7 +1127,8 @@ static int mlxsw_sx_port_eth_create(struct mlxsw_sx *mlxsw_sx, u8 local_port, { int err; - err = mlxsw_core_port_init(mlxsw_sx->core, local_port); + err = mlxsw_core_port_init(mlxsw_sx->core, local_port, + module + 1, false, 0); if (err) { dev_err(mlxsw_sx->bus_info->dev, "Port %d: Failed to init core port\n", local_port); From patchwork Fri Mar 22 16:56:30 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1061398 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="aH6hIELk"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44QqZK4BW6z9sRf for ; Sat, 23 Mar 2019 03:56:57 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728693AbfCVQ45 (ORCPT ); Fri, 22 Mar 2019 12:56:57 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:33929 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728572AbfCVQ44 (ORCPT ); Fri, 22 Mar 2019 12:56:56 -0400 Received: by mail-wm1-f67.google.com with SMTP id o10so4728671wmc.1 for ; Fri, 22 Mar 2019 09:56:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=0WXIUQQ+Q0ii0uBbI8ydoEFcaZ982r1dap3BC849Xv8=; b=aH6hIELkAsgwyFrVwoDI3gI8sVDiYP78TkPDlKY4dkJpEmuIicHnlivlQqCIEp55IU 9PQJK7X6M/FVLPEFbYTUDXAbdgywRMSlWsEQYri9jgy9tCnjXhiyUIvwhLQvfzeAEDcb nw0F5XNFy3stxETLspC+2MUV0S6EodGdUflp8NqTliqSlpxqDkaDNJQloEm379Lhhee+ QUOv6mK4Bdt5BE8k8XUtx/ZuNn3yaCoxBFiWMQSJoHhOpIRsj98j6CU1JFGwBPJ2vA0V cCLmaQLMLLFamWA6tf7D40zcBFpJzf6KFd9z1Qhx1XFn2bVHjQ8ba7j0EIB4abGH4jLf MQOA== 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=0WXIUQQ+Q0ii0uBbI8ydoEFcaZ982r1dap3BC849Xv8=; b=HsNBeJiGtSZoKYJMPRZF9RUO+IKLVfEo/q/LFQ5X8yl8Rba4CuWc6B1jUcBLBxvzIO rQE5US/MsWRdDXP3LzhakOfDCsv0WFBWWqHRud5VEbPDDbOP291JSoamuAjANX6Ld3Pa J1V3SrCZejPgmFC/kFkG0oJ9HacFTQENW0ANPkofPUMEDQilUVZu3Qo0aLbYK8D3znL6 XD7gCnpWDUPlXgQxv0QaeK272pzPxwzwTK0nndAei9kKQaMLfMXcU/k/tMg0DlmSYkXA UQ1Vdc5uUGPmRC83x3aK2Sgi6SDWjJUNdAYHFgiSKKMi+lsQ4ieThv2heAQwYnSRPowC pJyw== X-Gm-Message-State: APjAAAVwurwkXKtalTC7YngKvNLK+GGkVlz58lpBPQcFwkWWpmzkdtiq y6knOnshRLnwqPIfandY9zCtK99cM/E= X-Google-Smtp-Source: APXvYqwUwR+CjK9qTaS0H2Ajn7sU/gbKdns2GevPIOrRq+nakImqMnovyAOw293HHwAtKh8LF2sJyg== X-Received: by 2002:a1c:c254:: with SMTP id s81mr3782645wmf.55.1553273813992; Fri, 22 Mar 2019 09:56:53 -0700 (PDT) Received: from localhost ([195.39.71.253]) by smtp.gmail.com with ESMTPSA id t15sm7544434wmt.2.2019.03.22.09.56.53 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 09:56:53 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [patch net-next v2 09/15] dsa: move devlink_port_attrs_set() call before register Date: Fri, 22 Mar 2019 17:56:30 +0100 Message-Id: <20190322165636.1725-10-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190322165636.1725-1-jiri@resnulli.us> References: <20190322165636.1725-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Since attrs are static during the existence of devlink port, set the before registration of the port. Signed-off-by: Jiri Pirko Reviewed-by: Andrew Lunn --- v1->v2: - fixed comment for port numbering --- net/dsa/dsa2.c | 47 ++++++++++++++++++++++++++--------------------- 1 file changed, 26 insertions(+), 21 deletions(-) diff --git a/net/dsa/dsa2.c b/net/dsa/dsa2.c index 4558de672b4f..fe0a6197db9c 100644 --- a/net/dsa/dsa2.c +++ b/net/dsa/dsa2.c @@ -258,14 +258,36 @@ static void dsa_tree_teardown_default_cpu(struct dsa_switch_tree *dst) static int dsa_port_setup(struct dsa_port *dp) { + enum devlink_port_flavour flavour; struct dsa_switch *ds = dp->ds; - int err = 0; + int err; + + if (dp->type == DSA_PORT_TYPE_UNUSED) + return 0; memset(&dp->devlink_port, 0, sizeof(dp->devlink_port)); - if (dp->type != DSA_PORT_TYPE_UNUSED) - err = devlink_port_register(ds->devlink, &dp->devlink_port, - dp->index); + switch (dp->type) { + case DSA_PORT_TYPE_CPU: + flavour = DEVLINK_PORT_FLAVOUR_CPU; + break; + case DSA_PORT_TYPE_DSA: + flavour = DEVLINK_PORT_FLAVOUR_DSA; + break; + case DSA_PORT_TYPE_USER: /* fall-through */ + default: + flavour = DEVLINK_PORT_FLAVOUR_PHYSICAL; + break; + } + + /* dp->index is used now as port_number. However + * CPU and DSA ports should have separate numbering + * independent from front panel port numbers. + */ + devlink_port_attrs_set(&dp->devlink_port, flavour, + dp->index, false, 0); + err = devlink_port_register(ds->devlink, &dp->devlink_port, + dp->index); if (err) return err; @@ -273,13 +295,6 @@ static int dsa_port_setup(struct dsa_port *dp) case DSA_PORT_TYPE_UNUSED: break; case DSA_PORT_TYPE_CPU: - /* dp->index is used now as port_number. However - * CPU ports should have separate numbering - * independent from front panel port numbers. - */ - devlink_port_attrs_set(&dp->devlink_port, - DEVLINK_PORT_FLAVOUR_CPU, - dp->index, false, 0); err = dsa_port_link_register_of(dp); if (err) { dev_err(ds->dev, "failed to setup link for port %d.%d\n", @@ -288,13 +303,6 @@ static int dsa_port_setup(struct dsa_port *dp) } break; case DSA_PORT_TYPE_DSA: - /* dp->index is used now as port_number. However - * DSA ports should have separate numbering - * independent from front panel port numbers. - */ - devlink_port_attrs_set(&dp->devlink_port, - DEVLINK_PORT_FLAVOUR_DSA, - dp->index, false, 0); err = dsa_port_link_register_of(dp); if (err) { dev_err(ds->dev, "failed to setup link for port %d.%d\n", @@ -303,9 +311,6 @@ static int dsa_port_setup(struct dsa_port *dp) } break; case DSA_PORT_TYPE_USER: - devlink_port_attrs_set(&dp->devlink_port, - DEVLINK_PORT_FLAVOUR_PHYSICAL, - dp->index, false, 0); err = dsa_slave_create(dp); if (err) dev_err(ds->dev, "failed to create slave for port %d.%d\n", From patchwork Fri Mar 22 16:56:31 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1061399 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="pYj1gf7i"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44QqZM42vvz9sRf for ; Sat, 23 Mar 2019 03:56:59 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728707AbfCVQ46 (ORCPT ); Fri, 22 Mar 2019 12:56:58 -0400 Received: from mail-wm1-f66.google.com ([209.85.128.66]:51753 "EHLO mail-wm1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728202AbfCVQ45 (ORCPT ); Fri, 22 Mar 2019 12:56:57 -0400 Received: by mail-wm1-f66.google.com with SMTP id 4so2854379wmf.1 for ; Fri, 22 Mar 2019 09:56:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=PLIaCdgvtoARdK9t4Za2afcQhi8E2HIleH7X+XtASVk=; b=pYj1gf7i1VS/SdH3MT72ne5bE0gt2vGm4NJsLbqUBd84OZS1EoNSe05fvyVkzjx+V9 XnpkutInpXy5NsxqnCZUHsihDCUUsFRrQ9P8+DiOCPHk/mi4zfkq3zGg2abt/D8ztB9Z HEEPWX8/glzu7hQY5STycwWw+vAoUZjYf0GNB7baJcabg6xSvBPFCHeqqliP2dsvNKlq h7KQ/eXSvPb2KPhf4M/RPF1EgHjcbdGLWT7IBWyE6jyogvBFR2X0sQJFVrv9A1I7z57U o9XrPT1HRaI/GF1XuTxC43h/vHn2PfqMhzMidDjynB572gwCHuu8/Od4h+4EDnpksrMP ZbZA== 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=PLIaCdgvtoARdK9t4Za2afcQhi8E2HIleH7X+XtASVk=; b=hTxwYfHy8mq+6HRrpaVdhvfehpwyJD3z73dPQljk3KMqNJY9scfsBiTRmS4J1bmgJS iZvggJJzv1PuvcshpMQcxbxwgALP2YMJsgle3H2Fr7t1AiSMWGGutOu2Yaxexhpbd4Oe WaA6ytJ8Kt8y68SEMRONyd3J1jm4OVIR8Qqk+iYYIFstqgvol4Fuonpmc9K0kTPFkr85 nHzfaTorzQniy5oidavOCcNxPoXSCKjHt3dYIpbKbdeEQ/CGHdle0bXg6pF/Bo8G0nt+ UNsH9LAOZR8xerb4R5nZcjfXtFw2GtF4RcVHRYVNuTjRBOIyCMcKO4d5Irmu6s6aI1xA o5/g== X-Gm-Message-State: APjAAAVgpWjimscTFZxRd3BaTm44x35ShDRpa6Al26nF7c5zEZhzimSw i2jXnkKeOv6kYYMYrL+1I2fMslN7ztk= X-Google-Smtp-Source: APXvYqzNVfmDWWC4XhsGSYlcJay+G1uiCujnvMmO24r8P9BVfg99ParmqbPHI5uRpJHVkOuIqs4qJg== X-Received: by 2002:a1c:988d:: with SMTP id a135mr2371318wme.24.1553273815385; Fri, 22 Mar 2019 09:56:55 -0700 (PDT) Received: from localhost ([195.39.71.253]) by smtp.gmail.com with ESMTPSA id i28sm2009552wrc.32.2019.03.22.09.56.54 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 09:56:54 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [patch net-next v2 10/15] net: devlink: disallow port_attrs_set() to be called before register Date: Fri, 22 Mar 2019 17:56:31 +0100 Message-Id: <20190322165636.1725-11-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190322165636.1725-1-jiri@resnulli.us> References: <20190322165636.1725-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Since the port attributes are static and cannot change during the port lifetime, WARN_ON if some driver calls it after registration. Also, no need to call notifications as it is noop anyway due to check of devlink_port->registered there. Signed-off-by: Jiri Pirko --- net/core/devlink.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/net/core/devlink.c b/net/core/devlink.c index 98ca788ffd97..f77a68f72d14 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -5425,12 +5425,13 @@ void devlink_port_attrs_set(struct devlink_port *devlink_port, { struct devlink_port_attrs *attrs = &devlink_port->attrs; + if (WARN_ON(devlink_port->registered)) + return; attrs->set = true; attrs->flavour = flavour; attrs->port_number = port_number; attrs->split = split; attrs->split_subport_number = split_subport_number; - devlink_port_notify(devlink_port, DEVLINK_CMD_PORT_NEW); } EXPORT_SYMBOL_GPL(devlink_port_attrs_set); From patchwork Fri Mar 22 16:56:32 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1061400 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="uhnHw/F6"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44QqZP2sNqz9sRf for ; Sat, 23 Mar 2019 03:57:01 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728744AbfCVQ5A (ORCPT ); Fri, 22 Mar 2019 12:57:00 -0400 Received: from mail-wr1-f68.google.com ([209.85.221.68]:33606 "EHLO mail-wr1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728706AbfCVQ47 (ORCPT ); Fri, 22 Mar 2019 12:56:59 -0400 Received: by mail-wr1-f68.google.com with SMTP id q1so3150740wrp.0 for ; Fri, 22 Mar 2019 09:56:58 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=wSWb9/7y93IBsrVh9e/HQBZVd5RkWMNjzSCLldJqYWo=; b=uhnHw/F6eoL8Qo3Gh1qtc/IPv4t2Nb7J90/fZzuFiVZVojcAwWwfPVNMC2qqT5sADb M2HvmRF5JYNRxQPvK8sThKY+T8NIswciD2NMaY4z07s/zsVA9GL/BXlyCB2KxpTL7zM8 PMzTKopVLmQ3N1cEHGqzirbtt2xI1i8bgFBl6pY5Arn8U/fM7ljJQ2U2qQmq7TdryUKt g3GyhmbbRVwYv6oiQIBeG8t6xDyrzIh0NBtikcn11MdMtjqDrC+iw2+nEnXaE9IQnK7j QBJfkd44iF0d2y+Nv4tXIVM0vLNaJdKduJVG71FQy+kXbM6HZ3ZwPS0AzfohXBl68NiJ KQJA== 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=wSWb9/7y93IBsrVh9e/HQBZVd5RkWMNjzSCLldJqYWo=; b=MVJ2QQYC/hYSYi9d5CB2APaaL1CgLoFVo9XepeVB1/rdYsL8ig3+fNt5v81Pg5jmsY CrryR7/yuBu9P1ykt4TSam1WIkp86yrv+yEDkNch6Lw9vQaBqYwy/mK0Dl0QrQZQLIX0 WjsDvsc37nqQ6jyuYk2rTXUxByfoWFiTeqc+uYbK4Lud4vp6jsuETHkxCcqT12pSB5qb fecrVtoPS5MeB2wZHPVeCdY39sG7ezQZ3MCVjR5NiOgoFZxZBp9qRCtB4xW9a6zqpk9I eWFDKaP2jQo++LA+taqIXQBZPY9ExraMv8x27zSEH440OD+RZ4jjd/xvjTaUNjog6UTP 2PRA== X-Gm-Message-State: APjAAAVEXiGEowlElNIMCS4Yl+U9sHlhri7npeqUBri60ocPIpbRMEe4 oPXuNCqLpNfW2Vjo4EveaqBqKHy58TQ= X-Google-Smtp-Source: APXvYqxFtKp058lvmFsqaGHfxra/7yf5dlRujY5svSgnh7b/wNM/DszYPgfT6B7d6f2LgeMf+O5+XQ== X-Received: by 2002:a5d:530f:: with SMTP id e15mr7087911wrv.19.1553273817280; Fri, 22 Mar 2019 09:56:57 -0700 (PDT) Received: from localhost ([195.39.71.253]) by smtp.gmail.com with ESMTPSA id u19sm10476471wmc.7.2019.03.22.09.56.56 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 09:56:56 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [patch net-next v2 11/15] nfp: move devlink port type set after netdev registration Date: Fri, 22 Mar 2019 17:56:32 +0100 Message-Id: <20190322165636.1725-12-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190322165636.1725-1-jiri@resnulli.us> References: <20190322165636.1725-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Similar to other driver, move the port type set after netdev registration is done. Along with that, clear the type before unregistration. Signed-off-by: Jiri Pirko --- v1->v2: - new patch --- drivers/net/ethernet/netronome/nfp/nfp_devlink.c | 11 ++++++++++- drivers/net/ethernet/netronome/nfp/nfp_net_main.c | 4 ++++ drivers/net/ethernet/netronome/nfp/nfp_port.h | 2 ++ 3 files changed, 16 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/netronome/nfp/nfp_devlink.c b/drivers/net/ethernet/netronome/nfp/nfp_devlink.c index e9eca99cf493..cb59a18ec6a6 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_devlink.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_devlink.c @@ -362,7 +362,6 @@ int nfp_devlink_port_register(struct nfp_app *app, struct nfp_port *port) if (ret) return ret; - devlink_port_type_eth_set(&port->dl_port, port->netdev); devlink_port_attrs_set(&port->dl_port, DEVLINK_PORT_FLAVOUR_PHYSICAL, eth_port.label_port, eth_port.is_split, eth_port.label_subport); @@ -377,6 +376,16 @@ void nfp_devlink_port_unregister(struct nfp_port *port) devlink_port_unregister(&port->dl_port); } +void nfp_devlink_port_type_eth_set(struct nfp_port *port) +{ + devlink_port_type_eth_set(&port->dl_port, port->netdev); +} + +void nfp_devlink_port_type_clear(struct nfp_port *port) +{ + devlink_port_type_clear(&port->dl_port); +} + struct devlink *nfp_devlink_get_devlink(struct net_device *netdev) { struct nfp_app *app; diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_main.c b/drivers/net/ethernet/netronome/nfp/nfp_net_main.c index 08f5fdbd8e41..e29744f2af02 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_main.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_main.c @@ -169,6 +169,8 @@ nfp_net_pf_init_vnic(struct nfp_pf *pf, struct nfp_net *nn, unsigned int id) if (err) goto err_devlink_port_clean; } + if (nn->port) + nfp_devlink_port_type_eth_set(nn->port); return 0; @@ -218,6 +220,8 @@ nfp_net_pf_alloc_vnics(struct nfp_pf *pf, void __iomem *ctrl_bar, static void nfp_net_pf_clean_vnic(struct nfp_pf *pf, struct nfp_net *nn) { + if (nn->port) + nfp_devlink_port_type_clear(nn->port); if (nfp_net_is_data_vnic(nn)) nfp_app_vnic_clean(pf->app, nn); if (nn->port) diff --git a/drivers/net/ethernet/netronome/nfp/nfp_port.h b/drivers/net/ethernet/netronome/nfp/nfp_port.h index 90ae053f5c07..d7fd203bb180 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_port.h +++ b/drivers/net/ethernet/netronome/nfp/nfp_port.h @@ -131,6 +131,8 @@ int nfp_net_refresh_port_table_sync(struct nfp_pf *pf); int nfp_devlink_port_register(struct nfp_app *app, struct nfp_port *port); void nfp_devlink_port_unregister(struct nfp_port *port); +void nfp_devlink_port_type_eth_set(struct nfp_port *port); +void nfp_devlink_port_type_clear(struct nfp_port *port); /** * Mac stats (0x0000 - 0x0200) From patchwork Fri Mar 22 16:56:33 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1061405 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="vmfD1+ZM"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44QqZR2lXgz9sRf for ; Sat, 23 Mar 2019 03:57:03 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728783AbfCVQ5C (ORCPT ); Fri, 22 Mar 2019 12:57:02 -0400 Received: from mail-wm1-f68.google.com ([209.85.128.68]:37558 "EHLO mail-wm1-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728706AbfCVQ5B (ORCPT ); Fri, 22 Mar 2019 12:57:01 -0400 Received: by mail-wm1-f68.google.com with SMTP id v14so2874239wmf.2 for ; Fri, 22 Mar 2019 09:57:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=8E/rKiGf6yFnTmukOisCgun28JW5DC++XRKHwuO/RUI=; b=vmfD1+ZMFq9VeMybi8jZn9at8asEV6/EZPQkIuBr6/U+ObQztWSwToeeANRHD/nYZN pK+MCIymmek18+PZXKsQiQMJ8d1iHyCyf2udQY+YI16wAzQIGJ9SUvXN0vxY9+FGQ6/V mgDSfmsKwGWhUD6U2VH4w+exvlahmOClZdTuBuVVQoxFek+vFyFcYtNjYIO0G0XZG2Fs ZQaIO+oMbLk4tPKsj+MAQH6RPtGtzCIIKe3qZgg3qEtzPAKSto0weAeDoRSBDxxbZL/q O4eGDpDqe+PcH6mMGccNfUiEQ07Vw1jFwVLEk5jujiDZlB52wTWlrQxN/FCINL2ZgntR Ll4g== 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=8E/rKiGf6yFnTmukOisCgun28JW5DC++XRKHwuO/RUI=; b=QBj//GtOG/ZR0+h3Ce5rjhwLT1t3Fy1rN3U5XhwRq77sxY/XNaQJ8fOPUVV3q096WY wsdu/ef95Oj24JG+5jGbM5PRkj4Zh32a5v7+vfMHb1c950+m/p3ST7R9olWB0MzIxfGu BKFz+IXThiag1Z4zcIj7/SiKjx1dbouMPETuRpgQ/x4tGe8FCBkLwAOyib4pblSvkJUS pjUQ1nyJPGH6029txbZBq6WG1uWSQpdfLQYtzT1h4UUNq3z5OscMo9eZ3zZuwMJclUU8 rdJZE5nDJORF/7WYLy40n7++PLWNCzNZJrnZ2HvUU8UhBl29k2/0Ns/Tf+dnVwmAfxcK A5Qg== X-Gm-Message-State: APjAAAWR/RjXQFwaSWtV9gqGNM9g7e/LIqAdzUDqZ7UaOS2MJvhkFxzv f1VHrnkIhzPspnT8LvlaYeV69x/4/DE= X-Google-Smtp-Source: APXvYqxF6oawIylm7DpaCmNN4C7s6PUF38Zz9ubjt2WyAnDcJ2BN0VSkq3504UDV5bubf8pOMHWjjA== X-Received: by 2002:a1c:d04a:: with SMTP id h71mr3637273wmg.120.1553273819625; Fri, 22 Mar 2019 09:56:59 -0700 (PDT) Received: from localhost ([195.39.71.253]) by smtp.gmail.com with ESMTPSA id a2sm7886021wrr.60.2019.03.22.09.56.58 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 09:56:58 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [patch net-next v2 12/15] bnxt: set devlink port type after registration Date: Fri, 22 Mar 2019 17:56:33 +0100 Message-Id: <20190322165636.1725-13-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190322165636.1725-1-jiri@resnulli.us> References: <20190322165636.1725-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Move the type set of devlink port after it is registered. Signed-off-by: Jiri Pirko --- v1->v2: - new patch --- drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c index a266bff559dc..ab6fd05c462b 100644 --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c @@ -229,7 +229,6 @@ int bnxt_dl_register(struct bnxt *bp) goto err_dl_unreg; } - devlink_port_type_eth_set(&bp->dl_port, bp->dev); devlink_port_attrs_set(&bp->dl_port, DEVLINK_PORT_FLAVOUR_PHYSICAL, bp->pf.port_id, false, 0); rc = devlink_port_register(dl, &bp->dl_port, bp->pf.port_id); @@ -237,6 +236,7 @@ int bnxt_dl_register(struct bnxt *bp) netdev_err(bp->dev, "devlink_port_register failed"); goto err_dl_param_unreg; } + devlink_port_type_eth_set(&bp->dl_port, bp->dev); rc = devlink_port_params_register(&bp->dl_port, bnxt_dl_port_params, ARRAY_SIZE(bnxt_dl_port_params)); From patchwork Fri Mar 22 16:56:34 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1061406 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="Sge21z8a"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44QqZS5htKz9sRf for ; Sat, 23 Mar 2019 03:57:04 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728818AbfCVQ5E (ORCPT ); Fri, 22 Mar 2019 12:57:04 -0400 Received: from mail-wm1-f65.google.com ([209.85.128.65]:37558 "EHLO mail-wm1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728756AbfCVQ5C (ORCPT ); Fri, 22 Mar 2019 12:57:02 -0400 Received: by mail-wm1-f65.google.com with SMTP id v14so2874291wmf.2 for ; Fri, 22 Mar 2019 09:57:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=NczgQSDFhcv/vkUXKsZ5SvCYJNjz1+BHLMc/Zol+rPE=; b=Sge21z8aRABK0doFLCZ1jZJVBWWcWyFSWdKuGjOqPn5frWgAiRn4p6RUjsrTAzeW4e o/giKOgLx9RqfIGvgUJf6zA26ngL98FE1iliRHO99yK0mRWF+yc78X9Tyto4qHKzXBfh 5ocl8DlTcn9H4ijdOiRYlyY9fGtmA1iNAiOYpMSgbwVqL34mWTNIbQKTk3enn7IxbK8I fbskakU5i252Hbffk+j3lbEaZZBMSi8cgEDjpEJClfSdXLVPbCm41tgOYLD3tx3jOAov XSjhp/4oahyr6uokSq/ajhuoSM41v1fXd0B5xhQw8Mglsbi69YtB2XAHQJGVptrQ+vVh LydA== 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=NczgQSDFhcv/vkUXKsZ5SvCYJNjz1+BHLMc/Zol+rPE=; b=X2eoYlFdggM7XO+f+ToCta2UnPNffVj4qXTKSrYCxBKD8ZF5vXhlQT63/ngQT8XPuc aazERScbnjt/14vq7GoCW0qjfYMtfwPRnk56ablqMQlMUg/X1qw9HhTN/EFhnvYvUcCG /aTrS145keEauXvkTRU+tRmr2diwdqqOe1oKs6OFCq5aMXwsViGj7nf8fGyNYLVZSpFE snlZe7aMXA3L2C9yeSrW5o1HX27vzLzmS16JrZKHlKWN5sXTrViJJbZyDc87nxJXs1eY XWTsRwJGVmXWA6Z2I7PT201f9DR45KcvtWb5/94nK31NsGT0TdROnDeB1UEK7ye8D+8C 313A== X-Gm-Message-State: APjAAAUT/P+McQhs50Pz3L0G9ca3dl73oDGjjKzgN3/wBAz6VGEkSjVo 2ldc9cO2KZzJWVqU1ErGtXlCABBj0Qw= X-Google-Smtp-Source: APXvYqyS9qw4AluYSFRVeMtHIsPra1B/G4OBYFRRKHj6FzBqJ2mVmodNBk4kVyJQa7c+CsW9TtVqVg== X-Received: by 2002:a1c:701a:: with SMTP id l26mr3404568wmc.27.1553273820810; Fri, 22 Mar 2019 09:57:00 -0700 (PDT) Received: from localhost ([195.39.71.253]) by smtp.gmail.com with ESMTPSA id j13sm10038616wrx.74.2019.03.22.09.57.00 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 09:57:00 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [patch net-next v2 13/15] net: devlink: warn on setting type on unregistered port Date: Fri, 22 Mar 2019 17:56:34 +0100 Message-Id: <20190322165636.1725-14-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190322165636.1725-1-jiri@resnulli.us> References: <20190322165636.1725-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Port needs to be registered first before the type is set. Warn and bail-out in case it is not. Signed-off-by: Jiri Pirko --- v1->v2: - new patch --- net/core/devlink.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/net/core/devlink.c b/net/core/devlink.c index f77a68f72d14..ff3e31010954 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -5365,6 +5365,8 @@ static void __devlink_port_type_set(struct devlink_port *devlink_port, enum devlink_port_type type, void *type_dev) { + if (WARN_ON(!devlink_port->registered)) + return; devlink_port->type = type; devlink_port->type_dev = type_dev; devlink_port_notify(devlink_port, DEVLINK_CMD_PORT_NEW); From patchwork Fri Mar 22 16:56:35 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1061407 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="GaByZ6O5"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44QqZV4x8bz9sRf for ; Sat, 23 Mar 2019 03:57:06 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728845AbfCVQ5F (ORCPT ); Fri, 22 Mar 2019 12:57:05 -0400 Received: from mail-wr1-f65.google.com ([209.85.221.65]:33613 "EHLO mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728706AbfCVQ5E (ORCPT ); Fri, 22 Mar 2019 12:57:04 -0400 Received: by mail-wr1-f65.google.com with SMTP id q1so3150978wrp.0 for ; Fri, 22 Mar 2019 09:57:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=jSjk1UHph0V7iTg+WoNFHctDNWMQ/XAuBeJ3s0x2dsE=; b=GaByZ6O51GHVbJ+boYvM9PbDK5dvuMAo2I8jWZqi8sIV7Nk+Z3jJtSEN98mQJXth2F o3xXgse+nsvaJH+yM4AHS9LVllbkEGNqBvTa0iIHIUanmGi8PlnGlvBDemYEzjY3xNLA 1N3pE0/StSfO0VrOCrSf74wJI0wJ4CHe3CsSokySgC6DI5kZl4iN026x0dRV4m5ku1wi jGM41R7MwkNK8jztx1vJaHO0N8GEgsIZWk9i3Ejf7ZbTtjQ1WE0y6FxyDtWxmIIx8/U7 ZwJP3gYe0W0qImAaKLi4sqmgwTufYaSRa3em6JgwYvGMDV/Slz/4J82vMQAwLwPkBVUg ophg== 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=jSjk1UHph0V7iTg+WoNFHctDNWMQ/XAuBeJ3s0x2dsE=; b=ZIU6hoQHN/XPr2khU+RxvAiPGcmXQdKahMHDRC3tWqnCnPEO9ZZjpyhT7W/sh6R+8n CI9gu2+8lPGwyuKB8b6m9yMzGfbVqkA6eXB3C9nJhg63Em6FDO3NZ21H5Ck12M4AzhEF p3La98SEazCLsyZIp2IynDy7p1U7ShCjowe0R/m9d+EVz/rWC/1kkihaNwDYOyPOwsEO ZBQwr7TfOagb5YHewwVsaNYvmwPETIlvi3n9KO6yX4C0qxDqxGzRDROB1Ug0xiG3vQvx jJ9mlq5J64z+UV1HEiuj9CuDXX21eeFNi1SsASJRiAgMAHTs1UNE4KMTe7m1u73yifig N1Vg== X-Gm-Message-State: APjAAAX539uQ42/+xkoCf8Vuink4QX/xZOis/Su9f6lDFh6SlPdhitnN yUZqXIBL/dE2frHWnxh37IaTEPNGyl4= X-Google-Smtp-Source: APXvYqwFw3YYV2ZX3C0pbJqaS61T0uCW886JnYXMcwZ61wO6CNbwB+pL1hthVahckP8dwoGyp3Oh3g== X-Received: by 2002:a05:6000:1291:: with SMTP id f17mr7100619wrx.201.1553273822363; Fri, 22 Mar 2019 09:57:02 -0700 (PDT) Received: from localhost ([195.39.71.253]) by smtp.gmail.com with ESMTPSA id q26sm8722705wmc.6.2019.03.22.09.57.01 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 09:57:01 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [patch net-next v2 14/15] net: devlink: add port type spinlock Date: Fri, 22 Mar 2019 17:56:35 +0100 Message-Id: <20190322165636.1725-15-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190322165636.1725-1-jiri@resnulli.us> References: <20190322165636.1725-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Add spinlock to protect port type and type_dev pointer consistency. Without that, userspace may see inconsistent type and type_dev combinations. Signed-off-by: Jiri Pirko v1->v2: - rebased --- include/net/devlink.h | 4 ++++ net/core/devlink.c | 17 +++++++++++++---- 2 files changed, 17 insertions(+), 4 deletions(-) diff --git a/include/net/devlink.h b/include/net/devlink.h index 63de99e09f04..cb9b060033e1 100644 --- a/include/net/devlink.h +++ b/include/net/devlink.h @@ -16,6 +16,7 @@ #include #include #include +#include #include #include @@ -53,6 +54,9 @@ struct devlink_port { struct devlink *devlink; unsigned index; bool registered; + spinlock_t type_lock; /* Protects type and type_dev + * pointer consistency. + */ enum devlink_port_type type; enum devlink_port_type desired_type; void *type_dev; diff --git a/net/core/devlink.c b/net/core/devlink.c index ff3e31010954..cf389e26a32d 100644 --- a/net/core/devlink.c +++ b/net/core/devlink.c @@ -19,6 +19,7 @@ #include #include #include +#include #include #include #include @@ -543,12 +544,14 @@ static int devlink_nl_port_fill(struct sk_buff *msg, struct devlink *devlink, goto nla_put_failure; if (nla_put_u32(msg, DEVLINK_ATTR_PORT_INDEX, devlink_port->index)) goto nla_put_failure; + + spin_lock(&devlink_port->type_lock); if (nla_put_u16(msg, DEVLINK_ATTR_PORT_TYPE, devlink_port->type)) - goto nla_put_failure; + goto nla_put_failure_type_locked; if (devlink_port->desired_type != DEVLINK_PORT_TYPE_NOTSET && nla_put_u16(msg, DEVLINK_ATTR_PORT_DESIRED_TYPE, devlink_port->desired_type)) - goto nla_put_failure; + goto nla_put_failure_type_locked; if (devlink_port->type == DEVLINK_PORT_TYPE_ETH) { struct net_device *netdev = devlink_port->type_dev; @@ -557,7 +560,7 @@ static int devlink_nl_port_fill(struct sk_buff *msg, struct devlink *devlink, netdev->ifindex) || nla_put_string(msg, DEVLINK_ATTR_PORT_NETDEV_NAME, netdev->name))) - goto nla_put_failure; + goto nla_put_failure_type_locked; } if (devlink_port->type == DEVLINK_PORT_TYPE_IB) { struct ib_device *ibdev = devlink_port->type_dev; @@ -565,14 +568,17 @@ static int devlink_nl_port_fill(struct sk_buff *msg, struct devlink *devlink, if (ibdev && nla_put_string(msg, DEVLINK_ATTR_PORT_IBDEV_NAME, ibdev->name)) - goto nla_put_failure; + goto nla_put_failure_type_locked; } + spin_unlock(&devlink_port->type_lock); if (devlink_nl_port_attrs_put(msg, devlink_port)) goto nla_put_failure; genlmsg_end(msg, hdr); return 0; +nla_put_failure_type_locked: + spin_unlock(&devlink_port->type_lock); nla_put_failure: genlmsg_cancel(msg, hdr); return -EMSGSIZE; @@ -5337,6 +5343,7 @@ int devlink_port_register(struct devlink *devlink, devlink_port->devlink = devlink; devlink_port->index = port_index; devlink_port->registered = true; + spin_lock_init(&devlink_port->type_lock); list_add_tail(&devlink_port->list, &devlink->port_list); INIT_LIST_HEAD(&devlink_port->param_list); mutex_unlock(&devlink->lock); @@ -5367,8 +5374,10 @@ static void __devlink_port_type_set(struct devlink_port *devlink_port, { if (WARN_ON(!devlink_port->registered)) return; + spin_lock(&devlink_port->type_lock); devlink_port->type = type; devlink_port->type_dev = type_dev; + spin_unlock(&devlink_port->type_lock); devlink_port_notify(devlink_port, DEVLINK_CMD_PORT_NEW); } From patchwork Fri Mar 22 16:56:36 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Pirko X-Patchwork-Id: 1061408 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=none (p=none dis=none) header.from=resnulli.us Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=resnulli-us.20150623.gappssmtp.com header.i=@resnulli-us.20150623.gappssmtp.com header.b="WgI8MYIk"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 44QqZY2ZZFz9sRf for ; Sat, 23 Mar 2019 03:57:09 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728862AbfCVQ5I (ORCPT ); Fri, 22 Mar 2019 12:57:08 -0400 Received: from mail-wr1-f65.google.com ([209.85.221.65]:42069 "EHLO mail-wr1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727848AbfCVQ5G (ORCPT ); Fri, 22 Mar 2019 12:57:06 -0400 Received: by mail-wr1-f65.google.com with SMTP id g3so3108976wrx.9 for ; Fri, 22 Mar 2019 09:57:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=resnulli-us.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=mn56CRaO8uZl2bzfLw+BVoaFPhXoSyvztTCv8kwn/7U=; b=WgI8MYIkU2u4tp7OCcjDMhFwxYrh7NirgdWXSYiwCV89O/U1HlXVD+dP6KKgbcZ5K7 kogwymFzqIIBhh322bhpwWtMa0MACJGHAP3gtJZpkvJLSn15xt/Z1vsnzyzqE6e7CGD8 ddlRmLibHpYOxVLh1XTV0F+1biltf9d6vVD1ykE0XF0HwIV5x2oJEz3A2qMv/l9NGfbF L6vriUfvsPhT9u5/nlQgQjQCefeqvP9R+1EkSZZS1zim/PurY7L0PSssLv7yd/FmunYE rQZmLlQC9U3DT/qBrfiJ5tZPaYcYSR6faJBA6mi0WPcVY7Re8epU9aKUha4FBuP7mS+F VhpA== 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=mn56CRaO8uZl2bzfLw+BVoaFPhXoSyvztTCv8kwn/7U=; b=FYCQZrTcbFrgPkftgnZwoRE5svf7W8Aiv0iB0UUnG4Ee9yAMBm3MB8KVq3iRWjeAe5 /YxQI85SxgjPgmRPEpOSjU3AS03b/PH/TkvnU7OsA4lvQo45CnqgzxIEfIE4j5MD4tsr p6cORIEbjH4FStkVdTPrBx6ORNDo3xfwOTnToylnrA+h8JHQVIIPOKC94Ky660OqzDLY TWm23MW1w14q0JEUZOiBgrWhSP40Bw+E0R5OvWf3tEnKQ4uGwS6OTPCJ9S67hO8ThdKT 0nRBbJ4BGIJ2B2oUIVqs/K1YjH3LDTIf+orCLrO4hOame7lLyjboCxdyWcnCJwKehup2 H36Q== X-Gm-Message-State: APjAAAUcm4GURYEv3OwOb1ktn1ojk2kOHmgeYUCId3PadmBmG7/9m9lp J1Jo8gbu0JdeYNpj8qlDGT6mkXB3XZA= X-Google-Smtp-Source: APXvYqx8hPLhrM95uBQpnf/yXAnibTziQgtiG2N0N0BXAQ8jMfR0xkiQC8bcn4+OVlYsKnlIGMsVhw== X-Received: by 2002:a5d:5504:: with SMTP id b4mr6757949wrv.137.1553273823620; Fri, 22 Mar 2019 09:57:03 -0700 (PDT) Received: from localhost ([195.39.71.253]) by smtp.gmail.com with ESMTPSA id 3sm11465752wrk.68.2019.03.22.09.57.03 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 22 Mar 2019 09:57:03 -0700 (PDT) From: Jiri Pirko To: netdev@vger.kernel.org Cc: davem@davemloft.net, mlxsw@mellanox.com, idosch@mellanox.com, jakub.kicinski@netronome.com, f.fainelli@gmail.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [patch net-next v2 15/15] net: devlink: select NET_DEVLINK from drivers Date: Fri, 22 Mar 2019 17:56:36 +0100 Message-Id: <20190322165636.1725-16-jiri@resnulli.us> X-Mailer: git-send-email 2.17.2 In-Reply-To: <20190322165636.1725-1-jiri@resnulli.us> References: <20190322165636.1725-1-jiri@resnulli.us> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Jiri Pirko Some drivers are becoming more dependent on NET_DEVLINK being selected in configuration. With upcoming compat functions, the behavior would be wrong in case devlink was not compiled in. So make the drivers select NET_DEVLINK and rely on the functions being there, not just stubs. Signed-off-by: Jiri Pirko --- drivers/net/Kconfig | 1 + drivers/net/ethernet/broadcom/Kconfig | 1 + drivers/net/ethernet/cavium/Kconfig | 1 + drivers/net/ethernet/mellanox/mlx4/Kconfig | 1 + .../net/ethernet/mellanox/mlx5/core/Kconfig | 1 + drivers/net/ethernet/mellanox/mlxsw/Kconfig | 1 + drivers/net/ethernet/netronome/Kconfig | 1 + include/net/devlink.h | 495 +----------------- net/Kconfig | 7 +- net/dsa/Kconfig | 1 + 10 files changed, 13 insertions(+), 497 deletions(-) diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig index 7a96d168efc4..bc42f131f47c 100644 --- a/drivers/net/Kconfig +++ b/drivers/net/Kconfig @@ -505,6 +505,7 @@ source "drivers/net/hyperv/Kconfig" config NETDEVSIM tristate "Simulated networking device" depends on DEBUG_FS + select NET_DEVLINK help This driver is a developer testing tool and software model that can be used to test various control path networking APIs, especially diff --git a/drivers/net/ethernet/broadcom/Kconfig b/drivers/net/ethernet/broadcom/Kconfig index 716bfbba59cf..461b2c0b2ed6 100644 --- a/drivers/net/ethernet/broadcom/Kconfig +++ b/drivers/net/ethernet/broadcom/Kconfig @@ -196,6 +196,7 @@ config BNXT depends on PCI select FW_LOADER select LIBCRC32C + select NET_DEVLINK ---help--- This driver supports Broadcom NetXtreme-C/E 10/25/40/50 gigabit Ethernet cards. To compile this driver as a module, choose M here: diff --git a/drivers/net/ethernet/cavium/Kconfig b/drivers/net/ethernet/cavium/Kconfig index 6650e2a5f171..7612ab6b286d 100644 --- a/drivers/net/ethernet/cavium/Kconfig +++ b/drivers/net/ethernet/cavium/Kconfig @@ -68,6 +68,7 @@ config LIQUIDIO imply PTP_1588_CLOCK select FW_LOADER select LIBCRC32C + select NET_DEVLINK ---help--- This driver supports Cavium LiquidIO Intelligent Server Adapters based on CN66XX, CN68XX and CN23XX chips. diff --git a/drivers/net/ethernet/mellanox/mlx4/Kconfig b/drivers/net/ethernet/mellanox/mlx4/Kconfig index ff8057ed97ee..8491db57b0b0 100644 --- a/drivers/net/ethernet/mellanox/mlx4/Kconfig +++ b/drivers/net/ethernet/mellanox/mlx4/Kconfig @@ -26,6 +26,7 @@ config MLX4_EN_DCB config MLX4_CORE tristate depends on PCI + select NET_DEVLINK default n config MLX4_DEBUG diff --git a/drivers/net/ethernet/mellanox/mlx5/core/Kconfig b/drivers/net/ethernet/mellanox/mlx5/core/Kconfig index 6debffb8336b..9aca8086ee01 100644 --- a/drivers/net/ethernet/mellanox/mlx5/core/Kconfig +++ b/drivers/net/ethernet/mellanox/mlx5/core/Kconfig @@ -5,6 +5,7 @@ config MLX5_CORE tristate "Mellanox 5th generation network adapters (ConnectX series) core driver" depends on PCI + select NET_DEVLINK imply PTP_1588_CLOCK imply VXLAN default n diff --git a/drivers/net/ethernet/mellanox/mlxsw/Kconfig b/drivers/net/ethernet/mellanox/mlxsw/Kconfig index 9c195dfed031..b6b3ff0fe17f 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/Kconfig +++ b/drivers/net/ethernet/mellanox/mlxsw/Kconfig @@ -4,6 +4,7 @@ config MLXSW_CORE tristate "Mellanox Technologies Switch ASICs support" + select NET_DEVLINK ---help--- This driver supports Mellanox Technologies Switch ASICs family. diff --git a/drivers/net/ethernet/netronome/Kconfig b/drivers/net/ethernet/netronome/Kconfig index 549898d5d450..f0d0e09f60e2 100644 --- a/drivers/net/ethernet/netronome/Kconfig +++ b/drivers/net/ethernet/netronome/Kconfig @@ -19,6 +19,7 @@ config NFP tristate "Netronome(R) NFP4000/NFP6000 NIC driver" depends on PCI && PCI_MSI depends on VXLAN || VXLAN=n + select NET_DEVLINK ---help--- This driver supports the Netronome(R) NFP4000/NFP6000 based cards working as a advanced Ethernet NIC. It works with both diff --git a/include/net/devlink.h b/include/net/devlink.h index cb9b060033e1..03fb16f4fb6c 100644 --- a/include/net/devlink.h +++ b/include/net/devlink.h @@ -549,17 +549,13 @@ static inline struct devlink *priv_to_devlink(void *priv) static inline struct devlink *netdev_to_devlink(struct net_device *dev) { -#if IS_ENABLED(CONFIG_NET_DEVLINK) if (dev->netdev_ops->ndo_get_devlink) return dev->netdev_ops->ndo_get_devlink(dev); -#endif return NULL; } struct ib_device; -#if IS_ENABLED(CONFIG_NET_DEVLINK) - struct devlink *devlink_alloc(const struct devlink_ops *ops, size_t priv_size); int devlink_register(struct devlink *devlink, struct device *dev); void devlink_unregister(struct devlink *devlink); @@ -728,500 +724,14 @@ void devlink_health_reporter_state_update(struct devlink_health_reporter *reporter, enum devlink_health_reporter_state state); +#if IS_ENABLED(CONFIG_NET_DEVLINK) + void devlink_compat_running_version(struct net_device *dev, char *buf, size_t len); int devlink_compat_flash_update(struct net_device *dev, const char *file_name); #else -static inline struct devlink *devlink_alloc(const struct devlink_ops *ops, - size_t priv_size) -{ - return kzalloc(sizeof(struct devlink) + priv_size, GFP_KERNEL); -} - -static inline int devlink_register(struct devlink *devlink, struct device *dev) -{ - return 0; -} - -static inline void devlink_unregister(struct devlink *devlink) -{ -} - -static inline void devlink_params_publish(struct devlink *devlink) -{ -} - -static inline void devlink_params_unpublish(struct devlink *devlink) -{ -} - -static inline void devlink_free(struct devlink *devlink) -{ - kfree(devlink); -} - -static inline int devlink_port_register(struct devlink *devlink, - struct devlink_port *devlink_port, - unsigned int port_index) -{ - return 0; -} - -static inline void devlink_port_unregister(struct devlink_port *devlink_port) -{ -} - -static inline void devlink_port_type_eth_set(struct devlink_port *devlink_port, - struct net_device *netdev) -{ -} - -static inline void devlink_port_type_ib_set(struct devlink_port *devlink_port, - struct ib_device *ibdev) -{ -} - -static inline void devlink_port_type_clear(struct devlink_port *devlink_port) -{ -} - -static inline void devlink_port_attrs_set(struct devlink_port *devlink_port, - enum devlink_port_flavour flavour, - u32 port_number, bool split, - u32 split_subport_number) -{ -} - -static inline int -devlink_port_get_phys_port_name(struct devlink_port *devlink_port, - char *name, size_t len) -{ - return -EOPNOTSUPP; -} - -static inline int devlink_sb_register(struct devlink *devlink, - unsigned int sb_index, u32 size, - u16 ingress_pools_count, - u16 egress_pools_count, - u16 ingress_tc_count, - u16 egress_tc_count) -{ - return 0; -} - -static inline void devlink_sb_unregister(struct devlink *devlink, - unsigned int sb_index) -{ -} - -static inline int -devlink_dpipe_table_register(struct devlink *devlink, - const char *table_name, - struct devlink_dpipe_table_ops *table_ops, - void *priv, bool counter_control_extern) -{ - return 0; -} - -static inline void devlink_dpipe_table_unregister(struct devlink *devlink, - const char *table_name) -{ -} - -static inline int devlink_dpipe_headers_register(struct devlink *devlink, - struct devlink_dpipe_headers * - dpipe_headers) -{ - return 0; -} - -static inline void devlink_dpipe_headers_unregister(struct devlink *devlink) -{ -} - -static inline bool devlink_dpipe_table_counter_enabled(struct devlink *devlink, - const char *table_name) -{ - return false; -} - -static inline int -devlink_dpipe_entry_ctx_prepare(struct devlink_dpipe_dump_ctx *dump_ctx) -{ - return 0; -} - -static inline int -devlink_dpipe_entry_ctx_append(struct devlink_dpipe_dump_ctx *dump_ctx, - struct devlink_dpipe_entry *entry) -{ - return 0; -} - -static inline int -devlink_dpipe_entry_ctx_close(struct devlink_dpipe_dump_ctx *dump_ctx) -{ - return 0; -} - -static inline void -devlink_dpipe_entry_clear(struct devlink_dpipe_entry *entry) -{ -} - -static inline int -devlink_dpipe_action_put(struct sk_buff *skb, - struct devlink_dpipe_action *action) -{ - return 0; -} - -static inline int -devlink_dpipe_match_put(struct sk_buff *skb, - struct devlink_dpipe_match *match) -{ - return 0; -} - -static inline int -devlink_resource_register(struct devlink *devlink, - const char *resource_name, - u64 resource_size, - u64 resource_id, - u64 parent_resource_id, - const struct devlink_resource_size_params *size_params) -{ - return 0; -} - -static inline void -devlink_resources_unregister(struct devlink *devlink, - struct devlink_resource *resource) -{ -} - -static inline int -devlink_resource_size_get(struct devlink *devlink, u64 resource_id, - u64 *p_resource_size) -{ - return -EOPNOTSUPP; -} - -static inline int -devlink_dpipe_table_resource_set(struct devlink *devlink, - const char *table_name, u64 resource_id, - u64 resource_units) -{ - return -EOPNOTSUPP; -} - -static inline void -devlink_resource_occ_get_register(struct devlink *devlink, - u64 resource_id, - devlink_resource_occ_get_t *occ_get, - void *occ_get_priv) -{ -} - -static inline void -devlink_resource_occ_get_unregister(struct devlink *devlink, - u64 resource_id) -{ -} - -static inline int -devlink_params_register(struct devlink *devlink, - const struct devlink_param *params, - size_t params_count) -{ - return 0; -} - -static inline void -devlink_params_unregister(struct devlink *devlink, - const struct devlink_param *params, - size_t params_count) -{ - -} - -static inline int -devlink_port_params_register(struct devlink_port *devlink_port, - const struct devlink_param *params, - size_t params_count) -{ - return 0; -} - -static inline void -devlink_port_params_unregister(struct devlink_port *devlink_port, - const struct devlink_param *params, - size_t params_count) -{ -} - -static inline int -devlink_param_driverinit_value_get(struct devlink *devlink, u32 param_id, - union devlink_param_value *init_val) -{ - return -EOPNOTSUPP; -} - -static inline int -devlink_param_driverinit_value_set(struct devlink *devlink, u32 param_id, - union devlink_param_value init_val) -{ - return -EOPNOTSUPP; -} - -static inline int -devlink_port_param_driverinit_value_get(struct devlink_port *devlink_port, - u32 param_id, - union devlink_param_value *init_val) -{ - return -EOPNOTSUPP; -} - -static inline int -devlink_port_param_driverinit_value_set(struct devlink_port *devlink_port, - u32 param_id, - union devlink_param_value init_val) -{ - return -EOPNOTSUPP; -} - -static inline void -devlink_param_value_changed(struct devlink *devlink, u32 param_id) -{ -} - -static inline void -devlink_port_param_value_changed(struct devlink_port *devlink_port, - u32 param_id) -{ -} - -static inline void -devlink_param_value_str_fill(union devlink_param_value *dst_val, - const char *src) -{ -} - -static inline struct devlink_region * -devlink_region_create(struct devlink *devlink, - const char *region_name, - u32 region_max_snapshots, - u64 region_size) -{ - return NULL; -} - -static inline void -devlink_region_destroy(struct devlink_region *region) -{ -} - -static inline u32 -devlink_region_shapshot_id_get(struct devlink *devlink) -{ - return 0; -} - -static inline int -devlink_region_snapshot_create(struct devlink_region *region, u64 data_len, - u8 *data, u32 snapshot_id, - devlink_snapshot_data_dest_t *data_destructor) -{ - return 0; -} - -static inline int -devlink_info_driver_name_put(struct devlink_info_req *req, const char *name) -{ - return 0; -} - -static inline int -devlink_info_serial_number_put(struct devlink_info_req *req, const char *sn) -{ - return 0; -} - -static inline int -devlink_info_version_fixed_put(struct devlink_info_req *req, - const char *version_name, - const char *version_value) -{ - return 0; -} - -static inline int -devlink_info_version_stored_put(struct devlink_info_req *req, - const char *version_name, - const char *version_value) -{ - return 0; -} - -static inline int -devlink_info_version_running_put(struct devlink_info_req *req, - const char *version_name, - const char *version_value) -{ - return 0; -} - -static inline int -devlink_fmsg_obj_nest_start(struct devlink_fmsg *fmsg) -{ - return 0; -} - -static inline int -devlink_fmsg_obj_nest_end(struct devlink_fmsg *fmsg) -{ - return 0; -} - -static inline int -devlink_fmsg_pair_nest_start(struct devlink_fmsg *fmsg, const char *name) -{ - return 0; -} - -static inline int -devlink_fmsg_pair_nest_end(struct devlink_fmsg *fmsg) -{ - return 0; -} - -static inline int -devlink_fmsg_arr_pair_nest_start(struct devlink_fmsg *fmsg, - const char *name) -{ - return 0; -} - -static inline int -devlink_fmsg_arr_pair_nest_end(struct devlink_fmsg *fmsg) -{ - return 0; -} - -static inline int -devlink_fmsg_bool_put(struct devlink_fmsg *fmsg, bool value) -{ - return 0; -} - -static inline int -devlink_fmsg_u8_put(struct devlink_fmsg *fmsg, u8 value) -{ - return 0; -} - -static inline int -devlink_fmsg_u32_put(struct devlink_fmsg *fmsg, u32 value) -{ - return 0; -} - -static inline int -devlink_fmsg_u64_put(struct devlink_fmsg *fmsg, u64 value) -{ - return 0; -} - -static inline int -devlink_fmsg_string_put(struct devlink_fmsg *fmsg, const char *value) -{ - return 0; -} - -static inline int -devlink_fmsg_binary_put(struct devlink_fmsg *fmsg, const void *value, - u16 value_len) -{ - return 0; -} - -static inline int -devlink_fmsg_bool_pair_put(struct devlink_fmsg *fmsg, const char *name, - bool value) -{ - return 0; -} - -static inline int -devlink_fmsg_u8_pair_put(struct devlink_fmsg *fmsg, const char *name, - u8 value) -{ - return 0; -} - -static inline int -devlink_fmsg_u32_pair_put(struct devlink_fmsg *fmsg, const char *name, - u32 value) -{ - return 0; -} - -static inline int -devlink_fmsg_u64_pair_put(struct devlink_fmsg *fmsg, const char *name, - u64 value) -{ - return 0; -} - -static inline int -devlink_fmsg_string_pair_put(struct devlink_fmsg *fmsg, const char *name, - const char *value) -{ - return 0; -} - -static inline int -devlink_fmsg_binary_pair_put(struct devlink_fmsg *fmsg, const char *name, - const void *value, u16 value_len) -{ - return 0; -} - -static inline struct devlink_health_reporter * -devlink_health_reporter_create(struct devlink *devlink, - const struct devlink_health_reporter_ops *ops, - u64 graceful_period, bool auto_recover, - void *priv) -{ - return NULL; -} - -static inline void -devlink_health_reporter_destroy(struct devlink_health_reporter *reporter) -{ -} - -static inline void * -devlink_health_reporter_priv(struct devlink_health_reporter *reporter) -{ - return NULL; -} - -static inline int -devlink_health_report(struct devlink_health_reporter *reporter, - const char *msg, void *priv_ctx) -{ - return 0; -} - -static inline void -devlink_health_reporter_state_update(struct devlink_health_reporter *reporter, - enum devlink_health_reporter_state state) -{ -} - static inline void devlink_compat_running_version(struct net_device *dev, char *buf, size_t len) { @@ -1232,6 +742,7 @@ devlink_compat_flash_update(struct net_device *dev, const char *file_name) { return -EOPNOTSUPP; } + #endif #endif /* _NET_DEVLINK_H_ */ diff --git a/net/Kconfig b/net/Kconfig index 1efe1f9ee492..3e8fdd688329 100644 --- a/net/Kconfig +++ b/net/Kconfig @@ -429,11 +429,8 @@ config NET_SOCK_MSG with the help of BPF programs. config NET_DEVLINK - bool "Network physical/parent device Netlink interface" - help - Network physical/parent device Netlink interface provides - infrastructure to support access to physical chip-wide config and - monitoring. + bool + default n config PAGE_POOL bool diff --git a/net/dsa/Kconfig b/net/dsa/Kconfig index fab49132345f..b695170795c2 100644 --- a/net/dsa/Kconfig +++ b/net/dsa/Kconfig @@ -10,6 +10,7 @@ config NET_DSA depends on BRIDGE || BRIDGE=n select NET_SWITCHDEV select PHYLINK + select NET_DEVLINK ---help--- Say Y if you want to enable support for the hardware switches supported by the Distributed Switch Architecture.