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 34/37] pinctrl: airoha: add support of en7523 SoC
Date: Thu, 06 Aug 2026 22:33:58 +0000	[thread overview]
Message-ID: <20260806223358.E73151F000E9@smtp.kernel.org> (raw)
In-Reply-To: <20260806220615.4078303-35-mikhail.kshevetskiy@iopsys.eu>

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

New issues:
- [High] Missing open-drain configuration array causes runtime `-EINVAL` probe failures

Pre-existing issues:
- [High] Hardcoded SCU compatible string causes probe failure on EN7523
--

--- Patch [34]: [PATCH v11 34/37] pinctrl: airoha: add support of en7523 SoC ---
commit 923709aee684a9571b7d6f8e6ecdbaff7482d40d
Author: Mikhail Kshevetskiy <mikhail.kshevetskiy@iopsys.eu>

pinctrl: airoha: add support of en7523 SoC

This patch adds support of Airoha en7523 SoC pin controller.

> diff --git a/drivers/pinctrl/airoha/pinctrl-en7523.c b/drivers/pinctrl/airoha/pinctrl-en7523.c
> new file mode 100644
> index 0000000000000..91490418e9ab1
> --- /dev/null
> +++ b/drivers/pinctrl/airoha/pinctrl-en7523.c

[ ... ]

> +static const struct airoha_pinctrl_match_data pinctrl_match_data = {
> +	.pinctrl_name = KBUILD_MODNAME,
> +	.pinctrl_owner = THIS_MODULE,
> +	.pins = pinctrl_pins,
> +	.num_pins = ARRAY_SIZE(pinctrl_pins),
> +	.grps = pinctrl_groups,
> +	.num_grps = ARRAY_SIZE(pinctrl_groups),
> +	.funcs = pinctrl_funcs,
> +	.num_funcs = ARRAY_SIZE(pinctrl_funcs),
> +	.confs_info = {
> +		[AIROHA_PINCTRL_CONFS_PULLUP] = {
> +			.confs = pinctrl_pullup_conf,
> +			.num_confs = ARRAY_SIZE(pinctrl_pullup_conf),
> +		},
> +		[AIROHA_PINCTRL_CONFS_PULLDOWN] = {
> +			.confs = pinctrl_pulldown_conf,
> +			.num_confs = ARRAY_SIZE(pinctrl_pulldown_conf),
> +		},
> +		[AIROHA_PINCTRL_CONFS_DRIVE_E2] = {
> +			.confs = pinctrl_drive_e2_conf,
> +			.num_confs = ARRAY_SIZE(pinctrl_drive_e2_conf),
> +		},
> +		[AIROHA_PINCTRL_CONFS_DRIVE_E4] = {
> +			.confs = pinctrl_drive_e4_conf,
> +			.num_confs = ARRAY_SIZE(pinctrl_drive_e4_conf),
> +		},
> +	},
> +};

[Severity: High]
Does this miss the open-drain configuration array (AIROHA_PINCTRL_CONFS_PCIE_RST_OD)?

The EN7523 device tree binding explicitly defines open-drain configurations
for pcie_reset pins. If a consumer device requests open-drain configuration,
the pinctrl core will try to apply it.

Because this confs_info array omits AIROHA_PINCTRL_CONFS_PCIE_RST_OD,
airoha_pinctrl_get_conf_reg() will return NULL, causing airoha_pinctrl_set_conf()
to return -EINVAL:

drivers/pinctrl/airoha/pinctrl-airoha.c:airoha_pinctrl_set_conf() {
    ...
    reg = airoha_pinctrl_get_conf_reg(confs_info->confs,
                                      confs_info->num_confs,
                                      pin);
    if (!reg)
        return -EINVAL;
    ...
}

Since the pinctrl core treats -EINVAL as a fatal error (unlike -ENOTSUPP),
will this permanently fail the pin configuration and abort the consumer
device's probe?

[ ... ]

> +static struct platform_driver airoha_pinctrl_driver = {
> +	.probe = airoha_pinctrl_probe,
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

[Severity: High]
This isn't a bug introduced by this patch, but will this probe succeed on
EN7523?

Looking at airoha_pinctrl_probe() in pinctrl-airoha.c, the SCU compatible
string is currently hardcoded:

drivers/pinctrl/airoha/pinctrl-airoha.c:airoha_pinctrl_probe() {
    ...
    map = syscon_regmap_lookup_by_compatible("airoha,en7581-chip-scu");
    ...
}

If the EN7523 device tree correctly uses its own SCU compatible (e.g.,
"airoha,en7523-chip-scu") instead of the EN7581 string, will the lookup fail
and abort the probe for the entire SoC?

> +	.driver = {
> +		.name = "pinctrl-airoha-en7523",
> +		.of_match_table = airoha_pinctrl_of_match,
> +	},
> +};

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

  reply	other threads:[~2026-08-06 22:34 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 [this message]
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
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=20260806223358.E73151F000E9@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