From patchwork Fri Dec 14 16:48:40 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Frank Wunderlich X-Patchwork-Id: 1013637 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=public-files.de Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 43Gc4B0CPXz9s4s for ; Sat, 15 Dec 2018 03:50:34 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730078AbeLNQud (ORCPT ); Fri, 14 Dec 2018 11:50:33 -0500 Received: from mout.gmx.net ([212.227.15.15]:51213 "EHLO mout.gmx.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729706AbeLNQu2 (ORCPT ); Fri, 14 Dec 2018 11:50:28 -0500 Received: from localhost.localdomain ([91.14.94.237]) by mail.gmx.com (mrgmx002 [212.227.17.190]) with ESMTPSA (Nemesis) id 0LhOSG-1hBKHI10BE-00mXcJ; Fri, 14 Dec 2018 17:49:12 +0100 From: Frank Wunderlich To: Matthias Brugger , netdev@vger.kernel.org, Sean Wang , Andrew Lunn , linux-mediatek@lists.infradead.org Cc: Frank Wunderlich Subject: [PATCH 1/8] net: dsa: adding fields for holding information about upstream-port Date: Fri, 14 Dec 2018 17:48:40 +0100 Message-Id: <20181214164847.4851-2-frank-w@public-files.de> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181214164847.4851-1-frank-w@public-files.de> References: <20181214164847.4851-1-frank-w@public-files.de> X-Provags-ID: V03:K1:ovUUBPJLPAQf2zRMjVDF1oSgXzC70FRGtdEio7Ezn9WL4B1MIlH Z0Eg+hZpJPIUECikF90RaaDoQwEsAin8BBze8SPu17MNCpEJ90FLYmqEo/Bau67RnxafXo3 VJtpsFw0AfQ8FgWxHMyqR2Jys1VTRoYzBMaypV1oWKVj+37R8HwKB8GJnxATcf/dA7HmI9W F50kYkudX0Dty+TPqhVWA== X-Spam-Flag: NO X-UI-Out-Filterresults: notjunk:1; V03:K0:UlXG/Ngdy00=:uhdWXesbzQELWQreF5vAb4 Df9DiwzWRQyxm9AFshZtP3qHOi+JZbAhJNUIydKU4F4VGZqVyXPGOo3JcS0C9+7Q0OUMFckuB x0gxVi4Zs52C3JLNM5P4/ETtBc8Zt8XOHE6IkUme+Tqd5DcUFlGqsWyPSX5K6iVi55iyW7UZU CIpe7oI0QfU15HKSoFWHjhdtnpWijOQ2Z/2VA5iZx9yGjuP4XwCF7LRsOP38W6gWCEiwLJd9i cB80l7fCYCxfy0/OAytrAlPztGBnigc9FkLkDpQtG2vlImm8XWOvXT/bkM8jRkygnXoUB23Bb ryI/T788aGilNQ+E9H76Z4m+YSK80csem2dtB1SQqYyR7CKYZmoA62FPrKEgdsqch8my+LCzv scIittNHyZb3ojAGLUrtWipwpQ2PlRDj6wSOOs5NiOAHoRismCAkfudUHHy4MGbu8TCoRZi03 pwGUCoulpndqpt1DQN6xQO0DAT1VmXG7t1W9ytvxJZmQT8oePArLa+wcH5viEwEAt4PLMz+Fb XqUzlvcAGN5E2awvlSyfj6yC+AT6I39qMbDmjkBIomYAZgTaIXUCgQ62G71BJftXVsKR3FB0P CrUHNwssieh9HkPeimK7vDiDBk10IIpPIoel9StvUmXd0gO2uuSD07UJRFbVHERXMkl7Qq9Sk 66+JtHmSkg+9ZHNut1Z/4Q5QhfUnzkfsUpbyc3hRBRX8m+2qD8kDMQIYnfhlakXv6NWQ0QF8C jgirftkVunZl5kiA3Oi0Bz31+ekkW25P657uFtue+oWNbDmxjCD54DaVFtBISV5OkouCBPmv4 xgT6rRAgNcfehQrX7uAHsSPo1jtazYfkG/RTGuncsI06RmO+dlJZrGNLR7SKB7zeXUKgmWjjV D76+fWKuU7tt9+XiOmmKg9Gu+x0gkvVH1UR5ih1a5Fuzgshhja/r+aZaAbPQiY Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org for multiple cpu-Ports aech port needs storing the the cpu-port to be used this Patch adds the needed fields for this based on https://github.com/openwrt/openwrt/blob/master/target/linux/mediatek/patches-4.14/0033-dsa-multi-cpu.patch Signed-off-by: Frank Wunderlich --- include/net/dsa.h | 4 ++++ net/dsa/dsa_priv.h | 5 +++++ 2 files changed, 9 insertions(+) diff --git a/include/net/dsa.h b/include/net/dsa.h index 23690c44e167..3efa81e08993 100644 --- a/include/net/dsa.h +++ b/include/net/dsa.h @@ -203,6 +203,10 @@ struct dsa_port { struct net_device *bridge_dev; struct devlink_port devlink_port; struct phylink *pl; + + struct net_device *ethernet; + int upstream; + /* * Original copy of the master netdev ethtool_ops */ diff --git a/net/dsa/dsa_priv.h b/net/dsa/dsa_priv.h index 9e4fd04ab53c..cc0cd7675117 100644 --- a/net/dsa/dsa_priv.h +++ b/net/dsa/dsa_priv.h @@ -81,6 +81,8 @@ struct dsa_slave_priv { /* TC context */ struct list_head mall_tc_list; + + struct net_device *master; }; /* dsa.c */ @@ -188,7 +190,10 @@ static inline struct net_device * dsa_slave_to_master(const struct net_device *dev) { struct dsa_port *dp = dsa_slave_to_port(dev); + struct dsa_slave_priv *p = netdev_priv(dev); + if (p->master) + return p->master; return dp->cpu_dp->master; }