diff options
author | David S. Miller <davem@davemloft.net> | 2019-08-11 21:24:32 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2019-08-11 21:24:32 -0700 |
commit | d35bbe84c12e9516ed6d626ca045a92a78248be7 (patch) | |
tree | e045fbcdf75e4584c35f5d4341b276986c556f23 /include/linux/phy.h | |
parent | netdevsim: register couple of devlink params (diff) | |
parent | net: phy: realtek: add support for the 2.5Gbps PHY in RTL8125 (diff) | |
download | linux-dev-d35bbe84c12e9516ed6d626ca045a92a78248be7.tar.xz linux-dev-d35bbe84c12e9516ed6d626ca045a92a78248be7.zip |
Merge branch 'realtek-phy-next'
Heiner Kallweit says:
====================
net: phy: realtek: add support for integrated 2.5Gbps PHY in RTL8125
This series adds support for the integrated 2.5Gbps PHY in RTL8125.
First three patches add necessary functionality to phylib.
Changes in v2:
- added patch 1
- changed patch 4 to use a fake PHY ID that is injected by the
network driver. This allows to use a dedicated PHY driver.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/phy.h')
-rw-r--r-- | include/linux/phy.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/include/linux/phy.h b/include/linux/phy.h index 462b90b73f93..781f4810ceba 100644 --- a/include/linux/phy.h +++ b/include/linux/phy.h @@ -984,6 +984,8 @@ int phy_select_page(struct phy_device *phydev, int page); int phy_restore_page(struct phy_device *phydev, int oldpage, int ret); int phy_read_paged(struct phy_device *phydev, int page, u32 regnum); int phy_write_paged(struct phy_device *phydev, int page, u32 regnum, u16 val); +int phy_modify_paged_changed(struct phy_device *phydev, int page, u32 regnum, + u16 mask, u16 set); int phy_modify_paged(struct phy_device *phydev, int page, u32 regnum, u16 mask, u16 set); @@ -1069,7 +1071,7 @@ int genphy_read_abilities(struct phy_device *phydev); int genphy_setup_forced(struct phy_device *phydev); int genphy_restart_aneg(struct phy_device *phydev); int genphy_config_eee_advert(struct phy_device *phydev); -int genphy_config_aneg(struct phy_device *phydev); +int __genphy_config_aneg(struct phy_device *phydev, bool changed); int genphy_aneg_done(struct phy_device *phydev); int genphy_update_link(struct phy_device *phydev); int genphy_read_status(struct phy_device *phydev); @@ -1077,6 +1079,12 @@ int genphy_suspend(struct phy_device *phydev); int genphy_resume(struct phy_device *phydev); int genphy_loopback(struct phy_device *phydev, bool enable); int genphy_soft_reset(struct phy_device *phydev); + +static inline int genphy_config_aneg(struct phy_device *phydev) +{ + return __genphy_config_aneg(phydev, false); +} + static inline int genphy_no_soft_reset(struct phy_device *phydev) { return 0; |