mirror of
https://github.com/torvalds/linux.git
synced 2024-12-11 13:41:55 +00:00
net: phy: at803x: make read_status more generic
Make read_status more generic in preparation on moving it to shared library as other PHY Family Driver will have the exact same implementation. The only specific part was a check for AR8031/33 if 1000basex was used. The check is moved to a dedicated function specific for those PHYs. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com> Reviewed-by: Simon Horman <horms@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
ea73e5ea44
commit
c34d9452d4
@ -1020,13 +1020,9 @@ static int at803x_read_specific_status(struct phy_device *phydev,
|
||||
|
||||
static int at803x_read_status(struct phy_device *phydev)
|
||||
{
|
||||
struct at803x_priv *priv = phydev->priv;
|
||||
struct at803x_ss_mask ss_mask = { 0 };
|
||||
int err, old_link = phydev->link;
|
||||
|
||||
if (priv->is_1000basex)
|
||||
return genphy_c37_read_status(phydev);
|
||||
|
||||
/* Update the link, but return if there was an error */
|
||||
err = genphy_update_link(phydev);
|
||||
if (err)
|
||||
@ -1618,6 +1614,17 @@ static int at8031_config_intr(struct phy_device *phydev)
|
||||
return at803x_config_intr(phydev);
|
||||
}
|
||||
|
||||
/* AR8031 and AR8033 share the same read status logic */
|
||||
static int at8031_read_status(struct phy_device *phydev)
|
||||
{
|
||||
struct at803x_priv *priv = phydev->priv;
|
||||
|
||||
if (priv->is_1000basex)
|
||||
return genphy_c37_read_status(phydev);
|
||||
|
||||
return at803x_read_status(phydev);
|
||||
}
|
||||
|
||||
/* AR8031 and AR8035 share the same cable test get status reg */
|
||||
static int at8031_cable_test_get_status(struct phy_device *phydev,
|
||||
bool *finished)
|
||||
@ -2281,7 +2288,7 @@ static struct phy_driver at803x_driver[] = {
|
||||
.read_page = at803x_read_page,
|
||||
.write_page = at803x_write_page,
|
||||
.get_features = at803x_get_features,
|
||||
.read_status = at803x_read_status,
|
||||
.read_status = at8031_read_status,
|
||||
.config_intr = at8031_config_intr,
|
||||
.handle_interrupt = at803x_handle_interrupt,
|
||||
.get_tunable = at803x_get_tunable,
|
||||
|
Loading…
Reference in New Issue
Block a user