Netdev List
 help / color / mirror / Atom feed
* [PATCH] dt-bindings: net: convert microchip,lan78xx.txt to YAML schema
@ 2026-07-07 16:58 Mikhail Lukianchikov
  2026-07-07 18:32 ` Rob Herring (Arm)
  2026-07-08 10:56 ` Krzysztof Kozlowski
  0 siblings, 2 replies; 3+ messages in thread
From: Mikhail Lukianchikov @ 2026-07-07 16:58 UTC (permalink / raw)
  To: Andrew Lunn
  Cc: David S . Miller, Eric Dumazet, Jakub Kicinski, Paolo Abeni,
	Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Rengarajan Sundararajan, UNGLinuxDriver, netdev, devicetree,
	linux-kernel, Mikhail Lukianchikov

Convert the Microchip LAN78xx family (LAN7800, LAN7801, LAN7850) binding
documentation from plain text to DT schema format using YAML.

The conversion was validated with 'make dt_binding_check'

Signed-off-by: Mikhail Lukianchikov <avermoal@gmail.com>
---
 .../bindings/net/microchip,lan78xx.txt        |  53 --------
 .../bindings/net/microchip,lan78xx.yaml       | 113 ++++++++++++++++++
 2 files changed, 113 insertions(+), 53 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/net/microchip,lan78xx.txt
 create mode 100644 Documentation/devicetree/bindings/net/microchip,lan78xx.yaml

