diff options
Diffstat (limited to 'drivers/net/phy')
| -rw-r--r-- | drivers/net/phy/mdio-gpio.c | 10 | ||||
| -rw-r--r-- | drivers/net/phy/mscc.c | 14 | 
2 files changed, 10 insertions, 14 deletions
| diff --git a/drivers/net/phy/mdio-gpio.c b/drivers/net/phy/mdio-gpio.c index 33265747bf39..0fbcedcdf6e2 100644 --- a/drivers/net/phy/mdio-gpio.c +++ b/drivers/net/phy/mdio-gpio.c @@ -63,7 +63,7 @@ static void mdio_dir(struct mdiobb_ctrl *ctrl, int dir)  		 * assume the pin serves as pull-up. If direction is  		 * output, the default value is high.  		 */ -		gpiod_set_value(bitbang->mdo, 1); +		gpiod_set_value_cansleep(bitbang->mdo, 1);  		return;  	} @@ -78,7 +78,7 @@ static int mdio_get(struct mdiobb_ctrl *ctrl)  	struct mdio_gpio_info *bitbang =  		container_of(ctrl, struct mdio_gpio_info, ctrl); -	return gpiod_get_value(bitbang->mdio); +	return gpiod_get_value_cansleep(bitbang->mdio);  }  static void mdio_set(struct mdiobb_ctrl *ctrl, int what) @@ -87,9 +87,9 @@ static void mdio_set(struct mdiobb_ctrl *ctrl, int what)  		container_of(ctrl, struct mdio_gpio_info, ctrl);  	if (bitbang->mdo) -		gpiod_set_value(bitbang->mdo, what); +		gpiod_set_value_cansleep(bitbang->mdo, what);  	else -		gpiod_set_value(bitbang->mdio, what); +		gpiod_set_value_cansleep(bitbang->mdio, what);  }  static void mdc_set(struct mdiobb_ctrl *ctrl, int what) @@ -97,7 +97,7 @@ static void mdc_set(struct mdiobb_ctrl *ctrl, int what)  	struct mdio_gpio_info *bitbang =  		container_of(ctrl, struct mdio_gpio_info, ctrl); -	gpiod_set_value(bitbang->mdc, what); +	gpiod_set_value_cansleep(bitbang->mdc, what);  }  static const struct mdiobb_ops mdio_gpio_ops = { diff --git a/drivers/net/phy/mscc.c b/drivers/net/phy/mscc.c index a2e59f4f6f01..7cae17517744 100644 --- a/drivers/net/phy/mscc.c +++ b/drivers/net/phy/mscc.c @@ -810,17 +810,13 @@ static int vsc85xx_default_config(struct phy_device *phydev)  	phydev->mdix_ctrl = ETH_TP_MDI_AUTO;  	mutex_lock(&phydev->lock); -	rc = phy_select_page(phydev, MSCC_PHY_PAGE_EXTENDED_2); -	if (rc < 0) -		goto out_unlock; -	reg_val = phy_read(phydev, MSCC_PHY_RGMII_CNTL); -	reg_val &= ~(RGMII_RX_CLK_DELAY_MASK); -	reg_val |= (RGMII_RX_CLK_DELAY_1_1_NS << RGMII_RX_CLK_DELAY_POS); -	phy_write(phydev, MSCC_PHY_RGMII_CNTL, reg_val); +	reg_val = RGMII_RX_CLK_DELAY_1_1_NS << RGMII_RX_CLK_DELAY_POS; + +	rc = phy_modify_paged(phydev, MSCC_PHY_PAGE_EXTENDED_2, +			      MSCC_PHY_RGMII_CNTL, RGMII_RX_CLK_DELAY_MASK, +			      reg_val); -out_unlock: -	rc = phy_restore_page(phydev, rc, rc > 0 ? 0 : rc);  	mutex_unlock(&phydev->lock);  	return rc; | 
