[PATCH net v3 0/3] net: phy: handle the active-high LED polarity mode
From: Donggeun Yoo <hidden>
Date: 2026-09-08 11:00:07
Also in:
linux-arm-msm, lkml
Commit a274465cc3be ("net: phy: support 'active-high' property for PHY
LEDs") let a device tree LED node request PHY_LED_ACTIVE_HIGH, but a
->led_polarity_set() that only handles PHY_LED_ACTIVE_LOW returns -EINVAL
for it. of_phy_leds() propagates that, phy_probe() fails, the mdio device
is left unbound, and phy_attach_direct() falls back to the genphy driver,
so the PHY loses its driver-specific configuration. Three in-tree drivers
still have that gap; each already programs active high as its default, so
the fix is one case label per driver.
Unlike commit eb89c79c1b8f ("net: phy: mxl-gpy: correctly describe LED
polarity") and commit 9d55e68b19f2 ("net: phy: aquantia: correctly
describe LED polarity override"), which restructured their callbacks to
fix inverted polarity, these three program active high correctly at reset
and only lack the case label, so each fix is a single case label.
The three drivers take different Fixes: tags. dp83867 and qca808x had
their LED callbacks before a274465cc3be and should have been updated by
it, so they point at that commit. dp83td510 gained its callback later and
was born rejecting active high, so it points at its own introducing commit.
Compile tested only; I have no affected hardware. The failure path was
traced by inspection through of_phy_led(), of_phy_leds(), phy_probe() and
phy_attach_direct().
Changes in v3:
- Cc: stable on all three, and state the observable consequence (fall back
to genphy, driver configuration lost) rather than only "phy_probe fails".
- Drop the mxl-gpy/aquantia reference from patch 1; contrast the two at the
series level here instead.
Changes in v2:
- Add dp83td510 and qca808x, so the a274465cc3be regression class is
fully closed.
- Link: https://lore.kernel.org/all/20260903022839.4006614-1-donggeunyoo.kernel@gmail.com/ (local)
Donggeun Yoo (3):
net: phy: dp83867: handle the active-high LED polarity mode
net: phy: dp83td510: handle the active-high LED polarity mode
net: phy: qca808x: handle the active-high LED polarity mode
drivers/net/phy/dp83867.c | 3 +++
drivers/net/phy/dp83td510.c | 3 +++
drivers/net/phy/qcom/qca808x.c | 3 +++
3 files changed, 9 insertions(+)
--
2.53.0