From patchwork Sun Feb 10 23:39:59 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 1039510 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=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="cmVg9qQO"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43yQRP0kGtz9sBZ for ; Mon, 11 Feb 2019 10:41:21 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726882AbfBJXkS (ORCPT ); Sun, 10 Feb 2019 18:40:18 -0500 Received: from mail-ot1-f65.google.com ([209.85.210.65]:44280 "EHLO mail-ot1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725971AbfBJXkR (ORCPT ); Sun, 10 Feb 2019 18:40:17 -0500 Received: by mail-ot1-f65.google.com with SMTP id g1so711091otj.11; Sun, 10 Feb 2019 15:40:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=uGQEeKs0wF3WsHP8KjXvQrPiN22+b85NexF3bnAlxpE=; b=cmVg9qQOPPaNBjQHy/gWSBVDgIr6lFg9d/mjiZtdp6lUBy6jpwkBg0DHfmw1mc2KO1 Q6wLbsVnqZx2eCgy1Q7csK3SwkzZND2QSoqZT/Q7g4mPPwvGE006Pk3XI1pPZhJ7K88N OK38wHEkK/Uj1lHrsOhFQuU/ewfBdbOAo1gk+xWvApkMMR7FMxBbM22jTUBxuFkQSVg8 ryKzoRAmM3j3VMRi/iCeksvJzch/l9syv2vpLc6F2XhdJ30DEWVAWJterJ0SqlSa81Xw sR6CxzpgBIW13jQN4wSHRqGihLRa7dQURIXmeDGRAHTRjrDvGp+pGdn2p7Y1nPh+/nW1 GsVA== 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:mime-version:content-transfer-encoding; bh=uGQEeKs0wF3WsHP8KjXvQrPiN22+b85NexF3bnAlxpE=; b=VnPu563gQ1BoOKVRbxtTZ8v4KcdpMUESp8Cf3WrO/6QvHZSSwBIo4SbnFs/P2I1mmf mpoSrKaoLFjPZpSM+SgP2LMCmUDynmS8wW33veheivMmArWL6WZ+QKmI+KZ++Gy0j6ny cG5KzNCO2dg9adcAoBBDY0mOd2u28XQZ7tqq3dX7ksk0UQGjUlh5PBJSsRI0y4ThDEu6 LEbcxjZz0Dl37UGrEaDr6LUmisQKQhRX0954zflQowynhWQbfp6ZurAuO7Qt7R8rhWmd WLSvRl1hrkIEmLIZIwV4Z6StOk/KuT71TOFl1ei56swgaGnQJVFuSX4aHjCGzJ0gcyEo 4AiQ== X-Gm-Message-State: AHQUAuYgQBrq2IMW5+rPcRFkHUp44G2Y3RCV7tEIDnQ0FyORLuurJmjU ik/bAaRnA9bgu+e4QRNJfV0RQ4Qu X-Google-Smtp-Source: AHgI3Ib/yxaQK/tvQoQ2S9+y+57Zo40xkSN/XYIvbmSrejX8ER6BtYXNJhnNCPTcrpW6cnQmW9ve0A== X-Received: by 2002:a9d:7417:: with SMTP id n23mr4468451otk.63.1549842016223; Sun, 10 Feb 2019 15:40:16 -0800 (PST) Received: from localhost.localdomain (ip68-228-73-187.oc.oc.cox.net. [68.228.73.187]) by smtp.gmail.com with ESMTPSA id v3sm4944269oib.57.2019.02.10.15.40.14 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 10 Feb 2019 15:40:15 -0800 (PST) From: Florian Fainelli To: netdev@vger.kernel.org Cc: Florian Fainelli , idosch@mellanox.com, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, bridge@lists.linux-foundation.org, jiri@mellanox.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [PATCH net-next v3 1/9] Documentation: networking: switchdev: Update port parent ID section Date: Sun, 10 Feb 2019 15:39:59 -0800 Message-Id: <20190210234007.16173-2-f.fainelli@gmail.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190210234007.16173-1-f.fainelli@gmail.com> References: <20190210234007.16173-1-f.fainelli@gmail.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Update the section about switchdev drivers having to implement a switchdev_port_attr_get() function to return SWITCHDEV_ATTR_ID_PORT_PARENT_ID since that is no longer valid after commit bccb30254a4a ("net: Get rid of SWITCHDEV_ATTR_ID_PORT_PARENT_ID"). Fixes: bccb30254a4a ("net: Get rid of SWITCHDEV_ATTR_ID_PORT_PARENT_ID") Signed-off-by: Florian Fainelli Acked-by: Jiri Pirko --- Documentation/networking/switchdev.txt | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/Documentation/networking/switchdev.txt b/Documentation/networking/switchdev.txt index f3244d87512a..2842f63ad47b 100644 --- a/Documentation/networking/switchdev.txt +++ b/Documentation/networking/switchdev.txt @@ -92,11 +92,11 @@ device. Switch ID ^^^^^^^^^ -The switchdev driver must implement the switchdev op switchdev_port_attr_get -for SWITCHDEV_ATTR_ID_PORT_PARENT_ID for each port netdev, returning the same -physical ID for each port of a switch. The ID must be unique between switches -on the same system. The ID does not need to be unique between switches on -different systems. +The switchdev driver must implement the net_device operation +ndo_get_port_parent_id for each port netdev, returning the same physical ID +for each port of a switch. The ID must be unique between switches on the same +system. The ID does not need to be unique between switches on different +systems. The switch ID is used to locate ports on a switch and to know if aggregated ports belong to the same switch. From patchwork Sun Feb 10 23:40:00 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 1039508 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=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="UIVhll2J"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43yQR96KQZz9sBZ for ; Mon, 11 Feb 2019 10:41:09 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726975AbfBJXkW (ORCPT ); Sun, 10 Feb 2019 18:40:22 -0500 Received: from mail-ot1-f65.google.com ([209.85.210.65]:46641 "EHLO mail-ot1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725971AbfBJXkT (ORCPT ); Sun, 10 Feb 2019 18:40:19 -0500 Received: by mail-ot1-f65.google.com with SMTP id w25so14585536otm.13; Sun, 10 Feb 2019 15:40:18 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=hWVdHii8ckcvI1Css/ppCdD5B7yTXb8aPWmds2fbqAc=; b=UIVhll2JY7NyNcFWY+FaVozzgAko5FkXAbOhZC4y4yEQa0Unnqa9tDmWlBkbhBDTkb LAk5v+zCfJZbeLAaUEEdhmn+uSPpBDc05yKkrAkWFJZ/soU/KFUJZcvgJ5ykZIZBCTGp 54Cdhv1F+GZtRhfaPMSWce/4ps2jtAnrfh9VTXbUphGoZP/qnNDEbD/+rfd/UsWGGl+k aN17JYDTkA/mybijkjcTes+d6pRkw/ltA6pJ/4qoAshsUEyQ3zazwEQe1pwwqcYJGcOF pnxyD7eTEnSxN2kGpln6T66fP0yfpFX/yQt4HcuEFxUnwL8T6L/2aspcnFA9LidTVAel kWZg== 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:mime-version:content-transfer-encoding; bh=hWVdHii8ckcvI1Css/ppCdD5B7yTXb8aPWmds2fbqAc=; b=n8VYG+a6Fpl1pb+JgnO1K6i/6JbfNsttTx2lZRhwrSkOaz26qrxrSHZ7m7o9Y3O5eK 5ASW8Auobd/Az0pwMrpCfD1I8uSuPyNs0cihtRYaZ0mnCUTY0N5wQgPHOU81wqC65zz0 NaAaVzBNj9k0cDXiIwRt31ICDZBOdoXdcMcz9yd+LX0ma4hVUTE9tYlD8SKN5nxzZdD+ IouRSH6NU3/eyKphDiPyy66HVJm+LfQ0ERFJDJJp65X24TGsOH5ldKQKN6m2M5aZWCo0 lm0g8b/ZQFG/bFmXsudevZtDh8bfGwdlaG6ZepqU1+V2J42MmOAyPK04rfk7W5arSoch S1qw== X-Gm-Message-State: AHQUAuZqlcYiqbb4pYfFWvdnYoJY6cuPniqNdrjgOSda34PX8rroIyQP Vc6kvd6oaGWdSFWRAO+bpGFZoqtz X-Google-Smtp-Source: AHgI3Iam04GhUxAqATkV8J4wYWk6iwyyDNxwNtQw69NMyPgbeQaMRB9vczd4e52g2eEaLgAa6Piq7Q== X-Received: by 2002:a05:6830:138e:: with SMTP id d14mr6931856otq.172.1549842018113; Sun, 10 Feb 2019 15:40:18 -0800 (PST) Received: from localhost.localdomain (ip68-228-73-187.oc.oc.cox.net. [68.228.73.187]) by smtp.gmail.com with ESMTPSA id v3sm4944269oib.57.2019.02.10.15.40.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 10 Feb 2019 15:40:17 -0800 (PST) From: Florian Fainelli To: netdev@vger.kernel.org Cc: Florian Fainelli , idosch@mellanox.com, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, bridge@lists.linux-foundation.org, jiri@mellanox.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [PATCH net-next v3 2/9] switchdev: Add SWITCHDEV_PORT_ATTR_SET, SWITCHDEV_PORT_ATTR_GET Date: Sun, 10 Feb 2019 15:40:00 -0800 Message-Id: <20190210234007.16173-3-f.fainelli@gmail.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190210234007.16173-1-f.fainelli@gmail.com> References: <20190210234007.16173-1-f.fainelli@gmail.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org In preparation for allowing switchdev enabled drivers to veto specific attribute settings from within the context of the caller, introduce a new switchdev notifier type for port attributes. Suggested-by: Ido Schimmel Signed-off-by: Florian Fainelli Acked-by: Jiri Pirko --- include/net/switchdev.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/net/switchdev.h b/include/net/switchdev.h index 5e87b54c5dc5..b8becabbef38 100644 --- a/include/net/switchdev.h +++ b/include/net/switchdev.h @@ -143,6 +143,9 @@ enum switchdev_notifier_type { SWITCHDEV_VXLAN_FDB_ADD_TO_DEVICE, SWITCHDEV_VXLAN_FDB_DEL_TO_DEVICE, SWITCHDEV_VXLAN_FDB_OFFLOADED, + + SWITCHDEV_PORT_ATTR_SET, /* Blocking. */ + SWITCHDEV_PORT_ATTR_GET, /* Blocking. */ }; struct switchdev_notifier_info { @@ -165,6 +168,13 @@ struct switchdev_notifier_port_obj_info { bool handled; }; +struct switchdev_notifier_port_attr_info { + struct switchdev_notifier_info info; /* must be first */ + struct switchdev_attr *attr; + struct switchdev_trans *trans; + bool handled; +}; + static inline struct net_device * switchdev_notifier_info_to_dev(const struct switchdev_notifier_info *info) { From patchwork Sun Feb 10 23:40:01 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 1039509 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=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="d6WW505n"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43yQRF53blz9sBZ for ; Mon, 11 Feb 2019 10:41:13 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727235AbfBJXlM (ORCPT ); Sun, 10 Feb 2019 18:41:12 -0500 Received: from mail-ot1-f66.google.com ([209.85.210.66]:40294 "EHLO mail-ot1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726231AbfBJXkV (ORCPT ); Sun, 10 Feb 2019 18:40:21 -0500 Received: by mail-ot1-f66.google.com with SMTP id s5so14663357oth.7; Sun, 10 Feb 2019 15:40:20 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=wimd3qSTtcutL9MgW1a48UHpmMTASo5reWM4eIi7Glc=; b=d6WW505n2D6Ai8v02lBLPTa42g/O5qhgRtT1+h2y+aH4CnQZCsVCQt+9DtznUuKUwL MrgHluxaOXpvtPbKlTPfozwlFXLvO4TDcUJPl6anYO1TaHVFx2+Q7KH0Ntduq382lKwk In88ioYF4P5IjElH1QneSj6DAGQDuTuQe+mOGmeD/b7/PKp50QaM3Ai8Xtb7+rwKrULn Pne7o6FCUKLib396WBOMzow4XdOmytHkM0zzsKP6thCrQ4sljebEZ6PMhosh3677IrTj gDA8nMzBlMCjKZeW062CxS0VYMjyDh7utmT4jmBb9EIZthddMpZQphlN4HZ31n9C7tg8 ROhQ== 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:mime-version:content-transfer-encoding; bh=wimd3qSTtcutL9MgW1a48UHpmMTASo5reWM4eIi7Glc=; b=qRpQrmqMSgURCCk8F0BI2Dt1I6FyTvfBMbwtyHkzrp9hjx5/tzCArHaUPXn6h3eqlZ PR1OGGLKyicz0UcyXWePhcMhMmTtAP1N4pSWzH/iUTayeYYcV0mMmC5XBEEOK8XlOeui KlID1A3jAXVGmDbWzs4DC6kZWDxCB2ny0BZegGLk10+jUXJrdmPnNZ9ns7kRUveENzaV M/pwN8Up7TaI5i2U5iBKioocH8IVxdCHnSfrOwIc6eIMywyzfrQU1veDgnwvYZgDSXzF 3j/V/QOdkk9Q1EGCvjz0uKtFtEKU4kt/KX6v9MH2ZefHc28RY8vRB7L+S9HNVMdlw55u XjbA== X-Gm-Message-State: AHQUAuZiSYXdKLVe+OCYukgpMEuWfnMOrWIn3ZqfOjfYNZx1PEHCa6gP bHGP1/2LVuH/0+PkZb1Cb/MFvcFt X-Google-Smtp-Source: AHgI3IYa70XhLQzY7XLzR8jQJypiJhI09bYksi53PeWi8B+tCyRK6I2MBrZIFH2zH8eTjelugwSYmQ== X-Received: by 2002:a9d:2661:: with SMTP id a88mr25550055otb.91.1549842019950; Sun, 10 Feb 2019 15:40:19 -0800 (PST) Received: from localhost.localdomain (ip68-228-73-187.oc.oc.cox.net. [68.228.73.187]) by smtp.gmail.com with ESMTPSA id v3sm4944269oib.57.2019.02.10.15.40.18 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 10 Feb 2019 15:40:19 -0800 (PST) From: Florian Fainelli To: netdev@vger.kernel.org Cc: Florian Fainelli , idosch@mellanox.com, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, bridge@lists.linux-foundation.org, jiri@mellanox.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [PATCH net-next v3 3/9] rocker: Handle SWITCHDEV_PORT_ATTR_GET/SET Date: Sun, 10 Feb 2019 15:40:01 -0800 Message-Id: <20190210234007.16173-4-f.fainelli@gmail.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190210234007.16173-1-f.fainelli@gmail.com> References: <20190210234007.16173-1-f.fainelli@gmail.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Following patches will change the way we communicate getting or setting a port's attribute and use a blocking notifier to perform those tasks. Prepare rocker to support receiving notifier events targeting SWITCHDEV_PORT_ATTR_GET/SET and simply translate that into the existing rocker_port_attr_{set,get} calls. Signed-off-by: Florian Fainelli Acked-by: Jiri Pirko --- drivers/net/ethernet/rocker/rocker_main.c | 24 +++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/net/ethernet/rocker/rocker_main.c b/drivers/net/ethernet/rocker/rocker_main.c index 66f72f8c46e5..591008c8fa74 100644 --- a/drivers/net/ethernet/rocker/rocker_main.c +++ b/drivers/net/ethernet/rocker/rocker_main.c @@ -2835,6 +2835,27 @@ rocker_switchdev_port_obj_event(unsigned long event, struct net_device *netdev, return notifier_from_errno(err); } +static int +rocker_switchdev_port_attr_event(unsigned long event, struct net_device *netdev, + struct switchdev_notifier_port_attr_info + *port_attr_info) +{ + int err = -EOPNOTSUPP; + + switch (event) { + case SWITCHDEV_PORT_ATTR_SET: + err = rocker_port_attr_set(netdev, port_attr_info->attr, + port_attr_info->trans); + break; + case SWITCHDEV_PORT_ATTR_GET: + err = rocker_port_attr_get(netdev, port_attr_info->attr); + break; + } + + port_attr_info->handled = true; + return notifier_from_errno(err); +} + static int rocker_switchdev_blocking_event(struct notifier_block *unused, unsigned long event, void *ptr) { @@ -2847,6 +2868,9 @@ static int rocker_switchdev_blocking_event(struct notifier_block *unused, case SWITCHDEV_PORT_OBJ_ADD: case SWITCHDEV_PORT_OBJ_DEL: return rocker_switchdev_port_obj_event(event, dev, ptr); + case SWITCHDEV_PORT_ATTR_SET: + case SWITCHDEV_PORT_ATTR_GET: + return rocker_switchdev_port_attr_event(event, dev, ptr); } return NOTIFY_DONE; From patchwork Sun Feb 10 23:40:02 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 1039507 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=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="PjOg8Ys1"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43yQR65FFzz9sBZ for ; Mon, 11 Feb 2019 10:41:06 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727014AbfBJXkY (ORCPT ); Sun, 10 Feb 2019 18:40:24 -0500 Received: from mail-ot1-f66.google.com ([209.85.210.66]:44001 "EHLO mail-ot1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726979AbfBJXkX (ORCPT ); Sun, 10 Feb 2019 18:40:23 -0500 Received: by mail-ot1-f66.google.com with SMTP id n71so113028ota.10; Sun, 10 Feb 2019 15:40:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=bK6KJ8PbptzY6Cxty2elvsR4uDi55jXHgyWEWfvoolA=; b=PjOg8Ys1V2tfMNGxzaW552XSjpEB3uRFYjoUcPjFY1FYTQoeNyXhAYw3WjcM2JNhwa 0l4Dr4zC3i4L7avSCEHyUUUq7ydlAX1HNmSHbS4tzNInxGMsZ4M9907Ovu4pO/nGOt9E N+vywnyxPCjTXinJ/sYoK+WE0o4sgDak4gNW0djDqX2KI0qO+sMpF6aSBDrZkCzldO/k jZcyRVV0X2OkGGz1i8r7gh+DfvnmCkE9ioJtb0pf4CfxMHfj/cqI0LoFNwAtm9tdZk8r SioU7yFdBFxkGtFjkxFnYXFPfEzNT32lzENm7T2yHc2vyRP2a44zltOrZzdsDT1oYiVA EMhQ== 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:mime-version:content-transfer-encoding; bh=bK6KJ8PbptzY6Cxty2elvsR4uDi55jXHgyWEWfvoolA=; b=cGDEWbWivXoXYxAlOUIfeuciuJxUY3r7fGZqB7pntrsEA6iqIAunu+SjsQnTcn7QXx bgS2NzrCo4+zHSscHDskpdR+luX9/VjVorXuTN8nhEwv3EAaOPPwzKgqFgmH1xuZoPxe +YdV6n5P/cH4SQvHxxdcUWd0a+/+MPxkSP270l+owATy+1ctn54l1JWJU9gIPp4qt66M 9+mfu/5sxzckyZlQIOXP6r50ODP3QU/N0439wC0wWXdjfifXLohMtkvShB8Q42GIMrzz CMkKw+pdBcfDgcTB28CZ1EuirUkLO8yPT6afqbr/rNCrLlH3Zc/nLWXUWXbwG9W7TRnT KNjA== X-Gm-Message-State: AHQUAuaONoFnrsPjlf8+q4LjsVlWnM5CNV+XVwSWScPLLtOoYVfWpHuc AN3NQEPMNrvpAJv9qi8yGGt/5BBL X-Google-Smtp-Source: AHgI3IYUKc1aVqQs35S6cxRtPN0hL5C5PDYbcnQMf/CNL+9Kam24TAb1OGmd7DCI0gepChmkXReDGA== X-Received: by 2002:a9d:67cf:: with SMTP id c15mr23672252otn.38.1549842021789; Sun, 10 Feb 2019 15:40:21 -0800 (PST) Received: from localhost.localdomain (ip68-228-73-187.oc.oc.cox.net. [68.228.73.187]) by smtp.gmail.com with ESMTPSA id v3sm4944269oib.57.2019.02.10.15.40.20 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 10 Feb 2019 15:40:21 -0800 (PST) From: Florian Fainelli To: netdev@vger.kernel.org Cc: Florian Fainelli , idosch@mellanox.com, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, bridge@lists.linux-foundation.org, jiri@mellanox.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [PATCH net-next v3 4/9] mlxsw: spectrum_switchdev: Handle SWITCHDEV_PORT_ATTR_GET/SET Date: Sun, 10 Feb 2019 15:40:02 -0800 Message-Id: <20190210234007.16173-5-f.fainelli@gmail.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190210234007.16173-1-f.fainelli@gmail.com> References: <20190210234007.16173-1-f.fainelli@gmail.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Following patches will change the way we communicate getting or setting a port's attribute and use a blocking notifier to perform those tasks. Prepare mlxsw to support receiving notifier events targeting SWITCHDEV_PORT_ATTR_GET/SET and simply translate that into the existing mlxsw_sp_port_attr_{set,get} calls. Signed-off-by: Florian Fainelli Acked-by: Jiri Pirko --- .../mellanox/mlxsw/spectrum_switchdev.c | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c index 95e37de3e48f..c6d7bb70e8f2 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c @@ -3443,6 +3443,26 @@ mlxsw_sp_switchdev_handle_vxlan_obj_del(struct net_device *vxlan_dev, } } +static int +mlxsw_sp_switchdev_port_attr_event(unsigned long event, struct net_device *dev, + struct switchdev_notifier_port_attr_info *port_attr_info) +{ + int err = -EOPNOTSUPP; + + switch (event) { + case SWITCHDEV_PORT_ATTR_SET: + err = mlxsw_sp_port_attr_set(dev, port_attr_info->attr, + port_attr_info->trans); + break; + case SWITCHDEV_PORT_ATTR_GET: + err = mlxsw_sp_port_attr_get(dev, port_attr_info->attr); + break; + } + + port_attr_info->handled = true; + return notifier_from_errno(err); +} + static int mlxsw_sp_switchdev_blocking_event(struct notifier_block *unused, unsigned long event, void *ptr) { @@ -3466,6 +3486,9 @@ static int mlxsw_sp_switchdev_blocking_event(struct notifier_block *unused, mlxsw_sp_port_dev_check, mlxsw_sp_port_obj_del); return notifier_from_errno(err); + case SWITCHDEV_PORT_ATTR_SET: + case SWITCHDEV_PORT_ATTR_GET: + return mlxsw_sp_switchdev_port_attr_event(event, dev, ptr); } return NOTIFY_DONE; From patchwork Sun Feb 10 23:40:03 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 1039504 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=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="okpI6JkB"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43yQQl6xnLz9sCh for ; Mon, 11 Feb 2019 10:40:47 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727061AbfBJXk1 (ORCPT ); Sun, 10 Feb 2019 18:40:27 -0500 Received: from mail-ot1-f65.google.com ([209.85.210.65]:35159 "EHLO mail-ot1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727013AbfBJXkZ (ORCPT ); Sun, 10 Feb 2019 18:40:25 -0500 Received: by mail-ot1-f65.google.com with SMTP id z19so10642581otm.2; Sun, 10 Feb 2019 15:40:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=mF0clASfsS+m8euYRGx6YKoVXE9ceDzoQVGxi2l5BWo=; b=okpI6JkB7O6+EYzhc8grCHHY2p1MWQHFqCm5IjFaBL6ohtySKmzavRdxkOHIWkFFUK 4J149xPhTx/1WSC2n2P/1/cCFSIbw/kTWVDqg0gCXnZWTedCar2SlJuJ284xEgwwp+wz kXponMFi43X55uUxP+HAPM7addZxOvXBf1tfimLGbx0Hwerl1SMvidtN1qLsyGoVgeIz rGaMqdrp1+De3fOyG5AQIz9vz4dN8tAOf0KU8i3zVSGoFkm+RC/YliXdrGqjnD7iNxrI VsIHj9tzkQ+HtW7MhHtoRdmeD7Vu6Np6ELWCDluTXpgNKrgIGYGXAd5sU4AqRlyfB8BB zvVA== 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:mime-version:content-transfer-encoding; bh=mF0clASfsS+m8euYRGx6YKoVXE9ceDzoQVGxi2l5BWo=; b=ED/S2utji53dMDh2oO7D/6GUflgR87TmM3x50BvBjHHPDVFM3CD8bQ1lcLclCNLnmH 8mAkaFwLQRgZW3ynSANIyIWUzObN6QtoZsx88c5l6O0WG4BzpunkDMtcwC4mFp71gGWh MPlYfg3PHZcFtkZKheMWCZ5pGT54IzeMR7zzogBdTBep95Wl1h4A8OITHBc8JiSpgvF8 zkZqkNHdbcYU4pttQ3df79YNMyBnPH7CGKL3i7WQSFJ7cBgLlve657GzDktA8WyxBOpT NbkrQjXx8HZo+6+WAN5ltaypwgxdGLzNhjUrDYbSVU8uyPOfw96QdTB5gBOAIsVL5g09 q93A== X-Gm-Message-State: AHQUAuZJOZI0fkF/N6Alf2DjDnJu1qu5eSY2K44EspI7A2wrorHDfbiu JXtIB1PJdKEaT4eZbMFtHyqfWj6J X-Google-Smtp-Source: AHgI3IYgQDtJWMWvNDm6F+4YsqsL92sODLQujN6p6QKKTFeo/A16OOW5ruXEqfmUj2F1T1yxKN37ZQ== X-Received: by 2002:a9d:6a92:: with SMTP id l18mr18784628otq.81.1549842023736; Sun, 10 Feb 2019 15:40:23 -0800 (PST) Received: from localhost.localdomain (ip68-228-73-187.oc.oc.cox.net. [68.228.73.187]) by smtp.gmail.com with ESMTPSA id v3sm4944269oib.57.2019.02.10.15.40.21 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 10 Feb 2019 15:40:22 -0800 (PST) From: Florian Fainelli To: netdev@vger.kernel.org Cc: Florian Fainelli , idosch@mellanox.com, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, bridge@lists.linux-foundation.org, jiri@mellanox.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [PATCH net-next v3 5/9] net: mscc: ocelot: Handle SWITCHDEV_PORT_ATTR_GET/SET Date: Sun, 10 Feb 2019 15:40:03 -0800 Message-Id: <20190210234007.16173-6-f.fainelli@gmail.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190210234007.16173-1-f.fainelli@gmail.com> References: <20190210234007.16173-1-f.fainelli@gmail.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Following patches will change the way we communicate getting or setting a port's attribute and use a blocking notifier to perform those tasks. Prepare ocelot to support receiving notifier events targeting SWITCHDEV_PORT_ATTR_GET/SET and simply translate that into the existing ocelot_port_attr_{set,get} calls. Signed-off-by: Florian Fainelli Acked-by: Jiri Pirko --- drivers/net/ethernet/mscc/ocelot.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/drivers/net/ethernet/mscc/ocelot.c b/drivers/net/ethernet/mscc/ocelot.c index 195306d05bcd..850a49033a30 100644 --- a/drivers/net/ethernet/mscc/ocelot.c +++ b/drivers/net/ethernet/mscc/ocelot.c @@ -1582,6 +1582,24 @@ struct notifier_block ocelot_netdevice_nb __read_mostly = { }; EXPORT_SYMBOL(ocelot_netdevice_nb); +static int +ocelot_switchdev_port_attr_event(unsigned long event, + struct net_device *netdev, + struct switchdev_notifier_port_attr_info *port_attr_info) +{ + int err = -EOPNOTSUPP; + + switch (event) { + case SWITCHDEV_PORT_ATTR_SET: + err = ocelot_port_attr_set(netdev, port_attr_info->attr, + port_attr_info->trans); + break; + } + + port_attr_info->handled = true; + return notifier_from_errno(err); +} + static int ocelot_switchdev_blocking_event(struct notifier_block *unused, unsigned long event, void *ptr) { @@ -1600,6 +1618,9 @@ static int ocelot_switchdev_blocking_event(struct notifier_block *unused, ocelot_netdevice_dev_check, ocelot_port_obj_del); return notifier_from_errno(err); + case SWITCHDEV_PORT_ATTR_SET: + case SWITCHDEV_PORT_ATTR_GET: /* fallthrough */ + return ocelot_switchdev_port_attr_event(event, dev, ptr); } return NOTIFY_DONE; From patchwork Sun Feb 10 23:40:04 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 1039506 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=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="qDmhKikD"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43yQQy4mGTz9sCh for ; Mon, 11 Feb 2019 10:40:58 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727210AbfBJXk5 (ORCPT ); Sun, 10 Feb 2019 18:40:57 -0500 Received: from mail-ot1-f67.google.com ([209.85.210.67]:39217 "EHLO mail-ot1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726363AbfBJXk0 (ORCPT ); Sun, 10 Feb 2019 18:40:26 -0500 Received: by mail-ot1-f67.google.com with SMTP id n8so14663777otl.6; Sun, 10 Feb 2019 15:40:26 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=9fkZ8Pbunho/ROChBNcoRtJbkTRL9WKmA1WtJKIo9O4=; b=qDmhKikDDNTrsUJq3gj07F1+SEgorzAwYbmXFSZaille2smNGYGbr5ImIGdZZc6cED WH1B7zXuCRAWeiW3qS2j40hqhj12cQqhbuMNRbLoISs2AZheDJPsL3zBKmLRCbOzqTdN Fnh0QoOLfFFjl2Zy6zKaf0/8cmlNCQHV+SLbTwy+zbwZ01cDF/Ea/kGhwyk/8FrI56z9 fI5oYUtIqlYldZuZnpZpog6L4+6EAKvcshlI+02L2zTQSgmH3WPWFbYsE1L+PsxRgGY7 A9Zv0K7zVGW6BkPg02HSQrGqBuv9hDmfOc4WxWKx/2GRZ3Lvqn/1HDAq2BAeRumJkGZ5 oqeg== 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:mime-version:content-transfer-encoding; bh=9fkZ8Pbunho/ROChBNcoRtJbkTRL9WKmA1WtJKIo9O4=; b=BzTh5fcFKs9VxiWYMBh/2n5/82kRiTDk1WrnakYjJI8MnJxPX86RecxEMt3auqgW0k JXAH8CeNdbtzEc5TwgwgvF7myd1zKhQ0DfJbKwh8m5Co2PP27CJ4sZFfypos+bHtXQRV SusVTv5YAe+pvH1LKh4qOecdT/5umjPWfL1mh/eyb8mLG4Tbb6Qg46f4oRmS2kUz1Ahk +YBKVijNkWFoPeNCfeXeW+n707LMp4rFCNrqsar58tgQW/8HYFyy1IpWdhklF1dzOYwh 6kU+RfYZ/+j2IaSkFcB67VhkaZEoAiKHuLkRX7B4e29CnegPiE58yq0IymFcZT+iFK4A mbbQ== X-Gm-Message-State: AHQUAuboePLnteyQuaGAtJegYOiT9rul2GGvepD++NHUuFNyWz3P7CNv g4aVyhIk3AGTe4kWejVRNesXkR0e X-Google-Smtp-Source: AHgI3IZMRJhu6n/VpjYP46dQcKj5fKv8LrqxH+yZsAXE22l7T+90XMsdUs24rZGlBF/9lAWHlqh9tQ== X-Received: by 2002:a9d:6f8e:: with SMTP id h14mr24029067otq.241.1549842025577; Sun, 10 Feb 2019 15:40:25 -0800 (PST) Received: from localhost.localdomain (ip68-228-73-187.oc.oc.cox.net. [68.228.73.187]) by smtp.gmail.com with ESMTPSA id v3sm4944269oib.57.2019.02.10.15.40.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 10 Feb 2019 15:40:24 -0800 (PST) From: Florian Fainelli To: netdev@vger.kernel.org Cc: Florian Fainelli , idosch@mellanox.com, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, bridge@lists.linux-foundation.org, jiri@mellanox.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [PATCH net-next v3 6/9] staging: fsl-dpaa2: ethsw: Handle SWITCHDEV_PORT_ATTR_GET/SET Date: Sun, 10 Feb 2019 15:40:04 -0800 Message-Id: <20190210234007.16173-7-f.fainelli@gmail.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190210234007.16173-1-f.fainelli@gmail.com> References: <20190210234007.16173-1-f.fainelli@gmail.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Following patches will change the way we communicate getting or setting a port's attribute and use a blocking notifier to perform those tasks. Prepare ethsw to support receiving notifier events targeting SWITCHDEV_PORT_ATTR_GET/SET and simply translate that into the existing swdev_port_attr_{set,get} calls. Signed-off-by: Florian Fainelli Acked-by: Jiri Pirko --- drivers/staging/fsl-dpaa2/ethsw/ethsw.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/drivers/staging/fsl-dpaa2/ethsw/ethsw.c b/drivers/staging/fsl-dpaa2/ethsw/ethsw.c index e559f4c25cf7..bc9e7de07200 100644 --- a/drivers/staging/fsl-dpaa2/ethsw/ethsw.c +++ b/drivers/staging/fsl-dpaa2/ethsw/ethsw.c @@ -1111,6 +1111,27 @@ ethsw_switchdev_port_obj_event(unsigned long event, struct net_device *netdev, return notifier_from_errno(err); } +static int +ethsw_switchdev_port_attr_event(unsigned long event, + struct net_device *netdev, + struct switchdev_notifier_port_attr_info *port_attr_info) +{ + int err = -EOPNOTSUPP; + + switch (event) { + case SWITCHDEV_PORT_ATTR_SET: + err = swdev_port_attr_set(netdev, port_attr_info->attr, + port_attr_info->trans); + break; + case SWITCHDEV_PORT_ATTR_GET: + err = swdev_port_attr_get(netdev, port_attr_info->attr); + break; + } + + port_attr_info->handled = true; + return notifier_from_errno(err); +} + static int port_switchdev_blocking_event(struct notifier_block *unused, unsigned long event, void *ptr) { @@ -1123,6 +1144,9 @@ static int port_switchdev_blocking_event(struct notifier_block *unused, case SWITCHDEV_PORT_OBJ_ADD: /* fall through */ case SWITCHDEV_PORT_OBJ_DEL: return ethsw_switchdev_port_obj_event(event, dev, ptr); + case SWITCHDEV_PORT_ATTR_SET: + case SWITCHDEV_PORT_ATTR_GET: + return ethsw_switchdev_port_attr_event(event, dev, ptr); } return NOTIFY_DONE; From patchwork Sun Feb 10 23:40:05 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 1039505 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=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="qbh1qNuj"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43yQQn4S9vz9sDr for ; Mon, 11 Feb 2019 10:40:49 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727176AbfBJXks (ORCPT ); Sun, 10 Feb 2019 18:40:48 -0500 Received: from mail-ot1-f65.google.com ([209.85.210.65]:35162 "EHLO mail-ot1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727067AbfBJXk2 (ORCPT ); Sun, 10 Feb 2019 18:40:28 -0500 Received: by mail-ot1-f65.google.com with SMTP id z19so10642705otm.2; Sun, 10 Feb 2019 15:40:28 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=H+qa45j97TVXUzWcSqT4ciJ6lwUcGt6+aO3V+0751xI=; b=qbh1qNujKyGmbNz+1T9Nr6c9HSQkjUaarSeCf/9YLVdDqinl/qBWvJjo2sNIkOEPkZ uvBRvnjFH4RLzhEtJ2ikcxVmdQPf71HM2T7XZbnE9ATdvYHY8QOsMDd3sSA+TYr95XpH /LiIo+jWgR/tLt8FffOqyK18qxBGk/g+BHqy2jPRGNKyfzHrVhxg5YjKLFYQE0z9+Q3h TKuvAwVBIhq91CRQsQlQw8fbDmM7P1Sx738dKVtmDcfGYf1H2SpW2ylFQV0kpWeVJJ17 IPoxnKGxcBr2JwDElcobZ7+yZeC+lJBOwDkL0plplNAb0yt31wdU2ymwVNhvYAuNjxKe OUFw== 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:mime-version:content-transfer-encoding; bh=H+qa45j97TVXUzWcSqT4ciJ6lwUcGt6+aO3V+0751xI=; b=hmGeTEQC0+ZZ/A5iOI3UHU7PQ+Sfc553Ay80eGfqLhe3GJqZdkaURsig7s6z5fQhp4 rl2LpXz9gTqwHJwOKFQZ2MhcWjDvE1A6qD9F1Ic5hGlnLcuOJ3+p9h1UmE648PGq5LGE GeudNyA8hGNbzptR92Y4eaGst/f2clHfabWczSq/OOtXoFJ73qv94qIdNrBvf8yo48PS YphrtXVoL6YRT2E0d1DvmVcVBpGfVVkobH8Rd3OqzjcnNtCcXB3cooQIkPbjSg7YZjcb /YUDZxLx7F029pK4s0KmR9xBNHypR867f8KuwypSSk7vIewlpTZ3pyGLQVwiJt4CpY2P 9AAg== X-Gm-Message-State: AHQUAuYQxLuH2iQR1m5KWeGLS1JtcjfauxJ5xEubIAebZMXnr12xmf7+ BEtrDMkqs9WsHGUcumKKtwMNBZ9L X-Google-Smtp-Source: AHgI3IZ2sCQtMYA2mmii2TFKIpLA97gLXWkojCfDJ4KF3oZ2drFU95/t0+DxS3mm/3z8Nmo7k7g2JA== X-Received: by 2002:a9d:46b:: with SMTP id 98mr25266588otc.339.1549842027366; Sun, 10 Feb 2019 15:40:27 -0800 (PST) Received: from localhost.localdomain (ip68-228-73-187.oc.oc.cox.net. [68.228.73.187]) by smtp.gmail.com with ESMTPSA id v3sm4944269oib.57.2019.02.10.15.40.25 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 10 Feb 2019 15:40:26 -0800 (PST) From: Florian Fainelli To: netdev@vger.kernel.org Cc: Florian Fainelli , idosch@mellanox.com, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, bridge@lists.linux-foundation.org, jiri@mellanox.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [PATCH net-next v3 7/9] net: dsa: Handle SWITCHDEV_PORT_ATTR_GET/SET Date: Sun, 10 Feb 2019 15:40:05 -0800 Message-Id: <20190210234007.16173-8-f.fainelli@gmail.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190210234007.16173-1-f.fainelli@gmail.com> References: <20190210234007.16173-1-f.fainelli@gmail.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Following patches will change the way we communicate getting or setting a port's attribute and use a blocking notifier to perform those tasks. Prepare DSA to support receiving notifier events targeting SWITCHDEV_PORT_ATTR_GET/SET and simply translate that into the existing dsa_slave_port_attr_{set,get} calls. Signed-off-by: Florian Fainelli Acked-by: Jiri Pirko --- net/dsa/slave.c | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/net/dsa/slave.c b/net/dsa/slave.c index 2e5e7c04821b..2a14a38f5f93 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c @@ -1558,6 +1558,27 @@ dsa_slave_switchdev_port_obj_event(unsigned long event, return notifier_from_errno(err); } +static int +dsa_slave_switchdev_port_attr_event(unsigned long event, + struct net_device *netdev, + struct switchdev_notifier_port_attr_info *port_attr_info) +{ + int err = -EOPNOTSUPP; + + switch (event) { + case SWITCHDEV_PORT_ATTR_SET: + err = dsa_slave_port_attr_set(netdev, port_attr_info->attr, + port_attr_info->trans); + break; + case SWITCHDEV_PORT_ATTR_GET: + err = dsa_slave_port_attr_get(netdev, port_attr_info->attr); + break; + } + + port_attr_info->handled = true; + return notifier_from_errno(err); +} + static int dsa_slave_switchdev_blocking_event(struct notifier_block *unused, unsigned long event, void *ptr) { @@ -1570,6 +1591,9 @@ static int dsa_slave_switchdev_blocking_event(struct notifier_block *unused, case SWITCHDEV_PORT_OBJ_ADD: /* fall through */ case SWITCHDEV_PORT_OBJ_DEL: return dsa_slave_switchdev_port_obj_event(event, dev, ptr); + case SWITCHDEV_PORT_ATTR_SET: /* fallthrough */ + case SWITCHDEV_PORT_ATTR_GET: + return dsa_slave_switchdev_port_attr_event(event, dev, ptr); } return NOTIFY_DONE; From patchwork Sun Feb 10 23:40:07 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Florian Fainelli X-Patchwork-Id: 1039503 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=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="EraP5YAK"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43yQQb4gRLz9sMl for ; Mon, 11 Feb 2019 10:40:39 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727137AbfBJXkh (ORCPT ); Sun, 10 Feb 2019 18:40:37 -0500 Received: from mail-ot1-f66.google.com ([209.85.210.66]:33139 "EHLO mail-ot1-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727103AbfBJXkd (ORCPT ); Sun, 10 Feb 2019 18:40:33 -0500 Received: by mail-ot1-f66.google.com with SMTP id i20so14744451otl.0; Sun, 10 Feb 2019 15:40:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=QW8JcZ/TMANYKU0mM+jgd96HI5ojM+/g32zST3rPVL4=; b=EraP5YAK8h5d/2pqXeQRW96x6XRzWXmnS+h5AX/5bVHSdU6xiim9L7xfII7i2T0FHX mI+XeoHF70C70L67B40uICkXpQNyZPkrFBF1b4rDaJsL8FK7/3CMGWg6iph/6oj1ZCcg +hGpXTmcTJ6mernsjwrjxC+TgZTk8KVZyF/XCQSPiOLCvnNbMG4CU0WXp0Lmzjy0bXRl WW6PpLAnruZj9jznRgoZVDkqvp6MTexC3PAUxQsR+H1h7bHIZOJPbDCpytan850v1HsW 1neoTwrG3m5IMJzr5jwz1aMYkrp2nuC5A8v0RKri/xqo+kmehFpgQAH2AF0/k06o8YII UKuw== 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:mime-version:content-transfer-encoding; bh=QW8JcZ/TMANYKU0mM+jgd96HI5ojM+/g32zST3rPVL4=; b=jcyt9B29ZHlpcYWt/gt4GVrOgEnH58aYPiI0VpAVBWzVCl4X4FFMY68qO27Slgh79C m7EDMkwqRAb7sctyOO8u36f4d/0WxRk8d9A13Pu+7rdF792Wgq4qXrMR4bZvRolpItTE v/1QOhG+SiTlidAlK7OCYCasE+9jOER6Y0nouFqIft5cBnUzgjZLhA+qNrexScobkQDR xhBBB1WXqB+4wBSzGOVZrSVGr6GS05TIkMMroPykzKWDn3Y2VmUIjWvsbK4+lIqe0IP+ Gh83/duJuJyyTbPoy6XZuLvq9LxVQjwZ7CLevgY6/Q3Po4w775Tjhg4Qhb58GEMDYFwC 9enA== X-Gm-Message-State: AHQUAubxFez596EnqO0+j5IsQBFpP/tZQLPCvUR8VDuq8H5i5qLS6F// BqO8SVSanMfu7Z0nmexkrI3d78J9 X-Google-Smtp-Source: AHgI3IbyxnWY7Tzkuf+S+uccu3id6O6TeCXpc/9zIoJyNVdrI/Ynlq/w8hoANoeBEj/93sgLGBIsTA== X-Received: by 2002:a9d:6c44:: with SMTP id g4mr23347460otq.368.1549842031434; Sun, 10 Feb 2019 15:40:31 -0800 (PST) Received: from localhost.localdomain (ip68-228-73-187.oc.oc.cox.net. [68.228.73.187]) by smtp.gmail.com with ESMTPSA id v3sm4944269oib.57.2019.02.10.15.40.29 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 10 Feb 2019 15:40:30 -0800 (PST) From: Florian Fainelli To: netdev@vger.kernel.org Cc: Florian Fainelli , idosch@mellanox.com, linux-kernel@vger.kernel.org, devel@driverdev.osuosl.org, bridge@lists.linux-foundation.org, jiri@mellanox.com, andrew@lunn.ch, vivien.didelot@gmail.com Subject: [PATCH net-next v3 9/9] net: Remove switchdev_ops Date: Sun, 10 Feb 2019 15:40:07 -0800 Message-Id: <20190210234007.16173-10-f.fainelli@gmail.com> X-Mailer: git-send-email 2.19.1 In-Reply-To: <20190210234007.16173-1-f.fainelli@gmail.com> References: <20190210234007.16173-1-f.fainelli@gmail.com> MIME-Version: 1.0 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Now that we have converted all possible callers to using a switchdev notifier for attributes we do not have a need for implementing switchdev_ops anymore, and this can be removed from all drivers the net_device structure. Signed-off-by: Florian Fainelli Acked-by: Jiri Pirko --- drivers/net/ethernet/mellanox/mlxsw/spectrum.c | 12 ------------ drivers/net/ethernet/mellanox/mlxsw/spectrum.h | 2 -- .../mellanox/mlxsw/spectrum_switchdev.c | 13 ------------- drivers/net/ethernet/mscc/ocelot.c | 5 ----- drivers/net/ethernet/rocker/rocker_main.c | 6 ------ drivers/staging/fsl-dpaa2/ethsw/ethsw.c | 6 ------ include/linux/netdevice.h | 3 --- include/net/switchdev.h | 18 ------------------ net/dsa/slave.c | 6 ------ 9 files changed, 71 deletions(-) diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c index 7c9745cecbbd..619965abab43 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.c @@ -3220,7 +3220,6 @@ static int mlxsw_sp_port_create(struct mlxsw_sp *mlxsw_sp, u8 local_port, } mlxsw_sp_port->default_vlan = mlxsw_sp_port_vlan; - mlxsw_sp_port_switchdev_init(mlxsw_sp_port); mlxsw_sp->ports[local_port] = mlxsw_sp_port; err = register_netdev(dev); if (err) { @@ -3237,7 +3236,6 @@ static int mlxsw_sp_port_create(struct mlxsw_sp *mlxsw_sp, u8 local_port, err_register_netdev: mlxsw_sp->ports[local_port] = NULL; - mlxsw_sp_port_switchdev_fini(mlxsw_sp_port); mlxsw_sp_port_vlan_destroy(mlxsw_sp_port_vlan); err_port_vlan_create: err_port_pvid_set: @@ -3280,7 +3278,6 @@ static void mlxsw_sp_port_remove(struct mlxsw_sp *mlxsw_sp, u8 local_port) mlxsw_core_port_clear(mlxsw_sp->core, local_port, mlxsw_sp); unregister_netdev(mlxsw_sp_port->dev); /* This calls ndo_stop */ mlxsw_sp->ports[local_port] = NULL; - mlxsw_sp_port_switchdev_fini(mlxsw_sp_port); mlxsw_sp_port_vlan_flush(mlxsw_sp_port, true); mlxsw_sp_port_nve_fini(mlxsw_sp_port); mlxsw_sp_tc_qdisc_fini(mlxsw_sp_port); @@ -4001,12 +3998,6 @@ static int mlxsw_sp_init(struct mlxsw_core *mlxsw_core, goto err_span_init; } - err = mlxsw_sp_switchdev_init(mlxsw_sp); - if (err) { - dev_err(mlxsw_sp->bus_info->dev, "Failed to initialize switchdev\n"); - goto err_switchdev_init; - } - err = mlxsw_sp_counter_pool_init(mlxsw_sp); if (err) { dev_err(mlxsw_sp->bus_info->dev, "Failed to init counter pool\n"); @@ -4077,8 +4068,6 @@ static int mlxsw_sp_init(struct mlxsw_core *mlxsw_core, err_afa_init: mlxsw_sp_counter_pool_fini(mlxsw_sp); err_counter_pool_init: - mlxsw_sp_switchdev_fini(mlxsw_sp); -err_switchdev_init: mlxsw_sp_span_fini(mlxsw_sp); err_span_init: mlxsw_sp_lag_fini(mlxsw_sp); @@ -4141,7 +4130,6 @@ static void mlxsw_sp_fini(struct mlxsw_core *mlxsw_core) mlxsw_sp_nve_fini(mlxsw_sp); mlxsw_sp_afa_fini(mlxsw_sp); mlxsw_sp_counter_pool_fini(mlxsw_sp); - mlxsw_sp_switchdev_fini(mlxsw_sp); mlxsw_sp_span_fini(mlxsw_sp); mlxsw_sp_lag_fini(mlxsw_sp); mlxsw_sp_buffers_fini(mlxsw_sp); diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum.h b/drivers/net/ethernet/mellanox/mlxsw/spectrum.h index ceebc91f4f1d..82e3e6dc81a1 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum.h +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum.h @@ -375,8 +375,6 @@ u32 mlxsw_sp_bytes_cells(const struct mlxsw_sp *mlxsw_sp, u32 bytes); /* spectrum_switchdev.c */ int mlxsw_sp_switchdev_init(struct mlxsw_sp *mlxsw_sp); void mlxsw_sp_switchdev_fini(struct mlxsw_sp *mlxsw_sp); -void mlxsw_sp_port_switchdev_init(struct mlxsw_sp_port *mlxsw_sp_port); -void mlxsw_sp_port_switchdev_fini(struct mlxsw_sp_port *mlxsw_sp_port); int mlxsw_sp_rif_fdb_op(struct mlxsw_sp *mlxsw_sp, const char *mac, u16 fid, bool adding); void diff --git a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c index c6d7bb70e8f2..fafd582c2fdc 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c +++ b/drivers/net/ethernet/mellanox/mlxsw/spectrum_switchdev.c @@ -1957,11 +1957,6 @@ static struct mlxsw_sp_port *mlxsw_sp_lag_rep_port(struct mlxsw_sp *mlxsw_sp, return NULL; } -static const struct switchdev_ops mlxsw_sp_port_switchdev_ops = { - .switchdev_port_attr_get = mlxsw_sp_port_attr_get, - .switchdev_port_attr_set = mlxsw_sp_port_attr_set, -}; - static int mlxsw_sp_bridge_8021q_port_join(struct mlxsw_sp_bridge_device *bridge_device, struct mlxsw_sp_bridge_port *bridge_port, @@ -3576,11 +3571,3 @@ void mlxsw_sp_switchdev_fini(struct mlxsw_sp *mlxsw_sp) kfree(mlxsw_sp->bridge); } -void mlxsw_sp_port_switchdev_init(struct mlxsw_sp_port *mlxsw_sp_port) -{ - mlxsw_sp_port->dev->switchdev_ops = &mlxsw_sp_port_switchdev_ops; -} - -void mlxsw_sp_port_switchdev_fini(struct mlxsw_sp_port *mlxsw_sp_port) -{ -} diff --git a/drivers/net/ethernet/mscc/ocelot.c b/drivers/net/ethernet/mscc/ocelot.c index 850a49033a30..21c73a0355d4 100644 --- a/drivers/net/ethernet/mscc/ocelot.c +++ b/drivers/net/ethernet/mscc/ocelot.c @@ -1324,10 +1324,6 @@ static int ocelot_port_obj_del(struct net_device *dev, return ret; } -static const struct switchdev_ops ocelot_port_switchdev_ops = { - .switchdev_port_attr_set = ocelot_port_attr_set, -}; - static int ocelot_port_bridge_join(struct ocelot_port *ocelot_port, struct net_device *bridge) { @@ -1654,7 +1650,6 @@ int ocelot_probe_port(struct ocelot *ocelot, u8 port, dev->netdev_ops = &ocelot_port_netdev_ops; dev->ethtool_ops = &ocelot_ethtool_ops; - dev->switchdev_ops = &ocelot_port_switchdev_ops; dev->hw_features |= NETIF_F_HW_VLAN_CTAG_FILTER | NETIF_F_RXFCS; dev->features |= NETIF_F_HW_VLAN_CTAG_FILTER; diff --git a/drivers/net/ethernet/rocker/rocker_main.c b/drivers/net/ethernet/rocker/rocker_main.c index 591008c8fa74..16f045b06c55 100644 --- a/drivers/net/ethernet/rocker/rocker_main.c +++ b/drivers/net/ethernet/rocker/rocker_main.c @@ -2147,11 +2147,6 @@ static int rocker_port_obj_del(struct net_device *dev, return err; } -static const struct switchdev_ops rocker_port_switchdev_ops = { - .switchdev_port_attr_get = rocker_port_attr_get, - .switchdev_port_attr_set = rocker_port_attr_set, -}; - struct rocker_fib_event_work { struct work_struct work; union { @@ -2605,7 +2600,6 @@ static int rocker_probe_port(struct rocker *rocker, unsigned int port_number) rocker_port_dev_addr_init(rocker_port); dev->netdev_ops = &rocker_port_netdev_ops; dev->ethtool_ops = &rocker_port_ethtool_ops; - dev->switchdev_ops = &rocker_port_switchdev_ops; netif_tx_napi_add(dev, &rocker_port->napi_tx, rocker_port_poll_tx, NAPI_POLL_WEIGHT); netif_napi_add(dev, &rocker_port->napi_rx, rocker_port_poll_rx, diff --git a/drivers/staging/fsl-dpaa2/ethsw/ethsw.c b/drivers/staging/fsl-dpaa2/ethsw/ethsw.c index bc9e7de07200..44831990239c 100644 --- a/drivers/staging/fsl-dpaa2/ethsw/ethsw.c +++ b/drivers/staging/fsl-dpaa2/ethsw/ethsw.c @@ -932,11 +932,6 @@ static int swdev_port_obj_del(struct net_device *netdev, return err; } -static const struct switchdev_ops ethsw_port_switchdev_ops = { - .switchdev_port_attr_get = swdev_port_attr_get, - .switchdev_port_attr_set = swdev_port_attr_set, -}; - /* For the moment, only flood setting needs to be updated */ static int port_bridge_join(struct net_device *netdev, struct net_device *upper_dev) @@ -1466,7 +1461,6 @@ static int ethsw_probe_port(struct ethsw_core *ethsw, u16 port_idx) SET_NETDEV_DEV(port_netdev, dev); port_netdev->netdev_ops = ðsw_port_ops; port_netdev->ethtool_ops = ðsw_port_ethtool_ops; - port_netdev->switchdev_ops = ðsw_port_switchdev_ops; /* Set MTU limits */ port_netdev->min_mtu = ETH_MIN_MTU; diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h index 1fb733f38a47..a747456b9d23 100644 --- a/include/linux/netdevice.h +++ b/include/linux/netdevice.h @@ -1836,9 +1836,6 @@ struct net_device { #endif const struct net_device_ops *netdev_ops; const struct ethtool_ops *ethtool_ops; -#ifdef CONFIG_NET_SWITCHDEV - const struct switchdev_ops *switchdev_ops; -#endif #ifdef CONFIG_NET_L3_MASTER_DEV const struct l3mdev_ops *l3mdev_ops; #endif diff --git a/include/net/switchdev.h b/include/net/switchdev.h index b8becabbef38..e9aa920aba57 100644 --- a/include/net/switchdev.h +++ b/include/net/switchdev.h @@ -113,21 +113,6 @@ void *switchdev_trans_item_dequeue(struct switchdev_trans *trans); typedef int switchdev_obj_dump_cb_t(struct switchdev_obj *obj); -/** - * struct switchdev_ops - switchdev operations - * - * @switchdev_port_attr_get: Get a port attribute (see switchdev_attr). - * - * @switchdev_port_attr_set: Set a port attribute (see switchdev_attr). - */ -struct switchdev_ops { - int (*switchdev_port_attr_get)(struct net_device *dev, - struct switchdev_attr *attr); - int (*switchdev_port_attr_set)(struct net_device *dev, - const struct switchdev_attr *attr, - struct switchdev_trans *trans); -}; - enum switchdev_notifier_type { SWITCHDEV_FDB_ADD_TO_BRIDGE = 1, SWITCHDEV_FDB_DEL_TO_BRIDGE, @@ -229,7 +214,6 @@ int switchdev_handle_port_obj_del(struct net_device *dev, int (*del_cb)(struct net_device *dev, const struct switchdev_obj *obj)); -#define SWITCHDEV_SET_OPS(netdev, ops) ((netdev)->switchdev_ops = (ops)) #else static inline void switchdev_deferred_process(void) @@ -322,8 +306,6 @@ switchdev_handle_port_obj_del(struct net_device *dev, return 0; } -#define SWITCHDEV_SET_OPS(netdev, ops) do {} while (0) - #endif #endif /* _LINUX_SWITCHDEV_H_ */ diff --git a/net/dsa/slave.c b/net/dsa/slave.c index 2a14a38f5f93..236b6a72dba3 100644 --- a/net/dsa/slave.c +++ b/net/dsa/slave.c @@ -1057,11 +1057,6 @@ static const struct net_device_ops dsa_slave_netdev_ops = { .ndo_get_port_parent_id = dsa_slave_get_port_parent_id, }; -static const struct switchdev_ops dsa_slave_switchdev_ops = { - .switchdev_port_attr_get = dsa_slave_port_attr_get, - .switchdev_port_attr_set = dsa_slave_port_attr_set, -}; - static struct device_type dsa_type = { .name = "dsa", }; @@ -1321,7 +1316,6 @@ int dsa_slave_create(struct dsa_port *port) eth_hw_addr_inherit(slave_dev, master); slave_dev->priv_flags |= IFF_NO_QUEUE; slave_dev->netdev_ops = &dsa_slave_netdev_ops; - slave_dev->switchdev_ops = &dsa_slave_switchdev_ops; slave_dev->min_mtu = 0; slave_dev->max_mtu = ETH_MAX_MTU; SET_NETDEV_DEVTYPE(slave_dev, &dsa_type);