diff --git a/Documentation/devicetree/bindings/net/microchip,lan78xx.txt b/Documentation/devicetree/bindings/net/microchip,lan78xx.txt
deleted file mode 100644
index 11a679530ae6..000000000000
--- a/Documentation/devicetree/bindings/net/microchip,lan78xx.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-Microchip LAN78xx Gigabit Ethernet controller
-
-The LAN78XX devices are usually configured by programming their OTP or with
-an external EEPROM, but some platforms (e.g. Raspberry Pi 3 B+) have neither.
-The Device Tree properties, if present, override the OTP and EEPROM.
-
-Required properties:
-- compatible: Should be one of "usb424,7800", "usb424,7801" or "usb424,7850".
-
-The MAC address will be determined using the optional properties
-defined in ethernet.txt.
-
-Optional properties of the embedded PHY:
-- microchip,led-modes: a 0..4 element vector, with each element configuring
-  the operating mode of an LED. Omitted LEDs are turned off. Allowed values
-  are defined in "include/dt-bindings/net/microchip-lan78xx.h".
-
-Example:
-
-/* Based on the configuration for a Raspberry Pi 3 B+ */
-&usb {
-	usb-port@1 {
-		compatible = "usb424,2514";
-		reg = <1>;
-		#address-cells = <1>;
-		#size-cells = <0>;
-
-		usb-port@1 {
-			compatible = "usb424,2514";
-			reg = <1>;
-			#address-cells = <1>;
-			#size-cells = <0>;
-
-			ethernet: ethernet@1 {
-				compatible = "usb424,7800";
-				reg = <1>;
-				local-mac-address = [ 00 11 22 33 44 55 ];
-
-				mdio {
-					#address-cells = <0x1>;
-					#size-cells = <0x0>;
-					eth_phy: ethernet-phy@1 {
-						reg = <1>;
-						microchip,led-modes = <
-							LAN78XX_LINK_1000_ACTIVITY
-							LAN78XX_LINK_10_100_ACTIVITY
-						>;
-					};
-				};
-			};
-		};
-	};
-};
diff --git a/Documentation/devicetree/bindings/net/microchip,lan78xx.yaml b/Documentation/devicetree/bindings/net/microchip,lan78xx.yaml
new file mode 100644
index 000000000000..743667c1e761
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/microchip,lan78xx.yaml
@@ -0,0 +1,113 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/microchip,lan78xx.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Microchip LAN78xx Gigabit Ethernet controller
+
+maintainers:
+  - Rengarajan Sundararajan <Rengarajan.S@microchip.com>
+  - UNGLinuxDriver <UNGLinuxDriver@microchip.com>
+
+description:
+  The LAN78XX devices are usually configured by programming their OTP or with
+  an external EEPROM, but some platforms (e.g. Raspberry Pi 3 B+) have neither.
+  The Device Tree properties, if present, override the OTP and EEPROM.
+
+allOf:
+  - $ref: /schemas/usb/usb-device.yaml#
+  - $ref: /schemas/net/ethernet-controller.yaml#
+
+properties:
+  compatible:
+    enum:
+      - usb424,7800
+      - usb424,7801
+      - usb424,7850
+  reg:
+    maxItems: 1
+    description: USB port number
+  local-mac-address:
+    $ref: /schemas/types.yaml#/definitions/uint8-array
+    minItems: 6
+    maxItems: 6
+    description:
+      MAC address to use if not stored in OTP or EEPROM. If present,
+      overrides OTP/EEPROM.
+  mdio:
+    $ref: /schemas/net/mdio.yaml#
+    unevaluatedProperties: false
+
+patternProperties:
+  "^ethernet-phy(@[0-9a-f]+)?$":
+    type: object
+    description: |
+      PHY node for the embedded or external PHY. The PHY address is
+      given by the 'reg' property.
+    properties:
+      reg:
+        maxItems: 1
+        description: PHY address.
+      microchip,led-modes:
+        $ref: /schemas/types.yaml#/definitions/uint32-array
+        minItems: 1
+        maxItems: 4
+        description:
+          Array of LED mode values for each of up to 4 LEDs.
+          Omitted LEDs are turned off. Allowed values are defined
+          in include/dt-bindings/net/microchip-lan78xx.h.
+    required:
+      - reg
+    additionalProperties: false
+
+required:
+  - compatible
+  - reg
+
+unevaluatedProperties: false
+
+examples:
+  - |
+    #include <dt-bindings/net/microchip-lan78xx.h>
+    / {
+        usb: usb {
+            compatible = "usb-host";
+            #address-cells = <1>;
+            #size-cells = <0>;
+        };
+    };
+    &usb {
+        usb-port@1 {
+            compatible = "usb424,2514";
+            reg = <1>;
+            #address-cells = <1>;
+            #size-cells = <0>;
+
+            usb-port@1 {
+                compatible = "usb424,2514";
+                reg = <1>;
+                #address-cells = <1>;
+                #size-cells = <0>;
+
+                ethernet@1 {
+                    compatible = "usb424,7800";
+                    reg = <1>;
+                    local-mac-address = [00 11 22 33 44 55];
+
+                    mdio {
+                        #address-cells = <1>;
+                        #size-cells = <0>;
+                        ethernet-phy@1 {
+                            reg = <1>;
+                            microchip,led-modes = <
+                                LAN78XX_LINK_1000_ACTIVITY
+                                LAN78XX_LINK_10_100_ACTIVITY
+                            >;
+                        };
+                    };
+                };
+            };
+        };
+    };
+...
-- 
2.52.0


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] dt-bindings: net: convert microchip,lan78xx.txt to YAML schema
  2026-07-07 16:58 [PATCH] dt-bindings: net: convert microchip,lan78xx.txt to YAML schema Mikhail Lukianchikov
@ 2026-07-07 18:32 ` Rob Herring (Arm)
  2026-07-08 10:56 ` Krzysztof Kozlowski
  1 sibling, 0 replies; 3+ messages in thread
From: Rob Herring (Arm) @ 2026-07-07 18:32 UTC (permalink / raw)
  To: Mikhail Lukianchikov
  Cc: UNGLinuxDriver, Conor Dooley, devicetree, netdev,
	David S . Miller, Eric Dumazet, Krzysztof Kozlowski, linux-kernel,
	Rengarajan Sundararajan, Paolo Abeni, Jakub Kicinski, Andrew Lunn


