diff options
Diffstat (limited to 'drivers/phy/phy-core.c')
| -rw-r--r-- | drivers/phy/phy-core.c | 30 | 
1 files changed, 30 insertions, 0 deletions
| diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c index 71cb10826326..ccb575b13777 100644 --- a/drivers/phy/phy-core.c +++ b/drivers/phy/phy-core.c @@ -373,6 +373,36 @@ int phy_set_mode_ext(struct phy *phy, enum phy_mode mode, int submode)  }  EXPORT_SYMBOL_GPL(phy_set_mode_ext); +int phy_set_media(struct phy *phy, enum phy_media media) +{ +	int ret; + +	if (!phy || !phy->ops->set_media) +		return 0; + +	mutex_lock(&phy->mutex); +	ret = phy->ops->set_media(phy, media); +	mutex_unlock(&phy->mutex); + +	return ret; +} +EXPORT_SYMBOL_GPL(phy_set_media); + +int phy_set_speed(struct phy *phy, int speed) +{ +	int ret; + +	if (!phy || !phy->ops->set_speed) +		return 0; + +	mutex_lock(&phy->mutex); +	ret = phy->ops->set_speed(phy, speed); +	mutex_unlock(&phy->mutex); + +	return ret; +} +EXPORT_SYMBOL_GPL(phy_set_speed); +  int phy_reset(struct phy *phy)  {  	int ret; | 
