All of lore.kernel.org
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Mikhail Kshevetskiy" <mikhail.kshevetskiy@iopsys.eu>
Cc: robh@kernel.org, conor+dt@kernel.org, devicetree@vger.kernel.org
Subject: Re: [PATCH v7 32/34] dt-bindings: pinctrl: airoha: add support of en7523 pin controller
Date: Mon, 27 Jul 2026 08:06:59 +0000	[thread overview]
Message-ID: <20260727080659.946C01F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260727074234.3761170-33-mikhail.kshevetskiy@iopsys.eu>

Thank you for your contribution! Sashiko AI review found 5 potential issue(s) to consider:
- [Medium] The binding schema is missing the 'airoha,chip-scu' phandle property, which is explicitly parsed by the pinctrl driver.
- [Medium] The dt-binding example misleadingly presents the pinctrl node as a standalone top-level device, which will cause probe failure due to a missing parent regmap.
- [Medium] The 'groups' property constraints in the 'allOf' conditionals incorrectly use 'enum' instead of 'items: enum' for single-item arrays, which will cause valid device trees to fail dt-schema validation.
- [Medium] The top-level schema incorrectly uses 'additionalProperties: false' instead of 'unevaluatedProperties: false' when including a reference to 'pinctrl.yaml#'.
- [Low] The example node incorrectly assigns an integer value to the boolean property 'drive-open-drain'.
--

--- Patch [32]: [PATCH v7 32/34] dt-bindings: pinctrl: airoha: add support of en7523 pin controller ---
commit 995063565828879967b4a8fd673a347a158aa81e
Author: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>

dt-bindings: pinctrl: airoha: add support of en7523 pin controller

This patch adds device tree binding schema for Airoha EN7523 SoC pin
controller.

> diff --git a/Documentation/devicetree/bindings/pinctrl/airoha,en7523-pinctrl.yaml b/Documentation/devicetree/bindings/pinctrl/airoha,en7523-pinctrl.yaml
> new file mode 100644
> index 0000000000000..db8e39af1a152
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/pinctrl/airoha,en7523-pinctrl.yaml
> @@ -0,0 +1,375 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/pinctrl/airoha,en7523-pinctrl.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Airoha EN7523 Pin Controller
> +
> +maintainers:
> +  - Lorenzo Bianconi <lorenzo@kernel.org>
> +
> +description:
> +  The Airoha's EN7523 Pin controller is used to control SoC pins.
> +
> +properties:
> +  compatible:
> +    const: airoha,en7523-pinctrl

[Severity: Medium]
Should the airoha,chip-scu property be documented here as well?

If a device tree includes the airoha,chip-scu phandle, which the driver
specifically looks for via syscon_regmap_lookup_by_phandle(), it will fail
validation because the property is completely undocumented in this schema.

[ ... ]

> +          - if:
> +              properties:
> +                function:
> +                  const: pwm
> +            then:
> +              properties:
> +                groups:
> +                  enum: [gpio0, gpio1, gpio2, gpio3, gpio4, gpio5, gpio6,
> +                         gpio7, gpio8, gpio9, gpio10, gpio11, gpio12, gpio13,

[Severity: Medium]
Could this cause validation failures for valid device trees?

It looks like groups is constrained using enum instead of items: enum for
single-item arrays. Because device tree string-arrays are evaluated as arrays,
using enum for a scalar string expectation might cause dt_binding_check to
reject legitimate configurations like pwm or pon functions. Is this same
pattern present in the other conditionals?

[ ... ]

> +    additionalProperties: false
> +
> +additionalProperties: false

[Severity: Medium]
Will this top-level directive reject standard pinctrl properties?

Since the schema includes a reference to pinctrl.yaml# in its allOf block,
using additionalProperties: false instead of unevaluatedProperties: false
might cause the schema to reject standard properties like pinctrl-0 or
pinctrl-names on the provider node.

> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +    pinctrl {
> +      compatible = "airoha,en7523-pinctrl";

[Severity: Medium]
Would placing the pinctrl node at the top level without a parent syscon cause
probe failures?

The driver relies on device_node_to_regmap(dev->parent->of_node) during probe.
If users copy this example and place the pinctrl node directly under the root
bus, it appears the driver will fail to find the parent regmap.

[ ... ]

> +      pcie1-rst-pins {
> +        conf {
> +          pins = "pcie_reset1";
> +          drive-open-drain = <1>;

[Severity: Low]
Does assigning an integer value to drive-open-drain violate the core schema?

The core pincfg-node.yaml schema expects boolean properties to be present
without an assigned value, but the <1> assignment creates an integer array.

> +        };
> +      };

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260727074234.3761170-1-mikhail.kshevetskiy@iopsys.eu?part=32

  reply	other threads:[~2026-07-27  8:06 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-07-27  7:42 [PATCH v7 00/34] pinctrl: airoha: split on shared and SoC drivers, add more SoCs Mikhail Kshevetskiy
2026-07-27  7:42 ` [PATCH v7 01/34] dt-bindings: pinctrl: airoha: en7581: fix misprint in i2s function name Mikhail Kshevetskiy
2026-07-27  7:46   ` Lorenzo Bianconi
2026-07-27  7:50   ` sashiko-bot
2026-07-27  7:42 ` [PATCH v7 02/34] dt-bindings: pinctrl: airoha: en7581: fix pwm pin-groups Mikhail Kshevetskiy
2026-07-27  7:47   ` Lorenzo Bianconi
2026-07-27  7:42 ` [PATCH v7 03/34] dt-bindings: pinctrl: airoha: an7583: fix device tree binding schema Mikhail Kshevetskiy
2026-07-27  7:42 ` [PATCH v7 04/34] pinctrl: airoha: an7581: fix misprint in bitfield name Mikhail Kshevetskiy
2026-07-27  7:50   ` Lorenzo Bianconi
2026-07-27  7:52   ` sashiko-bot
2026-07-27  7:42 ` [PATCH v7 05/34] pinctrl: airoha: an7583: fix I2C0_SDA_PD register bit order Mikhail Kshevetskiy
2026-07-27  7:54   ` sashiko-bot
2026-07-27  7:42 ` [PATCH v7 06/34] pinctrl: airoha: an7583: there are no muxes to enable i2c buses Mikhail Kshevetskiy
2026-07-27  7:53   ` sashiko-bot
2026-07-27  7:42 ` [PATCH v7 07/34] dt-bindings: pinctrl: airoha: an7583: remove i2c pin function Mikhail Kshevetskiy
2026-07-27  7:51   ` Lorenzo Bianconi
2026-07-27  7:42 ` [PATCH v7 08/34] pinctrl: airoha: an7581: fix mux/conf of pcie_reset pins Mikhail Kshevetskiy
2026-07-27  7:55   ` sashiko-bot
2026-07-27  7:42 ` [PATCH v7 09/34] dt-bindings: pinctrl: airoha: en7581: allow configuration of pcie_reset pins as gpio or pwm Mikhail Kshevetskiy
2026-07-27  7:42 ` [PATCH v7 10/34] pinctrl: airoha: an7583: fix muxing of non-gpio default pins Mikhail Kshevetskiy
2026-07-27  7:42 ` [PATCH v7 11/34] dt-bindings: pinctrl: airoha: an7583: allow configuration of non-gpio default pins as gpio and pwm Mikhail Kshevetskiy
2026-07-27  7:42 ` [PATCH v7 12/34] pinctrl: airoha: add missed get_direction() function for gpio_chip Mikhail Kshevetskiy
2026-07-27  7:57   ` sashiko-bot
2026-07-27  8:04   ` Lorenzo Bianconi
2026-07-27  9:40     ` Mikhail Kshevetskiy
2026-07-27  9:46       ` Lorenzo Bianconi
2026-07-27  7:42 ` [PATCH v7 13/34] pinctrl: airoha: add set_direction() helper " Mikhail Kshevetskiy
2026-07-27  7:58   ` sashiko-bot
2026-07-27  8:06   ` Lorenzo Bianconi
2026-07-27  7:42 ` [PATCH v7 14/34] pinctrl: airoha: fix potential kenel panic in IRQ handling code Mikhail Kshevetskiy
2026-07-27  7:55   ` sashiko-bot
2026-07-27  8:31   ` Lorenzo Bianconi
2026-07-27  9:02     ` Mikhail Kshevetskiy
2026-07-27  7:42 ` [PATCH v7 15/34] pinctrl: airoha: fix IRQ mask/unmask code Mikhail Kshevetskiy
2026-07-27  7:59   ` sashiko-bot
2026-07-27  8:37   ` Lorenzo Bianconi
2026-07-27  7:42 ` [PATCH v7 16/34] pinctrl: airoha: add missed IRQ resource helpers Mikhail Kshevetskiy
2026-07-27  8:02   ` sashiko-bot
2026-07-27  8:34   ` Lorenzo Bianconi
2026-07-27  7:42 ` [PATCH v7 17/34] pinctrl: airoha: fix edge-triggered interrupts handling Mikhail Kshevetskiy
2026-07-27  7:59   ` sashiko-bot
2026-07-27  9:01   ` Lorenzo Bianconi
2026-07-27  7:42 ` [PATCH v7 18/34] pinctrl: airoha: remove not needed irq_type[] array Mikhail Kshevetskiy
2026-07-27  8:00   ` sashiko-bot
2026-07-27  9:03   ` Lorenzo Bianconi
2026-07-27  7:42 ` [PATCH v7 19/34] pinctrl: airoha: move common definitions to the separate header Mikhail Kshevetskiy
2026-07-27  8:04   ` sashiko-bot
2026-07-27  7:42 ` [PATCH v7 20/34] pinctrl: airoha: split driver on shared code and SoC specific drivers Mikhail Kshevetskiy
2026-07-27  8:19   ` sashiko-bot
2026-07-27  9:14   ` Lorenzo Bianconi
2026-07-27  9:23     ` Mikhail Kshevetskiy
2026-07-27  9:27       ` Lorenzo Bianconi
2026-07-27  9:28         ` Mikhail Kshevetskiy
2026-07-27 12:48           ` Lorenzo Bianconi
2026-07-27  7:42 ` [PATCH v7 21/34] pinctrl: airoha: an7581: remove en7581 prefix from variable names Mikhail Kshevetskiy
2026-07-27  7:42 ` [PATCH v7 22/34] pinctrl: airoha: an7583: remove an7583 prefix from variable names and definitions Mikhail Kshevetskiy
2026-07-27  7:42 ` [PATCH v7 23/34] pinctrl: airoha: an7583: rename registers to match its an7583 names Mikhail Kshevetskiy
2026-07-27  7:42 ` [PATCH v7 24/34] pinctrl: airoha: an7583: add support for npu_uart pinmux Mikhail Kshevetskiy
2026-07-27  8:01   ` sashiko-bot
2026-07-27  7:42 ` [PATCH v7 25/34] dt-bindings: pinctrl: airoha: an7583: add npu_uart pin group Mikhail Kshevetskiy
2026-07-27  7:42 ` [PATCH v7 26/34] pinctrl: airoha: an7583: add support for pon_alt pinmux Mikhail Kshevetskiy
2026-07-27  8:05   ` sashiko-bot
2026-07-27  7:42 ` [PATCH v7 27/34] dt-bindings: pinctrl: airoha: an7583: add pon_alt pin group Mikhail Kshevetskiy
2026-07-27  7:42 ` [PATCH v7 28/34] pinctrl: airoha: an7583: add support for olt pinmux Mikhail Kshevetskiy
2026-07-27  7:42 ` [PATCH v7 29/34] dt-bindings: pinctrl: airoha: an7583: add olt function/group Mikhail Kshevetskiy
2026-07-27  7:42 ` [PATCH v7 30/34] pinctrl: airoha: add support of en7523 SoC Mikhail Kshevetskiy
2026-07-27  8:13   ` sashiko-bot
2026-07-27  7:42 ` [PATCH v7 31/34] pinctrl: airoha: try to find chip scu node by phandle first Mikhail Kshevetskiy
2026-07-27  8:06   ` sashiko-bot
2026-07-27  7:42 ` [PATCH v7 32/34] dt-bindings: pinctrl: airoha: add support of en7523 pin controller Mikhail Kshevetskiy
2026-07-27  8:06   ` sashiko-bot [this message]
2026-07-27  7:42 ` [PATCH v7 33/34] pinctrl: airoha: add support of an7563 SoC Mikhail Kshevetskiy
2026-07-27  8:07   ` sashiko-bot
2026-07-27  7:42 ` [PATCH v7 34/34] dt-bindings: pinctrl: airoha: add support of an7563 pin controller Mikhail Kshevetskiy
2026-07-27  8:10   ` sashiko-bot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20260727080659.946C01F000E9@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=mikhail.kshevetskiy@iopsys.eu \
    --cc=robh@kernel.org \
    --cc=sashiko-reviews@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.