Message ID | 20250209-phy-fix-set-moe-v2-1-76e248503856@linaro.org |
---|---|
State | Accepted |
Commit | d58c04e305afbaa9dda7969151f06c4efe2c98b0 |
Headers | show |
Series | [v2] phy: core: don't require set_mode() callback for phy_get_mode() to work | expand |
On Sun, 09 Feb 2025 14:31:45 +0200, Dmitry Baryshkov wrote: > As reported by Damon Ding, the phy_get_mode() call doesn't work as > expected unless the PHY driver has a .set_mode() call. This prompts PHY > drivers to have empty stubs for .set_mode() for the sake of being able > to get the mode. > > Make .set_mode() callback truly optional and update PHY's mode even if > it there is none. > > [...] Applied, thanks! [1/1] phy: core: don't require set_mode() callback for phy_get_mode() to work commit: d58c04e305afbaa9dda7969151f06c4efe2c98b0 Best regards,
diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c index 8dfdce605a905d7f38205727151258af41f807a9..067316dfcd83a6fc8428cddd27d3b7ebfc270831 100644 --- a/drivers/phy/phy-core.c +++ b/drivers/phy/phy-core.c @@ -405,13 +405,14 @@ EXPORT_SYMBOL_GPL(phy_power_off); int phy_set_mode_ext(struct phy *phy, enum phy_mode mode, int submode) { - int ret; + int ret = 0; - if (!phy || !phy->ops->set_mode) + if (!phy) return 0; mutex_lock(&phy->mutex); - ret = phy->ops->set_mode(phy, mode, submode); + if (phy->ops->set_mode) + ret = phy->ops->set_mode(phy, mode, submode); if (!ret) phy->attrs.mode = mode; mutex_unlock(&phy->mutex);