[PATCH] phy: qualcomm: m31-eusb2: Make USB repeater optional

From: Abel Vesa

Date: Fri Feb 27 2026 - 12:50:37 EST


From: Wesley Cheng <wesley.cheng@xxxxxxxxxxxxxxxx>

A repeater is not required for the PHY to function. On systems with
multiple PHY instances connected to a multi-port controller, some PHYs
may be unconnected. All PHYs must still probe successfully even without
attached repeaters, otherwise the controller probe fails.

So make it optional.

Signed-off-by: Wesley Cheng <wesley.cheng@xxxxxxxxxxxxxxxx>
[abel.vesa@xxxxxxxxxxxxxxxx: commit re-worded to reflect actual reason]
Signed-off-by: Abel Vesa <abel.vesa@xxxxxxxxxxxxxxxx>
---
This has been sent initially by Wesley here:
https://lore.kernel.org/all/20250920032108.242643-10-wesley.cheng@xxxxxxxxxxxxxxxx/

This is still needed, but for a different reason, so re-worded the
commit message to reflect why.
---
drivers/phy/qualcomm/phy-qcom-m31-eusb2.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/phy/qualcomm/phy-qcom-m31-eusb2.c b/drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
index 95cd3175926d..70a81ab2482f 100644
--- a/drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
+++ b/drivers/phy/qualcomm/phy-qcom-m31-eusb2.c
@@ -285,7 +285,7 @@ static int m31eusb2_phy_probe(struct platform_device *pdev)

phy_set_drvdata(phy->phy, phy);

- phy->repeater = devm_of_phy_get_by_index(dev, dev->of_node, 0);
+ phy->repeater = devm_phy_optional_get(dev, NULL);
if (IS_ERR(phy->repeater))
return dev_err_probe(dev, PTR_ERR(phy->repeater),
"failed to get repeater\n");

---
base-commit: 3fa5e5702a82d259897bd7e209469bc06368bf31
change-id: 20260227-phy-qcom-m31-eusb2-make-repeater-optional-621c8c1c0354

Best regards,
--
Abel Vesa <abel.vesa@xxxxxxxxxxxxxxxx>