Re: [PATCH v2] dt-bindings: leds: lacie,ns2-leds: Convert to DT schema
Rob Herring <[email protected]> Wed, 22 Jul 2026 08:37:29 -0500
| Newsgroups | org.kernel.vger.linux-leds,dev.linux.lists.sashiko-reviews,org.kernel.vger.linux-devicetree |
|---|---|
| Message-ID | <[email protected]> |
On Tue, Jul 21, 2026 at 07:38:49PM +0000, [email protected] wrote: > Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider: > - [Low] Using `additionalProperties` at the root level to define child nodes incorrectly restricts standard properties on the parent node, breaking device tree validation. > - [Low] The schema omits the `num-modes` property, causing `dtbs_check` failures for existing in-tree device trees. > -- > > --- Patch [1]: [PATCH v2] dt-bindings: leds: lacie,ns2-leds: Convert to DT schema --- > commit d6e2084ac319cdcc30d00614f66ec071bc9c5c1a > Author: Ninad Naik <[email protected]> > > dt-bindings: leds: lacie,ns2-leds: Convert to DT schema > > Convert the lacie,ns2-leds binding text document to a DT schema. > > > diff --git a/Documentation/devicetree/bindings/leds/lacie,ns2-leds.yaml b/Documentation/devicetree/bindings/leds/lacie,ns2-leds.yaml > > new file mode 100644 > > index 0000000000000..1976669d2218c > > --- /dev/null > > +++ b/Documentation/devicetree/bindings/leds/lacie,ns2-leds.yaml > > [ ... ] > > > +properties: > > + compatible: > > + const: lacie,ns2-leds > > + > > +additionalProperties: > > + type: object > > + $ref: common.yaml# > > + unevaluatedProperties: false > > [Severity: Low] > Does setting additionalProperties to type: object at the root level break > standard parent device tree properties like status = "okay" or pinctrl-names? > > By enforcing that any unlisted top-level property must be an object, standard > properties (which are strings or arrays) will fail validation with type > mismatch errors during make dtbs_check. > > Is it better to use patternProperties: "^led(-[0-9a-f]+)?$": for the child > nodes and set additionalProperties: false at the root instead? No. > > > + > > + description: Each child node represents a single LED > > + > > + properties: > > + cmd-gpio: > > + maxItems: 1 > > + description: GPIO connected to the command LED output > > [Severity: Low] > Will this schema omission cause dtbs_check failures for existing in-tree > device trees? > > The new schema strictly allows only documented properties via > unevaluatedProperties: false on the child nodes. However, existing in-tree > device trees contain an undocumented num-modes property: > > arch/arm/boot/dts/armada-370-seagate-nas-4bay.dts:white-sata2 { > ... > slow-gpio = <&pca9554 2 GPIO_ACTIVE_HIGH>; > num-modes = <4>; > modes-map = <NS_V2_LED_SATA 0 0 > ... > } > > Since num-modes is omitted from this new schema, validation will fail when > checking those boards. Should num-modes be added to the schema (perhaps with > deprecated: true), or removed from the DTS files as part of this patch series? This should be fixed. Rob