Skip to content

Commit

Permalink
net: phy: add __set_linkmode_max_speed
Browse files Browse the repository at this point in the history
We will need the functionality of __set_linkmode_max_speed also for
linkmode bitmaps other than phydev->supported. Therefore split it.

v2:
- remove unused parameter from __set_linkmode_max_speed

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
  • Loading branch information
Heiner Kallweit authored and Jakub Kicinski committed Aug 14, 2019
1 parent 043b841 commit 7b261e0
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions drivers/net/phy/phy-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -207,21 +207,26 @@ size_t phy_speeds(unsigned int *speeds, size_t size,
return count;
}

static int __set_phy_supported(struct phy_device *phydev, u32 max_speed)
static int __set_linkmode_max_speed(u32 max_speed, unsigned long *addr)
{
const struct phy_setting *p;
int i;

for (i = 0, p = settings; i < ARRAY_SIZE(settings); i++, p++) {
if (p->speed > max_speed)
linkmode_clear_bit(p->bit, phydev->supported);
linkmode_clear_bit(p->bit, addr);
else
break;
}

return 0;
}

static int __set_phy_supported(struct phy_device *phydev, u32 max_speed)
{
return __set_linkmode_max_speed(max_speed, phydev->supported);
}

int phy_set_max_speed(struct phy_device *phydev, u32 max_speed)
{
int err;
Expand Down

0 comments on commit 7b261e0

Please sign in to comment.