mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH net v3 0/3] net: phy: handle the active-high LED polarity mode
@ 2026-09-08 10:59 Donggeun Yoo
  2026-09-08 10:59 ` [PATCH net v3 1/3] net: phy: dp83867: " Donggeun Yoo
                   ` (4 more replies)
  0 siblings, 5 replies; 10+ messages in thread
From: Donggeun Yoo @ 2026-09-08 10:59 UTC (permalink / raw)
  To: andrew, hkallweit1, davem, edumazet, kuba, pabeni
  Cc: linux, daniel, o.rempel, netdev, linux-arm-msm, linux-kernel,
	donggeunyoo.kernel

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/

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


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-09-10 15:51 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-08 10:59 [PATCH net v3 0/3] net: phy: handle the active-high LED polarity mode Donggeun Yoo
2026-09-08 10:59 ` [PATCH net v3 1/3] net: phy: dp83867: " Donggeun Yoo
2026-09-08 14:02   ` Andrew Lunn
2026-09-08 10:59 ` [PATCH net v3 2/3] net: phy: dp83td510: " Donggeun Yoo
2026-09-08 14:06   ` Andrew Lunn
2026-09-08 10:59 ` [PATCH net v3 3/3] net: phy: qca808x: " Donggeun Yoo
2026-09-08 14:09   ` Andrew Lunn
2026-09-09 23:02   ` netdev-bot+sashiko
2026-09-10 15:20 ` [PATCH net v3 0/3] net: phy: " patchwork-bot+netdevbpf
2026-09-10 15:50 ` patchwork-bot+netdevbpf

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®