On Tue, 07 Jul 2026 22:58:40 +0600, Mikhail Lukianchikov wrote:
> Convert the Microchip LAN78xx family (LAN7800, LAN7801, LAN7850) binding
> documentation from plain text to DT schema format using YAML.
> 
> The conversion was validated with 'make dt_binding_check'
> 
> Signed-off-by: Mikhail Lukianchikov <avermoal@gmail.com>
> ---
>  .../bindings/net/microchip,lan78xx.txt        |  53 --------
>  .../bindings/net/microchip,lan78xx.yaml       | 113 ++++++++++++++++++
>  2 files changed, 113 insertions(+), 53 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/net/microchip,lan78xx.txt
>  create mode 100644 Documentation/devicetree/bindings/net/microchip,lan78xx.yaml
> 

My bot found errors running 'make dt_binding_check' on your patch:

yamllint warnings/errors:

dtschema/dtc warnings/errors:
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/microchip,lan78xx.example.dtb: /: 'compatible' is a required property
	from schema $id: http://devicetree.org/schemas/root-node.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/microchip,lan78xx.example.dtb: /: 'model' is a required property
	from schema $id: http://devicetree.org/schemas/root-node.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/microchip,lan78xx.example.dtb: /: '#address-cells' is a required property
	from schema $id: http://devicetree.org/schemas/root-node.yaml
/builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/net/microchip,lan78xx.example.dtb: /: '#size-cells' is a required property
	from schema $id: http://devicetree.org/schemas/root-node.yaml
Documentation/devicetree/bindings/net/microchip,lan78xx.example.dtb: /usb: failed to match any schema with compatible: ['usb-host']

doc reference errors (make refcheckdocs):
Warning: MAINTAINERS references a file that doesn't exist: Documentation/devicetree/bindings/net/microchip,lan78xx.txt
MAINTAINERS: Documentation/devicetree/bindings/net/microchip,lan78xx.txt

See https://patchwork.kernel.org/project/devicetree/patch/20260707165840.107409-1-avermoal@gmail.com

The base for the series is generally the latest rc1. A different dependency
should be noted in *this* patch.

If you already ran 'make dt_binding_check' and didn't see the above
error(s), then make sure 'yamllint' is installed and dt-schema is up to
date:

pip3 install dtschema --upgrade

Please check and re-submit after running the above command yourself. Note
that DT_SCHEMA_FILES can be set to your schema file to speed up checking
your schema. However, it must be unset to test all examples with your schema.


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] dt-bindings: net: convert microchip,lan78xx.txt to YAML schema
  2026-07-07 16:58 [PATCH] dt-bindings: net: convert microchip,lan78xx.txt to YAML schema Mikhail Lukianchikov
  2026-07-07 18:32 ` Rob Herring (Arm)
@ 2026-07-08 10:56 ` Krzysztof Kozlowski
  1 sibling, 0 replies; 3+ messages in thread
From: Krzysztof Kozlowski @ 2026-07-08 10:56 UTC (permalink / raw)
  To: Mikhail Lukianchikov
  Cc: Andrew Lunn, David S . Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Rob Herring, Krzysztof Kozlowski, Conor Dooley,
	Rengarajan Sundararajan, UNGLinuxDriver, netdev, devicetree,
	linux-kernel

On Tue, Jul 07, 2026 at 10:58:40PM +0600, Mikhail Lukianchikov wrote:
> Convert the Microchip LAN78xx family (LAN7800, LAN7801, LAN7850) binding
> documentation from plain text to DT schema format using YAML.

Subject: there is no YAML schema

https://elixir.bootlin.com/linux/v7.1-rc7/source/Documentation/devicetree/bindings/submitting-patches.rst#L23

> 
> The conversion was validated with 'make dt_binding_check'

Drop, irrelevant and not even true. There is no point in writing in
commit msg that you performed the absolute minimal expected build
testing. It is expected.


> 
> Signed-off-by: Mikhail Lukianchikov <avermoal@gmail.com>

...

You left stale maintainer entry. Checkpatch told you that, no? Did you
run checkpatch?

If this is your first contribution then you need to read carefully
guidelines how to contribute and then actually follow these guidelines.
What does evry guideline speak about? Checkpatch.

> diff --git a/Documentation/devicetree/bindings/net/microchip,lan78xx.yaml b/Documentation/devicetree/bindings/net/microchip,lan78xx.yaml
> new file mode 100644
> index 000000000000..743667c1e761
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/microchip,lan78xx.yaml


microchip,lan7800.yaml

> @@ -0,0 +1,113 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/microchip,lan78xx.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Microchip LAN78xx Gigabit Ethernet controller
> +
> +maintainers:
> +  - Rengarajan Sundararajan <Rengarajan.S@microchip.com>
> +  - UNGLinuxDriver <UNGLinuxDriver@microchip.com>

Drop last email.

> +
> +description:
> +  The LAN78XX devices are usually configured by programming their OTP or with
> +  an external EEPROM, but some platforms (e.g. Raspberry Pi 3 B+) have neither.
> +  The Device Tree properties, if present, override the OTP and EEPROM.
> +
> +allOf:
> +  - $ref: /schemas/usb/usb-device.yaml#
> +  - $ref: /schemas/net/ethernet-controller.yaml#
> +
> +properties:
> +  compatible:
> +    enum:
> +      - usb424,7800
> +      - usb424,7801
> +      - usb424,7850

Odd format. Missing blank lines. Look at existing code to understand how
this is supposed to look like.

> +  reg:
> +    maxItems: 1
> +    description: USB port number
> +  local-mac-address:
> +    $ref: /schemas/types.yaml#/definitions/uint8-array
> +    minItems: 6
> +    maxItems: 6
> +    description:
> +      MAC address to use if not stored in OTP or EEPROM. If present,
> +      overrides OTP/EEPROM.
> +  mdio:
> +    $ref: /schemas/net/mdio.yaml#
> +    unevaluatedProperties: false
> +
> +patternProperties:
> +  "^ethernet-phy(@[0-9a-f]+)?$":
> +    type: object
> +    description: |
> +      PHY node for the embedded or external PHY. The PHY address is
> +      given by the 'reg' property.
> +    properties:
> +      reg:
> +        maxItems: 1
> +        description: PHY address.
> +      microchip,led-modes:
> +        $ref: /schemas/types.yaml#/definitions/uint32-array
> +        minItems: 1
> +        maxItems: 4
> +        description:
> +          Array of LED mode values for each of up to 4 LEDs.
> +          Omitted LEDs are turned off. Allowed values are defined
> +          in include/dt-bindings/net/microchip-lan78xx.h.
> +    required:
> +      - reg
> +    additionalProperties: false
> +
> +required:
> +  - compatible
> +  - reg
> +
> +unevaluatedProperties: false
> +
> +examples:
> +  - |
> +    #include <dt-bindings/net/microchip-lan78xx.h>
> +    / {
> +        usb: usb {
> +            compatible = "usb-host";
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +        };
> +    };
> +    &usb {

Drop all this, irrelevant and not even close to expected style.

> +        usb-port@1 {
> +            compatible = "usb424,2514";

Drop node

> +            reg = <1>;
> +            #address-cells = <1>;
> +            #size-cells = <0>;
> +
> +            usb-port@1 {
> +                compatible = "usb424,2514";

Drop node, not relevant to this binding.

Again, look at other bindings to understand what to write. Or read
DTS101 slides.

> +                reg = <1>;
> +                #address-cells = <1>;
> +                #size-cells = <0>;

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-07-08 10:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-07 16:58 [PATCH] dt-bindings: net: convert microchip,lan78xx.txt to YAML schema Mikhail Lukianchikov
2026-07-07 18:32 ` Rob Herring (Arm)
2026-07-08 10:56 ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox