Devicetree
 help / color / mirror / Atom feed
From: sashiko-bot@kernel.org
To: "Mikhail Kshevetskiy" <mikhail.kshevetskiy@iopsys.eu>
Cc: conor+dt@kernel.org, devicetree@vger.kernel.org, robh@kernel.org
Subject: Re: [PATCH v11 35/37] pinctrl: airoha: try to find chip scu node by phandle first
Date: Thu, 06 Aug 2026 22:29:09 +0000	[thread overview]
Message-ID: <20260806222909.E84B21F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260806220615.4078303-36-mikhail.kshevetskiy@iopsys.eu>

Thank you for your contribution! Sashiko AI review found 2 potential issue(s) to consider:
- [High] The fallback logic unconditionally catches all errors from syscon_regmap_lookup_by_phandle(), overwriting transient errors like -EPROBE_DEFER.
- [Low] Unnecessary use of IS_ERR_OR_NULL() for an API that exclusively returns an ERR_PTR on failure.
--

--- Patch [35]: [PATCH v11 35/37] pinctrl: airoha: try to find chip scu node by phandle first ---
commit 85429d10727580a9500263e5a9986ffdc51aa04d
Author: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>

pinctrl: airoha: try to find chip scu node by phandle first
    
The commit updates the probe function to first search for the chip scu
regmap using a phandle. It falls back to using the SoC specific compatible
string on failure.

> diff --git a/drivers/pinctrl/airoha/pinctrl-airoha.c b/drivers/pinctrl/airoha/pinctrl-airoha.c
> index 134c57a54b963..153dd825c18c4 100644
> --- a/drivers/pinctrl/airoha/pinctrl-airoha.c
> +++ b/drivers/pinctrl/airoha/pinctrl-airoha.c
> @@ -792,9 +792,12 @@ int airoha_pinctrl_probe(struct platform_device *pdev)
>  	if (IS_ERR(pinctrl->regmap))
>  		return PTR_ERR(pinctrl->regmap);
>  
> -	map = syscon_regmap_lookup_by_compatible("airoha,en7581-chip-scu");
> -	if (IS_ERR(map))
> -		return PTR_ERR(map);
> +	map = syscon_regmap_lookup_by_phandle(pdev->dev.of_node, "airoha,chip-scu");
> +	if (IS_ERR_OR_NULL(map)) {

[Severity: Low]
Does syscon_regmap_lookup_by_phandle() ever return NULL? It looks like
this API exclusively returns either a valid regmap pointer or an ERR_PTR.
Could this just use IS_ERR() instead?

[Severity: High]
Does this introduce a regression where the fallback unconditionally catches
-EPROBE_DEFER?

If syscon_regmap_lookup_by_phandle() returns -EPROBE_DEFER because the
syscon node is not yet ready, the code falls back to
syscon_regmap_lookup_by_compatible().

If the device tree uses the new phandle format and lacks the legacy
compatible string, the fallback will return -ENODEV. This overwrites the
-EPROBE_DEFER from the initial lookup and permanently aborts the probe.

Should the code explicitly check for -EPROBE_DEFER and return it before
falling back?

> +		map = syscon_regmap_lookup_by_compatible(data->chip_scu_compatible);
> +		if (IS_ERR(map))
> +			return PTR_ERR(map);
> +	}
>  
>  	pinctrl->chip_scu = map;

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

  reply	other threads:[~2026-08-06 22:29 UTC|newest]

Thread overview: 63+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-08-06 22:05 [PATCH v11 00/37] pinctrl: airoha: split on shared and SoC drivers, add more SoCs Mikhail Kshevetskiy
2026-08-06 22:05 ` [PATCH v11 01/37] dt-bindings: pinctrl: airoha: en7581: fix misprint in i2s function name Mikhail Kshevetskiy
2026-08-06 22:05 ` [PATCH v11 02/37] dt-bindings: pinctrl: airoha: an7583: fix device tree binding schema Mikhail Kshevetskiy
2026-08-06 22:05 ` [PATCH v11 03/37] pinctrl: airoha: fix mdio bitfield names Mikhail Kshevetskiy
2026-08-06 22:05 ` [PATCH v11 04/37] pinctrl: airoha: an7581: fix pinconf of i2c_scl/i2c_sda pins Mikhail Kshevetskiy
2026-08-06 22:18   ` sashiko-bot
2026-08-06 22:05 ` [PATCH v11 05/37] pinctrl: airoha: an7583: fix I2C0_SDA_PD register bit order Mikhail Kshevetskiy
2026-08-06 22:05 ` [PATCH v11 06/37] dt-bindings: pinctrl: airoha: en7581: allow configuration of pcie_reset pins as gpio or pwm Mikhail Kshevetskiy
2026-08-06 22:31   ` sashiko-bot
2026-08-06 22:05 ` [PATCH v11 07/37] pinctrl: airoha: an7581: fix mux/conf of pcie_reset pins Mikhail Kshevetskiy
2026-08-06 22:05 ` [PATCH v11 08/37] dt-bindings: pinctrl: airoha: an7583: allow configuration of non-gpio default pins as gpio and pwm Mikhail Kshevetskiy
2026-08-06 22:26   ` sashiko-bot
2026-08-06 22:05 ` [PATCH v11 09/37] pinctrl: airoha: an7583: fix muxing of non-gpio default pins Mikhail Kshevetskiy
2026-08-06 22:05 ` [PATCH v11 10/37] pinctrl: airoha: fix I2C1 pin mux config for AN7581 Mikhail Kshevetskiy
2026-08-06 22:20   ` sashiko-bot
2026-08-06 22:05 ` [PATCH v11 11/37] dt-bindings: pinctrl: airoha: an7583: add i2c0 group for i2c function Mikhail Kshevetskiy
2026-08-06 22:20   ` sashiko-bot
2026-08-06 22:05 ` [PATCH v11 12/37] pinctrl: airoha: fix I2C pin mux config for AN7583 Mikhail Kshevetskiy
2026-08-06 22:05 ` [PATCH v11 13/37] pinctrl: airoha: fix AN7583 MDIO pin mux config Mikhail Kshevetskiy
2026-08-06 22:21   ` sashiko-bot
2026-08-06 22:05 ` [PATCH v11 14/37] pinctrl: airoha: an7583: fix spi group pins Mikhail Kshevetskiy
2026-08-06 22:05 ` [PATCH v11 15/37] pinctrl: airoha: add missed get_direction() function for gpio_chip Mikhail Kshevetskiy
2026-08-06 22:05 ` [PATCH v11 16/37] pinctrl: airoha: add set_direction() helper " Mikhail Kshevetskiy
2026-08-06 22:28   ` sashiko-bot
2026-08-06 22:05 ` [PATCH v11 17/37] pinctrl: airoha: minor improvements Mikhail Kshevetskiy
2026-08-06 22:21   ` sashiko-bot
2026-08-06 22:05 ` [PATCH v11 18/37] pinctrl: airoha: fix getting gpiochip/pinctrl pointers in the IRQ handling code Mikhail Kshevetskiy
2026-08-06 22:05 ` [PATCH v11 19/37] pinctrl: airoha: add missed IRQ resource helpers Mikhail Kshevetskiy
2026-08-06 22:21   ` sashiko-bot
2026-08-06 22:05 ` [PATCH v11 20/37] pinctrl: airoha: fix IRQ mask/unmask code Mikhail Kshevetskiy
2026-08-06 22:24   ` sashiko-bot
2026-08-06 22:05 ` [PATCH v11 21/37] pinctrl: airoha: fix edge-triggered interrupts handling Mikhail Kshevetskiy
2026-08-06 22:23   ` sashiko-bot
2026-08-06 22:06 ` [PATCH v11 22/37] pinctrl: airoha: remove not needed irq_type[] array Mikhail Kshevetskiy
2026-08-06 22:06 ` [PATCH v11 23/37] pinctrl: airoha: statically allocate gpio regs structure Mikhail Kshevetskiy
2026-08-06 22:31   ` sashiko-bot
2026-08-06 22:06 ` [PATCH v11 24/37] pinctrl: airoha: move common definitions to the separate header Mikhail Kshevetskiy
2026-08-06 22:06 ` [PATCH v11 25/37] pinctrl: airoha: split driver on shared code and SoC specific drivers Mikhail Kshevetskiy
2026-08-06 22:37   ` sashiko-bot
2026-08-06 22:06 ` [PATCH v11 26/37] pinctrl: airoha: an7581: remove en7581 prefix from variable names Mikhail Kshevetskiy
2026-08-06 22:06 ` [PATCH v11 27/37] pinctrl: airoha: an7583: remove an7583 prefix from variable names and definitions Mikhail Kshevetskiy
2026-08-06 22:06 ` [PATCH v11 28/37] pinctrl: airoha: an7583: rename registers to match its an7583 names Mikhail Kshevetskiy
2026-08-06 22:06 ` [PATCH v11 29/37] dt-bindings: pinctrl: airoha: an7583: add missed features Mikhail Kshevetskiy
2026-08-06 22:26   ` sashiko-bot
2026-08-06 22:06 ` [PATCH v11 30/37] pinctrl: airoha: an7583: add support for npu_uart pinmux Mikhail Kshevetskiy
2026-08-06 22:06 ` [PATCH v11 31/37] pinctrl: airoha: an7583: add support for pon_alt pinmux Mikhail Kshevetskiy
2026-08-06 22:06 ` [PATCH v11 32/37] pinctrl: airoha: an7583: add support for olt pinmux Mikhail Kshevetskiy
2026-08-06 22:06 ` [PATCH v11 33/37] dt-bindings: pinctrl: airoha: add support of en7523 pin controller Mikhail Kshevetskiy
2026-08-06 22:34   ` sashiko-bot
2026-08-06 22:06 ` [PATCH v11 34/37] pinctrl: airoha: add support of en7523 SoC Mikhail Kshevetskiy
2026-08-06 22:33   ` sashiko-bot
2026-08-06 22:06 ` [PATCH v11 35/37] pinctrl: airoha: try to find chip scu node by phandle first Mikhail Kshevetskiy
2026-08-06 22:29   ` sashiko-bot [this message]
2026-08-06 22:06 ` [PATCH v11 36/37] dt-bindings: pinctrl: airoha: add support of an7563 pin controller Mikhail Kshevetskiy
2026-08-06 22:34   ` sashiko-bot
2026-08-06 22:06 ` [PATCH v11 37/37] pinctrl: airoha: add support of an7563 SoC Mikhail Kshevetskiy
2026-08-07 16:07 ` [PATCH v11 00/37] pinctrl: airoha: split on shared and SoC drivers, add more SoCs Linus Walleij
2026-08-07 16:17   ` Benjamin Larsson
2026-08-07 16:38   ` Mikhail Kshevetskiy
2026-08-07 17:20     ` Linus Walleij
2026-08-07 17:22       ` Mikhail Kshevetskiy
2026-08-07 18:45 ` Linus Walleij
2026-08-07 19:02   ` Mikhail Kshevetskiy

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=20260806222909.E84B21F000E9@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox