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
next prev parent 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 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.