From: netdev-bot+sashiko@kernel.org
To: robert.marko@sartura.hr
Cc: andrew+netdev@lunn.ch, davem@davemloft.net, edumazet@kernel.org,
kuba@kernel.org, pabeni@redhat.com, robh@kernel.org,
krzk+dt@kernel.org, conor+dt@kernel.org, lxu@maxlinear.com,
hkallweit1@gmail.com, linux@armlinux.org.uk, michael@walle.cc,
netdev@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org, lrosu@maxlinear.com,
luka.perkov@sartura.hr
Subject: Re: [PATCH net-next v2 1/5] dt-bindings: net: maxlinear: add MxL86211C VDDP supply
Date: Tue, 20 Oct 2026 13:36:18 +0000 [thread overview]
Message-ID: <179250337860.3135.8235082668261124184@kernel.org> (raw)
In-Reply-To: <20261016112033.949026-1-robert.marko@sartura.hr>
Thank you for your contribution! Sashiko AI review found 2 potential
issue(s) to consider.
Critical: 0 · High: 0 · Medium: 1 · Low: 1
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 binding defines `vddp-supply` as "Regulator supplying the
VDDP pin", which powers the MDIO/MDC/MDINT pads, and makes it…
- [Low] In Documentation/devicetree/bindings/net/maxlinear,gpy2xx.yaml,
the `else: properties: vddp-supply: false` branch (lines 35-37) can…
--
dt-bindings: net: maxlinear: add MxL86211C VDDP supply
This commit adds a vddp-supply property to the MaxLinear GPY2xx binding.
The voltage of that supply selects 1.8 V or 3.3 V for the MDIO, MDC and
MDINT pads. A top-level select restricts the schema to the MxL86211C PHY
ID, and an if/then/else makes the supply required for that PHY.
> diff --git a/Documentation/devicetree/bindings/net/maxlinear,gpy2xx.yaml b/Documentation/devicetree/bindings/net/maxlinear,gpy2xx.yaml
> index 8a3713abd1ca9..a0dfb6192d81b 100644
> --- a/Documentation/devicetree/bindings/net/maxlinear,gpy2xx.yaml
> +++ b/Documentation/devicetree/bindings/net/maxlinear,gpy2xx.yaml
> @@ -10,10 +10,38 @@ maintainers:
> - Andrew Lunn <andrew@lunn.ch>
> - Michael Walle <michael@walle.cc>
>
> +select:
> + properties:
> + compatible:
> + contains:
> + const: ethernet-phy-idc133.5400
> + required:
> + - compatible
> +
> allOf:
> - $ref: ethernet-phy.yaml#
> + - if:
> + properties:
> + compatible:
> + contains:
> + const: ethernet-phy-idc133.5400
> + required:
> + - compatible
> +
> + then:
> + required:
> + - vddp-supply
> +
> + else:
> + properties:
> + vddp-supply: false
[Severity: Low]
Can this else branch ever be evaluated?
The new top-level select applies the schema only to nodes whose
compatible contains ethernet-phy-idc133.5400. The if above tests the
same predicate, so whenever the schema runs, only the then branch runs.
No other binding references this schema. Other GPY2xx nodes are not
selected at all, so "vddp-supply: false" is never enforced for them.
The later patch in the series, "dt-bindings: net: maxlinear: add
MxL86211C lane mapping support", adds "maxlinear,lane-asp-map: false" to
this same else branch. That constraint would not be enforced either.
>
> properties:
> + vddp-supply:
> + description: |
> + Regulator supplying the VDDP pin. Its voltage configures the MDIO,
> + MDC, and MDINT pad voltage and must be either 1.8 V or 3.3 V.
> +
[Severity: Medium]
This makes vddp-supply mandatory for the MxL86211C and describes it as
the supply for the MDIO, MDC and MDINT pads. Does anything in the series
enable this supply?
The later driver patch, "net: phy: mxl-gpy: add MxL86211C VDDP supply",
does only two things with the regulator: it gets it, and it reads its
voltage.
drivers/net/phy/mxl-gpy.c:mxl86211c_probe() {
...
vddp = devm_regulator_get(dev, "vddp");
...
}
drivers/net/phy/mxl-gpy.c:mxl86211c_configure_mdio_voltage() {
...
voltage = regulator_get_voltage(vddp);
...
}
Neither function calls regulator_enable() or devm_regulator_get_enable(),
so rdev->use_count stays 0 for this rail. Take a board where VDDP can be
switched and is not marked regulator-always-on. Could
regulator_late_cleanup() turn the rail off there?
drivers/regulator/core.c:regulator_late_cleanup() {
...
if (rdev->use_count)
goto unlock;
...
}
On DT systems have_full_constraints() is true, so the rail would be
disabled and the PHY would lose power to its MDIO pads.
regulator-boot-on does not prevent this, because late cleanup only checks
always_on.
If the rail is off at boot, nothing ever turns it on. The MDIO accesses
in mxl86211c_probe() and gpy_probe() would then fail.
Other PHY drivers handle this by enabling the supply. For example,
qcom/at803x.c calls devm_regulator_get_enable_optional(..., "vddio").
Should the MxL86211C driver do the same?
The binding example uses a regulator-fixed with no GPIO, which cannot be
switched off, so the example does not show this problem.
[ ... ]
--
Sashiko AI review · https://netdev-ai.bots.linux.dev/sashiko/#/patchset/20261016112033.949026-1-robert.marko%40sartura.hr
prev parent reply other threads:[~2026-10-20 13:36 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-16 11:19 Robert Marko
2026-10-16 11:19 ` [PATCH net-next v2 2/5] net: phy: mxl-gpy: " Robert Marko
2026-10-16 21:12 ` Andrew Lunn
2026-10-20 13:36 ` netdev-bot+sashiko
2026-10-16 11:19 ` [PATCH net-next v2 3/5] net: phy: mxl-gpy: release MxL86211C Super Isolate Robert Marko
2026-10-20 13:36 ` netdev-bot+sashiko
2026-10-16 11:19 ` [PATCH net-next v2 4/5] dt-bindings: net: maxlinear: add MxL86211C lane mapping support Robert Marko
2026-10-20 13:36 ` netdev-bot+sashiko
2026-10-16 11:19 ` [PATCH net-next v2 5/5] net: phy: mxl-gpy: support MxL86211C lane mapping Robert Marko
2026-10-16 21:15 ` Andrew Lunn
2026-10-20 13:36 ` netdev-bot+sashiko
2026-10-20 13:36 ` netdev-bot+sashiko [this message]
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=179250337860.3135.8235082668261124184@kernel.org \
--to=netdev-bot+sashiko@kernel.org \
--cc=andrew+netdev@lunn.ch \
--cc=conor+dt@kernel.org \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@kernel.org \
--cc=hkallweit1@gmail.com \
--cc=krzk+dt@kernel.org \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=lrosu@maxlinear.com \
--cc=luka.perkov@sartura.hr \
--cc=lxu@maxlinear.com \
--cc=michael@walle.cc \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=robert.marko@sartura.hr \
--cc=robh@kernel.org \
/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
all inboxes | Powered by JetHome®