All of lore.kernel.org
 help / color / mirror / Atom feed
From: netdev-bot+sashiko@kernel.org
To: mkl@pengutronix.de
Cc: netdev@vger.kernel.org, davem@davemloft.net, kuba@kernel.org,
	linux-can@vger.kernel.org, kernel@pengutronix.de,
	socketcan@hartkopp.net, kurt.van.dijck@eia.be
Subject: Re: [PATCH net-next 19/37] dt-bindings: can: renesas,rcar-canfd: Document RZ/G3L SoC
Date: Fri, 16 Oct 2026 02:37:10 +0000	[thread overview]
Message-ID: <179211823035.434549.5570001472090611125@kernel.org> (raw)
In-Reply-To: <20261015015336.816543-20-mkl@pengutronix.de>

Thank you for your contribution! Sashiko AI review found 2 potential
issue(s) to consider.

Critical: 0 · High: 0 · Medium: 2 · Low: 0

If you believe none of the issues are legitimate, please reply to each
issue of Medium severity or higher and explain why the AI is wrong.
If any of them are legitimate and you plan to respin, please let patchwork
know by including "pw-bot: cr" as a separate line at the end of your reply
(one such reply per series is enough).

- [Medium] The schema does not make `resets` or `reset-names` required
  for the new RZ/G3L compatible `renesas,r9a08g046-canfd`.
- [Medium] dt-bindings: missing maxItems constraint for RZ/G3L interrupts

--

dt-bindings: can: renesas,rcar-canfd: Document RZ/G3L SoC

This adds the RZ/G3L (R9A08G046) compatible to the renesas,rcar-canfd
binding. It adds a conditional block for 11 interrupts, 2 resets and 3
channels, and puts the new compatible in the block that disallows
renesas,no-can-fd and renesas,fd-only.

Link: https://patch.msgid.link/20261001075742.21961-2-biju.das.jz@bp.renesas.com

> diff --git a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
> index 1a7a9ce45e97..4b94bc8d911b 100644
> --- a/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml
> +++ b/Documentation/devicetree/bindings/net/can/renesas,rcar-canfd.yaml

[ ... ]

> @@ -294,6 +295,25 @@ allOf:
>        patternProperties:
>          "^channel[6-7]$": false
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: renesas,r9a08g046-canfd
> +    then:
> +      properties:
> +        interrupts:
> +          minItems: 11
> +
> +        interrupt-names:
> +          minItems: 11
> +
> +        resets:
> +          minItems: 2

[Severity: Medium]
Should this block also cap interrupts and interrupt-names at 11?

The commit message says RZ/G3L has exactly 11 interrupts, but only
minItems: 11 is set here. The upper bound therefore comes from the
top-level interrupts and interrupt-names items lists. Those allow up to
20 entries to cover the six channel parts.

As a result, a renesas,r9a08g046-canfd node listing anywhere from 12 to
20 interrupts, with the matching names for channels 3 to 5, passes
dt_binding_check and dtbs_check. That is inconsistent with this same
block rejecting "^channel[3-7]$" for the SoC, since the extra
interrupts describe channels that cannot exist.

Was the intent to add maxItems: 11 next to minItems: 11 for both
interrupts and interrupt-names? That would pin the count exactly, the
way the other variant blocks bound their interrupt counts.

[Severity: Medium]
Should renesas,r9a08g046-canfd also be in the existing allOf block that
makes resets and reset-names required? Right now that block lists only the
other RZ variants:

  - if:
      properties:
        compatible:
          contains:
            enum:
              - renesas,r9a08g045-canfd
              - renesas,r9a09g047-canfd
              - renesas,rzg2l-canfd
    then:
      required:
        - resets
        - reset-names

The minItems: 2 constraint above only applies when resets is present. The
top-level required list has neither resets nor reset-names. As a result,
an RZ/G3L canfd node with no resets passes dt_binding_check and
dtbs_check.

The driver will not catch the mistake either. rcar_canfd_probe() gets both
resets as optional:

	gpriv->rstc1 = devm_reset_control_get_optional_exclusive(dev, "rstp_n");
	...
	gpriv->rstc2 = devm_reset_control_get_optional_exclusive(dev, "rstc_n");

If the DT leaves out the reset lines, both handles come back NULL. Probe
still succeeds, but the controller is never explicitly taken out of reset.

This is still the case at the end of the series. The required-resets enum
does not include r9a08g046, even after "can: rcar_canfd: Add support for
Renesas RZ/G3L" adds the driver match entry.

> +
> +      patternProperties:
> +        "^channel[3-7]$": false
> +

[ ... ]

-- 
Sashiko AI review · https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20261015015336.816543-2-mkl%40pengutronix.de

  parent reply	other threads:[~2026-10-16  2:37 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-15  1:39 [PATCH net-next 0/37] pull-request: can-next 2026-10-15 Marc Kleine-Budde
2026-10-15  1:39 ` [PATCH net-next 01/37] can: dev: can_dropped_invalid_skb: drop CAN XL frames on non-CAN XL devices Marc Kleine-Budde
2026-10-15  1:57   ` netdev-bot+sinfo
2026-10-16  8:25     ` Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 02/37] can: raw: remove redundant NULL check before netdev_hold() Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 03/37] can: replace ARPHRD_CAN type checks with can_get_ml_priv() Marc Kleine-Budde
2026-10-16  2:37   ` netdev-bot+sashiko
2026-10-16  8:42     ` Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 04/37] can: proc: reset pkg_stats atomics individually Marc Kleine-Budde
2026-10-16  1:54   ` sashiko-bot
2026-10-16  2:37   ` netdev-bot+sashiko
2026-10-15  1:40 ` [PATCH net-next 05/37] can: proc: remove pointers from CAN specific proc output Marc Kleine-Budde
2026-10-16  2:37   ` netdev-bot+sashiko
2026-10-15  1:40 ` [PATCH net-next 06/37] can: isotp: check the frame type, not just the length Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 07/37] can: isotp: fix filter removal race between release and netns change Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 08/37] can: bcm: " Marc Kleine-Budde
2026-10-16  2:37   ` netdev-bot+sashiko
2026-10-16  8:51     ` Oliver Hartkopp
2026-10-15  1:40 ` [PATCH net-next 09/37] can: raw: take rtnl_lock() before leaving the notifier list Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 10/37] can: skb: make echo skb freeing safe in any IRQ context Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 11/37] dt-bindings: can: renesas,rcar-canfd: Document RZ/G3S SoC Marc Kleine-Budde
2026-10-16  2:37   ` netdev-bot+sashiko
2026-10-15  1:40 ` [PATCH net-next 12/37] can: skb: make CAN skb allocation failure paths IRQ-safe Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 13/37] can: rcar_canfd: Fix typos in macro names Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 14/37] can: dev: can_put_echo_skb(): free skb on invalid echo index Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 15/37] can: rcar_canfd: Allow the CAN FD clock to be sourced from fck Marc Kleine-Budde
2026-10-16  1:54   ` sashiko-bot
2026-10-16  2:37   ` netdev-bot+sashiko
2026-10-15  1:40 ` [PATCH net-next 16/37] can: rcar_canfd: Do not set registers selecting the CAN mode Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 17/37] can: rcar_canfd: Add support for Renesas RZ/G3S Marc Kleine-Budde
2026-10-16  1:54   ` sashiko-bot
2026-10-16  2:37   ` netdev-bot+sashiko
2026-10-15  1:40 ` [PATCH net-next 18/37] dt-bindings: can: renesas,rcar-canfd: Restrict resets in top-level Marc Kleine-Budde
2026-10-16  2:37   ` netdev-bot+sashiko
2026-10-15  1:40 ` [PATCH net-next 19/37] dt-bindings: can: renesas,rcar-canfd: Document RZ/G3L SoC Marc Kleine-Budde
2026-10-16  1:54   ` sashiko-bot
2026-10-16  2:37   ` netdev-bot+sashiko [this message]
2026-10-15  1:40 ` [PATCH net-next 20/37] can: rcar_canfd: Derive max_channels from the device tree Marc Kleine-Budde
2026-10-16  2:37   ` netdev-bot+sashiko
2026-10-15  1:40 ` [PATCH net-next 21/37] dt-bindings: net: can: convert grcan to DT schema Marc Kleine-Budde
2026-10-16  2:37   ` netdev-bot+sashiko
2026-10-15  1:40 ` [PATCH net-next 22/37] can: rcar_canfd: Add support for Renesas RZ/G3L Marc Kleine-Budde
2026-10-16  2:37   ` netdev-bot+sashiko
2026-10-15  1:40 ` [PATCH net-next 23/37] can: grcan: update the binding file reference in the driver comment Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 24/37] can: remove Softing CANcard driver Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 25/37] can: Convert to DEFINE_SIMPLE_DEV_PM_OPS() Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 26/37] can: cc770: don't discard the IRQ lookup error in probe Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 27/37] can: cc770: fix the clock divider check on the platform bus Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 28/37] can: ems_usb: use usb_kill_urb() to stop the intr URB Marc Kleine-Budde
2026-10-16  2:37   ` netdev-bot+sashiko
2026-10-15  1:40 ` [PATCH net-next 29/37] can: esd: acc_start_xmit(): avoid use-after-free of skb after can_put_echo_skb() Marc Kleine-Budde
2026-10-16  1:54   ` sashiko-bot
2026-10-15  1:40 ` [PATCH net-next 30/37] can: flexcan: flexcan_setup_stop_mode_gpr: fix OF node reference leak Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 31/37] can: kvaser_usb: refactor endpoint lookup Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 32/37] can: kvaser_usb: validate command format before parsing in hydra receive path Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 33/37] can: kvaser_pciefd: fix use-after-free in bec poll timer Marc Kleine-Budde
2026-10-16  1:54   ` sashiko-bot
2026-10-15  1:40 ` [PATCH net-next 34/37] can: mcp251xfd: mcp251xfd_probe(): reject devices without match data Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 35/37] can: sun4i_can: sun4ican_probe(): fix clk leak Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 36/37] can: ucan: fix repeated word 'is' in comment Marc Kleine-Budde
2026-10-15  1:40 ` [PATCH net-next 37/37] can: xilinx_can: set CAN FD flags on received frames Marc Kleine-Budde

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=179211823035.434549.5570001472090611125@kernel.org \
    --to=netdev-bot+sashiko@kernel.org \
    --cc=davem@davemloft.net \
    --cc=kernel@pengutronix.de \
    --cc=kuba@kernel.org \
    --cc=kurt.van.dijck@eia.be \
    --cc=linux-can@vger.kernel.org \
    --cc=mkl@pengutronix.de \
    --cc=netdev@vger.kernel.org \
    --cc=socketcan@hartkopp.net \
    /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.