Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Dumitru Ceclan" <dumitru.ceclan@analog.com>
Cc: devicetree@vger.kernel.org, robh@kernel.org,
	media-ci@linuxtv.org, conor+dt@kernel.org
Subject: Re: [PATCH v16 02/22] dt-bindings: media: i2c: max96717: add support for I2C ATR
Date: Mon, 31 Aug 2026 13:35:51 +0000	[thread overview]
Message-ID: <20260831133552.2DC141F00A3D@smtp.kernel.org> (raw)
In-Reply-To: <20260831-gmsl2-3_serdes-v16-2-4fa6e08bb514@analog.com>

Thank you for your contribution! Sashiko AI review found 3 potential issue(s) to consider:
- [High] Incorrect usage of `items` inside `reg` constraints for the `i2c@[01]` nodes, breaking validation.
- [Medium] The `i2c-atr` node fails to require `#address-cells` and `#size-cells`.
- [Low] The `anyOf` schema block for mutually exclusive properties is logically redundant and unnecessarily complex.
--

commit 1d618fec079831fd8bd91f81cfc0fb4aaa69293f
Author: Cosmin Tanislav <demonsingur@gmail.com>

dt-bindings: media: i2c: max96717: add support for I2C ATR

This commit adds I2C Address Translator (ATR) support to the MAX96717 
bindings. It introduces new properties for `i2c-atr` and `i2c-alias-pool` 
while maintaining compatibility with the existing `i2c-gate` approach.

> diff --git a/Documentation/devicetree/bindings/media/i2c/maxim,max96717.yaml b/Documentation/devicetree/bindings/media/i2c/maxim,max96717.yaml
> index d1e8ba6e368ec..976f6dd2c164c 100644
> --- a/Documentation/devicetree/bindings/media/i2c/maxim,max96717.yaml
> +++ b/Documentation/devicetree/bindings/media/i2c/maxim,max96717.yaml
> @@ -91,6 +91,30 @@ properties:
>        incoming GMSL2 link. Therefore, it supports an i2c-gate
>        subnode to configure a sensor.
>  
> +  i2c-alias-pool:
> +    maxItems: 2
> +
> +  i2c-atr:
> +    type: object
> +    additionalProperties: false
> +
> +    properties:
> +      '#address-cells':
> +        const: 1
> +
> +      '#size-cells':
> +        const: 0

[Severity: Medium]
Does this node need to mandate `#address-cells` and `#size-cells` in a
`required` block?

Since the `i2c-atr` subnode expects addressable children (`^i2c@[01]$`),
this typically mandates the presence of `#address-cells` and `#size-cells`
on the parent node. Although the schema restricts their values, omitting
them from the `required` list could allow structurally invalid device tree
nodes missing these properties to pass validation silently.

> +
> +    patternProperties:
> +      '^i2c@[01]$':
> +        $ref: /schemas/i2c/i2c-controller.yaml#
> +        unevaluatedProperties: false
> +        properties:
> +          reg:
> +            items:
> +              minimum: 0
> +              maximum: 1

[Severity: High]
Are these `minimum` and `maximum` constraints placed correctly?

In `dt-schema`, the `reg` property is parsed as a `uint32-matrix` (an array
of tuples). By nesting `minimum` and `maximum` inside `items`, the schema
attempts to apply numeric constraints to the inner arrays (the tuples)
rather than their scalar values. In JSON Schema, numeric constraints applied
to arrays are silently ignored, which means invalid `reg` values like
`reg = <5>` will silently pass validation.

[ ... ]

> +allOf:
> +  - $ref: /schemas/i2c/i2c-atr.yaml#
> +
> +  - anyOf:
> +      - oneOf:
> +          - required: [i2c-atr]
> +          - required: [i2c-gate]
> +
> +      - not:
> +          required: [i2c-atr, i2c-gate]

[Severity: Low]
Is this `oneOf` branch logically redundant?

The `not` branch evaluates to true whenever at most one of the properties is
present, which entirely subsumes the `oneOf` branch (which evaluates to true
when exactly one is present). Because the `not` branch covers valid
configurations on its own, the `oneOf` branch appears to be unused and could
unnecessarily complicate the schema.

> +
> +dependentRequired:
> +  i2c-atr: [i2c-alias-pool]
> +  i2c-alias-pool: [i2c-atr]

-- 
Sashiko AI review · https://sashiko.dev/#/patchset/20260831-gmsl2-3_serdes-v16-0-4fa6e08bb514@analog.com?part=2

  reply	other threads:[~2026-08-31 13:35 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-31 13:21 [PATCH v16 00/22] media: i2c: add Maxim GMSL2/3 serializer and deserializer drivers Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` [PATCH v16 01/22] media: mc: Add INTERNAL pad flag Dumitru Ceclan via B4 Relay
2026-08-31 13:30   ` sashiko-bot
2026-08-31 13:21 ` [PATCH v16 02/22] dt-bindings: media: i2c: max96717: add support for I2C ATR Dumitru Ceclan via B4 Relay
2026-08-31 13:35   ` sashiko-bot [this message]
2026-08-31 13:21 ` [PATCH v16 03/22] dt-bindings: media: i2c: max96717: add support for pinctrl/pinconf Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` [PATCH v16 04/22] dt-bindings: media: i2c: max96717: add support for MAX9295A Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` [PATCH v16 05/22] dt-bindings: media: i2c: max96717: add support for MAX96793 Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` [PATCH v16 06/22] dt-bindings: media: i2c: max96712: use pattern properties for ports Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` [PATCH v16 07/22] dt-bindings: media: i2c: max96712: add support for I2C ATR Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` [PATCH v16 08/22] dt-bindings: media: i2c: max96712: add support for POC supplies Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` [PATCH v16 09/22] dt-bindings: media: i2c: max96712: add support for MAX96724F/R Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` [PATCH v16 10/22] dt-bindings: media: i2c: max96712: add control-channel-port property Dumitru Ceclan via B4 Relay
2026-08-31 13:35   ` sashiko-bot
2026-08-31 13:21 ` [PATCH v16 11/22] dt-bindings: media: i2c: max96714: add support for MAX96714R Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` [PATCH v16 12/22] dt-bindings: media: i2c: add MAX9296A, MAX96716A, MAX96792A Dumitru Ceclan via B4 Relay
2026-08-31 13:36   ` sashiko-bot
2026-08-31 13:21 ` [PATCH v16 13/22] media: i2c: add Maxim GMSL2/3 serializer and deserializer framework Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` [PATCH v16 14/22] media: i2c: add Maxim GMSL2/3 serializer framework Dumitru Ceclan via B4 Relay
2026-08-31 13:47   ` sashiko-bot
2026-08-31 13:21 ` [PATCH v16 15/22] media: i2c: add Maxim GMSL2/3 deserializer framework Dumitru Ceclan via B4 Relay
2026-08-31 13:47   ` sashiko-bot
2026-08-31 13:21 ` [PATCH v16 16/22] media: i2c: remove MAX96717 driver Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` [PATCH v16 17/22] media: i2c: maxim-serdes: add " Dumitru Ceclan via B4 Relay
2026-08-31 13:49   ` sashiko-bot
2026-08-31 13:21 ` [PATCH v16 18/22] arm64: defconfig: disable deprecated MAX96712 driver Dumitru Ceclan via B4 Relay
2026-08-31 13:43   ` sashiko-bot
2026-08-31 13:21 ` [PATCH v16 19/22] staging: media: remove " Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` [PATCH v16 20/22] media: i2c: maxim-serdes: add MAX96724 driver Dumitru Ceclan via B4 Relay
2026-08-31 13:56   ` sashiko-bot
2026-08-31 13:21 ` [PATCH v16 21/22] media: i2c: remove MAX96714 driver Dumitru Ceclan via B4 Relay
2026-08-31 13:21 ` [PATCH v16 22/22] media: i2c: maxim-serdes: add MAX9296A driver Dumitru Ceclan via B4 Relay
2026-08-31 17:03 ` [PATCH v16 00/22] media: i2c: add Maxim GMSL2/3 serializer and deserializer drivers Niklas Söderlund
2026-09-01  7:39   ` Ceclan Dumitru
2026-09-01  7:43     ` Tomi Valkeinen
2026-09-02  8:37       ` Niklas Söderlund
2026-09-02  9:57         ` Tomi Valkeinen
2026-09-04  8:51 ` Sakari Ailus
2026-09-04  8:55 ` Tomi Valkeinen
2026-09-04  9:06   ` Niklas Söderlund

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=20260831133552.2DC141F00A3D@smtp.kernel.org \
    --to=sashiko-bot@kernel.org \
    --cc=conor+dt@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=dumitru.ceclan@analog.com \
    --cc=media-ci@linuxtv.org \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox