Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4df614c4 authored by Kishon Vijay Abraham I's avatar Kishon Vijay Abraham I
Browse files

phy: core: Invoke pm_runtime_get_*/pm_runtime_put_* before invoking reset callback



PHY drivers may try to access PHY registers in the ->reset() callback.
Invoke phy_pm_runtime_get_sync() before invoking the ->reset() callback
so that the PHY drivers don't have to enable clocks by themselves before
accessing PHY registers.

Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
parent fec06b2b
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -384,10 +384,16 @@ int phy_reset(struct phy *phy)
	if (!phy || !phy->ops->reset)
		return 0;

	ret = phy_pm_runtime_get_sync(phy);
	if (ret < 0 && ret != -ENOTSUPP)
		return ret;

	mutex_lock(&phy->mutex);
	ret = phy->ops->reset(phy);
	mutex_unlock(&phy->mutex);

	phy_pm_runtime_put(phy);

	return ret;
}
EXPORT_SYMBOL_GPL(phy_reset);