summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2021-11-27 16:05:36 +0000
committerRussell King (Oracle) <rmk+kernel@armlinux.org.uk>2022-06-21 10:57:44 +0100
commitbb07c566a5ca611cf37d0ff4e151716de9d58884 (patch)
tree998268a40654b6679828cecc69905f4685b0f97e
parentee53a122a4590d88fbe365184964666535b0ae1c (diff)
net: use phylink_mode_*() helpers
Use the phylink_mode_*() helpers in all drivers so we can change the definition of the "mode" argument. Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
-rw-r--r--drivers/net/dsa/b53/b53_common.c8
-rw-r--r--drivers/net/dsa/bcm_sf2.c2
-rw-r--r--drivers/net/dsa/mt7530.c3
-rw-r--r--drivers/net/dsa/mv88e6xxx/chip.c13
-rw-r--r--drivers/net/dsa/mv88e6xxx/port.c2
-rw-r--r--drivers/net/ethernet/cadence/macb_main.c2
-rw-r--r--drivers/net/pcs/pcs-lynx.c6
-rw-r--r--drivers/net/phy/phylink.c26
8 files changed, 32 insertions, 30 deletions
diff --git a/drivers/net/dsa/b53/b53_common.c b/drivers/net/dsa/b53/b53_common.c
index 86fa3e671b8f..26d8adee5a02 100644
--- a/drivers/net/dsa/b53/b53_common.c
+++ b/drivers/net/dsa/b53/b53_common.c
@@ -1374,10 +1374,10 @@ void b53_phylink_mac_link_down(struct dsa_switch *ds, int port,
{
struct b53_device *dev = ds->priv;
- if (mode == MLO_AN_PHY)
+ if (phylink_mode_phy(mode))
return;
- if (mode == MLO_AN_FIXED) {
+ if (phylink_mode_fixed(mode)) {
b53_force_link(dev, port, false);
return;
}
@@ -1397,10 +1397,10 @@ void b53_phylink_mac_link_up(struct dsa_switch *ds, int port,
{
struct b53_device *dev = ds->priv;
- if (mode == MLO_AN_PHY)
+ if (phylink_mode_phy(mode))
return;
- if (mode == MLO_AN_FIXED) {
+ if (phylink_mode_fixed(mode)) {
b53_force_port_config(dev, port, speed, duplex,
tx_pause, rx_pause);
b53_force_link(dev, port, true);
diff --git a/drivers/net/dsa/bcm_sf2.c b/drivers/net/dsa/bcm_sf2.c
index 2b184d2949c7..112959944bb5 100644
--- a/drivers/net/dsa/bcm_sf2.c
+++ b/drivers/net/dsa/bcm_sf2.c
@@ -923,7 +923,7 @@ static void bcm_sf2_sw_mac_link_up(struct dsa_switch *ds, int port,
core_writel(priv, reg, offset);
}
- if (mode == MLO_AN_PHY && phydev)
+ if (phylink_mode_phy(mode) && phydev)
p->eee_enabled = b53_eee_init(ds, port, phydev);
}
diff --git a/drivers/net/dsa/mt7530.c b/drivers/net/dsa/mt7530.c
index 56f41c47946b..9746f42c3762 100644
--- a/drivers/net/dsa/mt7530.c
+++ b/drivers/net/dsa/mt7530.c
@@ -2829,7 +2829,8 @@ static void mt753x_phylink_mac_link_up(struct dsa_switch *ds, int port,
mcr |= PMCR_RX_FC_EN;
}
- if (mode == MLO_AN_PHY && phydev && phy_init_eee(phydev, false) >= 0) {
+ if (phylink_mode_phy(mode) && phydev &&
+ phy_init_eee(phydev, false) >= 0) {
switch (speed) {
case SPEED_1000:
mcr |= PMCR_FORCE_EEE1G;
diff --git a/drivers/net/dsa/mv88e6xxx/chip.c b/drivers/net/dsa/mv88e6xxx/chip.c
index a12772a2bc11..a0790b9516f5 100644
--- a/drivers/net/dsa/mv88e6xxx/chip.c
+++ b/drivers/net/dsa/mv88e6xxx/chip.c
@@ -790,7 +790,7 @@ static int mv88e6xxx_mac_prepare(struct dsa_switch *ds, int port,
* is not forced down. Force the link down while we reconfigure the
* interface mode.
*/
- if (mode == MLO_AN_INBAND &&
+ if (phylink_mode_inband(mode) &&
chip->ports[port].interface != interface &&
chip->info->ops->port_set_link) {
mv88e6xxx_reg_lock(chip);
@@ -811,7 +811,7 @@ static void mv88e6xxx_mac_config(struct dsa_switch *ds, int port,
mv88e6xxx_reg_lock(chip);
- if (mode != MLO_AN_PHY || !mv88e6xxx_phy_is_internal(ds, port)) {
+ if (!phylink_mode_phy(mode) || !mv88e6xxx_phy_is_internal(ds, port)) {
err = mv88e6xxx_port_config_interface(chip, port,
state->interface);
if (err && err != -EOPNOTSUPP)
@@ -840,9 +840,10 @@ static int mv88e6xxx_mac_finish(struct dsa_switch *ds, int port,
mv88e6xxx_reg_lock(chip);
if (chip->info->ops->port_set_link &&
- ((mode == MLO_AN_INBAND &&
+ ((phylink_mode_inband(mode) &&
chip->ports[port].interface != interface) ||
- (mode == MLO_AN_PHY && mv88e6xxx_port_ppu_updates(chip, port))))
+ (phylink_mode_phy(mode) &&
+ mv88e6xxx_port_ppu_updates(chip, port))))
err = chip->info->ops->port_set_link(chip, port, LINK_UNFORCED);
mv88e6xxx_reg_unlock(chip);
@@ -867,7 +868,7 @@ static void mv88e6xxx_mac_link_down(struct dsa_switch *ds, int port,
* updated by the switch or if we are using fixed-link mode.
*/
if ((!mv88e6xxx_port_ppu_updates(chip, port) ||
- mode == MLO_AN_FIXED) && ops->port_sync_link)
+ phylink_mode_fixed(mode)) && ops->port_sync_link)
err = ops->port_sync_link(chip, port, mode, false);
if (!err && ops->port_set_speed_duplex)
@@ -898,7 +899,7 @@ static void mv88e6xxx_mac_link_up(struct dsa_switch *ds, int port,
* mode.
*/
if (!mv88e6xxx_port_ppu_updates(chip, port) ||
- mode == MLO_AN_FIXED) {
+ phylink_mode_fixed(mode)) {
if (ops->port_set_speed_duplex) {
err = ops->port_set_speed_duplex(chip, port,
speed, duplex);
diff --git a/drivers/net/dsa/mv88e6xxx/port.c b/drivers/net/dsa/mv88e6xxx/port.c
index 1824f54a06bf..2359964e0e59 100644
--- a/drivers/net/dsa/mv88e6xxx/port.c
+++ b/drivers/net/dsa/mv88e6xxx/port.c
@@ -194,7 +194,7 @@ int mv88e6185_port_sync_link(struct mv88e6xxx_chip *chip, int port, unsigned int
int err = 0;
int link;
- if (mode == MLO_AN_INBAND)
+ if (phylink_mode_inband(mode))
link = LINK_UNFORCED;
else if (isup)
link = LINK_FORCED_UP;
diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c
index 35a237a79e95..1d94a923a613 100644
--- a/drivers/net/ethernet/cadence/macb_main.c
+++ b/drivers/net/ethernet/cadence/macb_main.c
@@ -633,7 +633,7 @@ static void macb_mac_config(struct phylink_config *config, unsigned int mode,
u32 pcsctrl, old_pcsctrl;
old_pcsctrl = gem_readl(bp, PCSCNTRL);
- if (mode == MLO_AN_FIXED)
+ if (phylink_mode_fixed(mode))
pcsctrl = old_pcsctrl & ~GEM_BIT(PCSAUTONEG);
else
pcsctrl = old_pcsctrl | GEM_BIT(PCSAUTONEG);
diff --git a/drivers/net/pcs/pcs-lynx.c b/drivers/net/pcs/pcs-lynx.c
index 7d5fc7f54b2f..fa16c8149002 100644
--- a/drivers/net/pcs/pcs-lynx.c
+++ b/drivers/net/pcs/pcs-lynx.c
@@ -138,7 +138,7 @@ static int lynx_pcs_config_giga(struct mdio_device *pcs, unsigned int mode,
if_mode = 0;
} else {
if_mode = IF_MODE_SGMII_EN;
- if (mode == MLO_AN_INBAND) {
+ if (phylink_mode_inband(mode)) {
if_mode |= IF_MODE_USE_SGMII_AN;
/* Adjust link timer for SGMII */
@@ -222,7 +222,7 @@ static void lynx_pcs_link_up_sgmii(struct mdio_device *pcs, unsigned int mode,
/* The PCS needs to be configured manually only
* when not operating on in-band mode
*/
- if (mode == MLO_AN_INBAND)
+ if (phylink_mode_inband(mode))
return;
if (duplex == DUPLEX_HALF)
@@ -274,7 +274,7 @@ static void lynx_pcs_link_up_2500basex(struct mdio_device *pcs,
{
u16 if_mode = 0;
- if (mode == MLO_AN_INBAND) {
+ if (phylink_mode_inband(mode)) {
dev_err(&pcs->dev, "AN not supported for 2500BaseX\n");
return;
}
diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c
index bdadeafc6477..eaae3beec44d 100644
--- a/drivers/net/phy/phylink.c
+++ b/drivers/net/phy/phylink.c
@@ -645,7 +645,7 @@ static int phylink_parse_mode(struct phylink *pl, struct fwnode_handle *fwnode)
if ((fwnode_property_read_string(fwnode, "managed", &managed) == 0 &&
strcmp(managed, "in-band-status") == 0) ||
pl->config->ovr_an_inband) {
- if (pl->cfg_link_an_mode == MLO_AN_FIXED) {
+ if (phylink_mode_fixed(pl->cfg_link_an_mode)) {
phylink_err(pl,
"can't use both fixed-link and in-band-status\n");
return -EINVAL;
@@ -824,14 +824,14 @@ static int phylink_pcs_enable(struct phylink_pcs *pcs)
static void phylink_pcs_poll_stop(struct phylink *pl)
{
- if (pl->cfg_link_an_mode == MLO_AN_INBAND)
+ if (phylink_mode_inband(pl->cfg_link_an_mode))
del_timer(&pl->link_poll);
}
static void phylink_pcs_poll_start(struct phylink *pl)
{
if (pl->pcs && pl->pcs->poll &&
- pl->cfg_link_an_mode == MLO_AN_INBAND)
+ phylink_mode_inband(pl->cfg_link_an_mode))
mod_timer(&pl->link_poll, jiffies + HZ);
}
@@ -1359,7 +1359,7 @@ struct phylink *phylink_create(struct phylink_config *config,
return ERR_PTR(ret);
}
- if (pl->cfg_link_an_mode == MLO_AN_FIXED) {
+ if (phylink_mode_fixed(pl->cfg_link_an_mode)) {
ret = phylink_parse_fixedlink(pl, fwnode);
if (ret < 0) {
kfree(pl);
@@ -1560,8 +1560,8 @@ static int phylink_bringup_phy(struct phylink *pl, struct phy_device *phy,
static int phylink_attach_phy(struct phylink *pl, struct phy_device *phy,
phy_interface_t interface)
{
- if (WARN_ON(pl->cfg_link_an_mode == MLO_AN_FIXED ||
- (pl->cfg_link_an_mode == MLO_AN_INBAND &&
+ if (WARN_ON(phylink_mode_fixed(pl->cfg_link_an_mode) ||
+ (phylink_mode_inband(pl->cfg_link_an_mode) &&
phy_interface_mode_is_8023z(interface))))
return -EINVAL;
@@ -1647,14 +1647,14 @@ int phylink_fwnode_phy_connect(struct phylink *pl,
int ret;
/* Fixed links and 802.3z are handled without needing a PHY */
- if (pl->cfg_link_an_mode == MLO_AN_FIXED ||
- (pl->cfg_link_an_mode == MLO_AN_INBAND &&
+ if (phylink_mode_fixed(pl->cfg_link_an_mode) ||
+ (phylink_mode_inband(pl->cfg_link_an_mode) &&
phy_interface_mode_is_8023z(pl->link_interface)))
return 0;
phy_fwnode = fwnode_get_phy_node(fwnode);
if (IS_ERR(phy_fwnode)) {
- if (pl->cfg_link_an_mode == MLO_AN_PHY)
+ if (phylink_mode_phy(pl->cfg_link_an_mode))
return -ENODEV;
return 0;
}
@@ -1777,7 +1777,7 @@ void phylink_start(struct phylink *pl)
phylink_enable_and_run_resolve(pl, PHYLINK_DISABLE_STOPPED);
- if (pl->cfg_link_an_mode == MLO_AN_FIXED && pl->link_gpio) {
+ if (phylink_mode_fixed(pl->cfg_link_an_mode) && pl->link_gpio) {
int irq = gpiod_to_irq(pl->link_gpio);
if (irq > 0) {
@@ -2097,7 +2097,7 @@ int phylink_ethtool_ksettings_set(struct phylink *pl,
/* If we have a fixed link, refuse to change link parameters.
* If the link parameters match, accept them but do nothing.
*/
- if (pl->cur_link_an_mode == MLO_AN_FIXED) {
+ if (phylink_mode_fixed(pl->cur_link_an_mode)) {
if (s->speed != pl->link_config.speed ||
s->duplex != pl->link_config.duplex)
return -EINVAL;
@@ -2113,7 +2113,7 @@ int phylink_ethtool_ksettings_set(struct phylink *pl,
* is our default case) but do not allow the advertisement to
* be changed. If the advertisement matches, simply return.
*/
- if (pl->cur_link_an_mode == MLO_AN_FIXED) {
+ if (phylink_mode_fixed(pl->cur_link_an_mode)) {
if (!linkmode_equal(config.advertising,
pl->link_config.advertising))
return -EINVAL;
@@ -2253,7 +2253,7 @@ int phylink_ethtool_set_pauseparam(struct phylink *pl,
ASSERT_RTNL();
- if (pl->cur_link_an_mode == MLO_AN_FIXED)
+ if (phylink_mode_fixed(pl->cur_link_an_mode))
return -EOPNOTSUPP;
if (!phylink_test(pl->supported, Pause) &&