From patchwork Sun Jun 13 14:58:59 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Reto Schneider X-Patchwork-Id: 460030 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI, SPF_HELO_NONE, SPF_PASS, USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 7F640C48BDF for ; Sun, 13 Jun 2021 14:59:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4A9DE610E6 for ; Sun, 13 Jun 2021 14:59:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231782AbhFMPBi (ORCPT ); Sun, 13 Jun 2021 11:01:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33474 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231755AbhFMPBi (ORCPT ); Sun, 13 Jun 2021 11:01:38 -0400 Received: from mxout014.mail.hostpoint.ch (mxout014.mail.hostpoint.ch [IPv6:2a00:d70:0:e::314]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A4852C061574; Sun, 13 Jun 2021 07:59:36 -0700 (PDT) Received: from [10.0.2.46] (helo=asmtp013.mail.hostpoint.ch) by mxout014.mail.hostpoint.ch with esmtp (Exim 4.94.2 (FreeBSD)) (envelope-from ) id 1lsRaG-000KbX-II; Sun, 13 Jun 2021 16:59:32 +0200 Received: from [2a02:168:6182:1:d747:8127:5b7a:4266] (helo=eleanor.home.reto-schneider.ch) by asmtp013.mail.hostpoint.ch with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2 (FreeBSD)) (envelope-from ) id 1lsRaG-00020T-Fa; Sun, 13 Jun 2021 16:59:32 +0200 X-Authenticated-Sender-Id: reto-schneider@reto-schneider.ch From: Reto Schneider To: devicetree@vger.kernel.org, linux-mediatek@lists.infradead.org, netdev@vger.kernel.org Cc: Stefan Roese , Reto Schneider , "David S. Miller" , Jakub Kicinski , Matthias Brugger , Rob Herring , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 1/2] dt-bindings: net: mediatek: Support custom ifname Date: Sun, 13 Jun 2021 16:58:59 +0200 Message-Id: <20210613145859.1774246-1-code@reto-schneider.ch> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210613115820.1525478-1-code@reto-schneider.ch> References: <20210613115820.1525478-1-code@reto-schneider.ch> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Reto Schneider The (optional) label property allows to specify customized interfaces names. The motivation behind this change is to allow embedded devices to keep their first switch port be named "eth0", even when switching to the DSA architecture. In order to do so, it must be possible to name the MAC interface differently from eth0. Signed-off-by: Reto Schneider --- (no changes since v1) Documentation/devicetree/bindings/net/mediatek-net.txt | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/Documentation/devicetree/bindings/net/mediatek-net.txt b/Documentation/devicetree/bindings/net/mediatek-net.txt index 72d03e07cf7c..93e35f239a0a 100644 --- a/Documentation/devicetree/bindings/net/mediatek-net.txt +++ b/Documentation/devicetree/bindings/net/mediatek-net.txt @@ -51,6 +51,9 @@ Required properties: is equal to 0 and the MAC uses fixed-link to connect with internal switch such as MT7530. +Optional properties: +- label: Name of interface, defaults to ethX if missing + Example: eth: ethernet@1b100000 { @@ -76,6 +79,7 @@ eth: ethernet@1b100000 { compatible = "mediatek,eth-mac"; reg = <0>; phy-handle = <&phy0>; + label = "mac1"; }; gmac2: mac@1 { From patchwork Sun Jun 13 14:59:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Reto Schneider X-Patchwork-Id: 459593 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-16.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0EAE9C48BCF for ; Sun, 13 Jun 2021 14:59:56 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E625A61357 for ; Sun, 13 Jun 2021 14:59:55 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231924AbhFMPBy (ORCPT ); Sun, 13 Jun 2021 11:01:54 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33538 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231755AbhFMPBx (ORCPT ); Sun, 13 Jun 2021 11:01:53 -0400 Received: from mxout012.mail.hostpoint.ch (mxout012.mail.hostpoint.ch [IPv6:2a00:d70:0:e::312]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5BE47C061574; Sun, 13 Jun 2021 07:59:52 -0700 (PDT) Received: from [10.0.2.46] (helo=asmtp013.mail.hostpoint.ch) by mxout012.mail.hostpoint.ch with esmtp (Exim 4.94.2 (FreeBSD)) (envelope-from ) id 1lsRaV-000AWg-EJ; Sun, 13 Jun 2021 16:59:47 +0200 Received: from [2a02:168:6182:1:d747:8127:5b7a:4266] (helo=eleanor.home.reto-schneider.ch) by asmtp013.mail.hostpoint.ch with esmtpsa (TLS1.3) tls TLS_AES_256_GCM_SHA384 (Exim 4.94.2 (FreeBSD)) (envelope-from ) id 1lsRaV-00020T-BT; Sun, 13 Jun 2021 16:59:47 +0200 X-Authenticated-Sender-Id: reto-schneider@reto-schneider.ch From: Reto Schneider To: devicetree@vger.kernel.org, linux-mediatek@lists.infradead.org, netdev@vger.kernel.org Cc: Stefan Roese , Reto Schneider , "David S. Miller" , Felix Fietkau , Jakub Kicinski , John Crispin , Mark Lee , Matthias Brugger , Russell King , Sean Wang , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH v2 2/2] net: ethernet: mtk_eth_soc: Support custom ifname Date: Sun, 13 Jun 2021 16:59:01 +0200 Message-Id: <20210613145859.1774246-2-code@reto-schneider.ch> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20210613115820.1525478-1-code@reto-schneider.ch> References: <20210613115820.1525478-1-code@reto-schneider.ch> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org From: Reto Schneider Name the MAC interface name according to the label property. If the property is missing, the default name (ethX) gets used. Labels with more than IFNAMSIZ -1 characters will be truncated silently, which seems to be what most of the code base does when using strscpy. Signed-off-by: Reto Schneider --- Changes in v2: - Avoid dangerous usage of strncpy drivers/net/ethernet/mediatek/mtk_eth_soc.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/net/ethernet/mediatek/mtk_eth_soc.c b/drivers/net/ethernet/mediatek/mtk_eth_soc.c index 64adfd24e134..a921ecc1c997 100644 --- a/drivers/net/ethernet/mediatek/mtk_eth_soc.c +++ b/drivers/net/ethernet/mediatek/mtk_eth_soc.c @@ -2948,6 +2948,7 @@ static const struct net_device_ops mtk_netdev_ops = { static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np) { const __be32 *_id = of_get_property(np, "reg", NULL); + const char *const name = of_get_property(np, "label", NULL); phy_interface_t phy_mode; struct phylink *phylink; struct mtk_mac *mac; @@ -3020,6 +3021,9 @@ static int mtk_add_mac(struct mtk_eth *eth, struct device_node *np) mac->phylink = phylink; + if (name) + strscpy(eth->netdev[id]->name, name, IFNAMSIZ); + SET_NETDEV_DEV(eth->netdev[id], eth->dev); eth->netdev[id]->watchdog_timeo = 5 * HZ; eth->netdev[id]->netdev_ops = &mtk_netdev_ops;