From patchwork Thu Jan 27 10:49:03 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleksij Rempel X-Patchwork-Id: 537198 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 67358C433EF for ; Thu, 27 Jan 2022 10:49:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239702AbiA0KtX (ORCPT ); Thu, 27 Jan 2022 05:49:23 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53732 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239673AbiA0KtT (ORCPT ); Thu, 27 Jan 2022 05:49:19 -0500 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7FB58C061755 for ; Thu, 27 Jan 2022 02:49:19 -0800 (PST) Received: from dude.hi.pengutronix.de ([2001:67c:670:100:1d::7]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nD2Kz-0007kl-3I; Thu, 27 Jan 2022 11:49:09 +0100 Received: from ore by dude.hi.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1nD2Kx-003lz6-J3; Thu, 27 Jan 2022 11:49:07 +0100 From: Oleksij Rempel To: Oliver Neukum , "David S. Miller" , Jakub Kicinski , Rob Herring Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, netdev@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH net-next v1 2/4] dt-bindings: net: add schema for Microchip/SMSC LAN95xx USB Ethernet controllers Date: Thu, 27 Jan 2022 11:49:03 +0100 Message-Id: <20220127104905.899341-3-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220127104905.899341-1-o.rempel@pengutronix.de> References: <20220127104905.899341-1-o.rempel@pengutronix.de> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::7 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: devicetree@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Create initial schema for Microchip/SMSC LAN95xx USB Ethernet controllers and import all currently supported USB IDs form drivers/net/usb/smsc95xx.c Signed-off-by: Oleksij Rempel --- .../bindings/net/microchip,lan95xx.yaml | 82 +++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 Documentation/devicetree/bindings/net/microchip,lan95xx.yaml diff --git a/Documentation/devicetree/bindings/net/microchip,lan95xx.yaml b/Documentation/devicetree/bindings/net/microchip,lan95xx.yaml new file mode 100644 index 000000000000..b185c7068a8a --- /dev/null +++ b/Documentation/devicetree/bindings/net/microchip,lan95xx.yaml @@ -0,0 +1,82 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/microchip,lan95xx.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: The device tree bindings for the USB Ethernet controllers + +maintainers: + - Oleksij Rempel + +description: | + Device tree properties for hard wired SMSC95xx compatible USB Ethernet + controller. + +allOf: + - $ref: ethernet-controller.yaml# + +properties: + compatible: + items: + - enum: + - usb424,9500 # SMSC9500 USB Ethernet Device + - usb424,9505 # SMSC9505 USB Ethernet Device + - usb424,9530 # SMSC LAN9530 USB Ethernet Device + - usb424,9730 # SMSC LAN9730 USB Ethernet Device + - usb424,9900 # SMSC9500 USB Ethernet Device (SAL10) + - usb424,9901 # SMSC9505 USB Ethernet Device (SAL10) + - usb424,9902 # SMSC9500A USB Ethernet Device (SAL10) + - usb424,9903 # SMSC9505A USB Ethernet Device (SAL10) + - usb424,9904 # SMSC9512/9514 USB Hub & Ethernet Device (SAL10) + - usb424,9905 # SMSC9500A USB Ethernet Device (HAL) + - usb424,9906 # SMSC9505A USB Ethernet Device (HAL) + - usb424,9907 # SMSC9500 USB Ethernet Device (Alternate ID) + - usb424,9908 # SMSC9500A USB Ethernet Device (Alternate ID) + - usb424,9909 # SMSC9512/9514 USB Hub & Ethernet Devic. ID) + - usb424,9e00 # SMSC9500A USB Ethernet Device + - usb424,9e01 # SMSC9505A USB Ethernet Device + - usb424,9e08 # SMSC LAN89530 USB Ethernet Device + - usb424,ec00 # SMSC9512/9514 USB Hub & Ethernet Device + + reg: true + local-mac-address: true + mac-address: true + +required: + - compatible + - reg + +additionalProperties: false + +examples: + - | + usb@11270000 { + reg = <0x11270000 0x1000>; + #address-cells = <1>; + #size-cells = <0>; + + ethernet@1 { + compatible = "usb424,ec00"; + reg = <1>; + local-mac-address = [00 00 00 00 00 00]; + }; + }; + - | + usb@11270000 { + reg = <0x11270000 0x1000>; + #address-cells = <1>; + #size-cells = <0>; + + usb1@1 { + compatible = "usb424,9514"; + reg = <1>; + #address-cells = <1>; + #size-cells = <0>; + + ethernet@1 { + compatible = "usb424,ec00"; + reg = <1>; + }; + }; + }; From patchwork Thu Jan 27 10:49:04 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleksij Rempel X-Patchwork-Id: 537199 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 52403C43219 for ; Thu, 27 Jan 2022 10:49:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239683AbiA0KtW (ORCPT ); Thu, 27 Jan 2022 05:49:22 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53746 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239667AbiA0KtT (ORCPT ); Thu, 27 Jan 2022 05:49:19 -0500 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 9FFE2C061714 for ; Thu, 27 Jan 2022 02:49:18 -0800 (PST) Received: from dude.hi.pengutronix.de ([2001:67c:670:100:1d::7]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nD2Kz-0007km-2z; Thu, 27 Jan 2022 11:49:09 +0100 Received: from ore by dude.hi.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1nD2Kx-003lzF-Mn; Thu, 27 Jan 2022 11:49:07 +0100 From: Oleksij Rempel To: Oliver Neukum , "David S. Miller" , Jakub Kicinski , Rob Herring Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, netdev@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH net-next v1 3/4] dt-bindings: net: add "label" property for all usbnet Ethernet controllers Date: Thu, 27 Jan 2022 11:49:04 +0100 Message-Id: <20220127104905.899341-4-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220127104905.899341-1-o.rempel@pengutronix.de> References: <20220127104905.899341-1-o.rempel@pengutronix.de> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::7 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: devicetree@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org For hard wired Ethernet controllers it is helpful to assign name related to port description on the board. Or name, related to the special internal function, if the USB ethernet controller attached to the CPU port of some DSA switch. This patch provides documentation for "label" property, reusable for all usbnet controllers. Signed-off-by: Oleksij Rempel --- .../devicetree/bindings/net/asix,ax88178.yaml | 4 ++- .../bindings/net/microchip,lan95xx.yaml | 4 ++- .../devicetree/bindings/net/usbnet.yaml | 36 +++++++++++++++++++ 3 files changed, 42 insertions(+), 2 deletions(-) create mode 100644 Documentation/devicetree/bindings/net/usbnet.yaml diff --git a/Documentation/devicetree/bindings/net/asix,ax88178.yaml b/Documentation/devicetree/bindings/net/asix,ax88178.yaml index 74b6806006e3..c8ad767a2e45 100644 --- a/Documentation/devicetree/bindings/net/asix,ax88178.yaml +++ b/Documentation/devicetree/bindings/net/asix,ax88178.yaml @@ -13,7 +13,7 @@ description: | Device tree properties for hard wired USB Ethernet devices. allOf: - - $ref: ethernet-controller.yaml# + - $ref: usbnet.yaml# properties: compatible: @@ -58,6 +58,7 @@ properties: - usb6189,182d # Sitecom LN-029 reg: true + label: true local-mac-address: true mac-address: true @@ -77,6 +78,7 @@ examples: ethernet@1 { compatible = "usbdb0,a877"; reg = <1>; + label = "LAN0"; local-mac-address = [00 00 00 00 00 00]; }; }; diff --git a/Documentation/devicetree/bindings/net/microchip,lan95xx.yaml b/Documentation/devicetree/bindings/net/microchip,lan95xx.yaml index b185c7068a8a..259879bba3a0 100644 --- a/Documentation/devicetree/bindings/net/microchip,lan95xx.yaml +++ b/Documentation/devicetree/bindings/net/microchip,lan95xx.yaml @@ -14,7 +14,7 @@ description: | controller. allOf: - - $ref: ethernet-controller.yaml# + - $ref: usbnet.yaml# properties: compatible: @@ -40,6 +40,7 @@ properties: - usb424,ec00 # SMSC9512/9514 USB Hub & Ethernet Device reg: true + label: true local-mac-address: true mac-address: true @@ -59,6 +60,7 @@ examples: ethernet@1 { compatible = "usb424,ec00"; reg = <1>; + label = "LAN0"; local-mac-address = [00 00 00 00 00 00]; }; }; diff --git a/Documentation/devicetree/bindings/net/usbnet.yaml b/Documentation/devicetree/bindings/net/usbnet.yaml new file mode 100644 index 000000000000..fe0848433263 --- /dev/null +++ b/Documentation/devicetree/bindings/net/usbnet.yaml @@ -0,0 +1,36 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/net/usbnet.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: The device tree bindings for the USB Ethernet controllers + +maintainers: + - Oleksij Rempel + +description: | + Device tree properties for hard wired USB Ethernet devices. + +allOf: + - $ref: ethernet-controller.yaml# + +properties: + compatible: true + + reg: + description: Port number + + label: + description: + Describes the label associated with this port, which will become + the netdev name + $ref: /schemas/types.yaml#/definitions/string + +required: + - compatible + - reg + +additionalProperties: true + +... From patchwork Thu Jan 27 10:49:05 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Oleksij Rempel X-Patchwork-Id: 537197 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C28F2C433EF for ; Thu, 27 Jan 2022 10:49:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S239680AbiA0Kt3 (ORCPT ); Thu, 27 Jan 2022 05:49:29 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53748 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S239668AbiA0KtT (ORCPT ); Thu, 27 Jan 2022 05:49:19 -0500 Received: from metis.ext.pengutronix.de (metis.ext.pengutronix.de [IPv6:2001:67c:670:201:290:27ff:fe1d:cc33]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E23E3C06173B for ; Thu, 27 Jan 2022 02:49:18 -0800 (PST) Received: from dude.hi.pengutronix.de ([2001:67c:670:100:1d::7]) by metis.ext.pengutronix.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nD2Kz-0007ko-3G; Thu, 27 Jan 2022 11:49:09 +0100 Received: from ore by dude.hi.pengutronix.de with local (Exim 4.94.2) (envelope-from ) id 1nD2Kx-003lzO-RJ; Thu, 27 Jan 2022 11:49:07 +0100 From: Oleksij Rempel To: Oliver Neukum , "David S. Miller" , Jakub Kicinski , Rob Herring Cc: Oleksij Rempel , kernel@pengutronix.de, linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org, netdev@vger.kernel.org, devicetree@vger.kernel.org Subject: [PATCH net-next v1 4/4] usbnet: add support for label from device tree Date: Thu, 27 Jan 2022 11:49:05 +0100 Message-Id: <20220127104905.899341-5-o.rempel@pengutronix.de> X-Mailer: git-send-email 2.30.2 In-Reply-To: <20220127104905.899341-1-o.rempel@pengutronix.de> References: <20220127104905.899341-1-o.rempel@pengutronix.de> MIME-Version: 1.0 X-SA-Exim-Connect-IP: 2001:67c:670:100:1d::7 X-SA-Exim-Mail-From: ore@pengutronix.de X-SA-Exim-Scanned: No (on metis.ext.pengutronix.de); SAEximRunCond expanded to false X-PTX-Original-Recipient: devicetree@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Similar to the option to set a netdev name in device tree for switch ports by using the property "label" in the DSA framework, this patch adds this functionality to the usbnet infrastructure. This will help to name the interfaces properly throughout supported devices. This provides stable interface names which are useful especially in embedded use cases. Signed-off-by: Oleksij Rempel --- drivers/net/usb/usbnet.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c index 9a6450f796dc..3fdca0cfda88 100644 --- a/drivers/net/usb/usbnet.c +++ b/drivers/net/usb/usbnet.c @@ -33,6 +33,7 @@ #include #include #include +#include /*-------------------------------------------------------------------------*/ @@ -1762,6 +1763,20 @@ usbnet_probe (struct usb_interface *udev, const struct usb_device_id *prod) if ((dev->driver_info->flags & FLAG_WWAN) != 0) strscpy(net->name, "wwan%d", sizeof(net->name)); + if (IS_ENABLED(CONFIG_OF)) { + const char *label = NULL; + + /* try reading label from device tree node */ + if (xdev->dev.of_node) + label = of_get_property(xdev->dev.of_node, + "label", NULL); + if (label) { + strscpy(net->name, label, sizeof(net->name)); + dev_info(&udev->dev, "netdev name from dt: %s\n", + net->name); + } + } + /* devices that cannot do ARP */ if ((dev->driver_info->flags & FLAG_NOARP) != 0) net->flags |= IFF_NOARP;