diff options
author | Russell King (Oracle) <rmk+kernel@armlinux.org.uk> | 2021-11-27 16:28:48 +0000 |
---|---|---|
committer | Russell King (Oracle) <rmk+kernel@armlinux.org.uk> | 2024-04-16 16:51:14 +0100 |
commit | 3fbe8a68eb009866166574820b3e05c5ad12b5e6 (patch) | |
tree | 0a703dec2879a30941f60a3019a18871a1f46924 | |
parent | 2d84339bad1a19ac4b8c2f617e2e964d28fa2d35 (diff) |
net: phylink: pass mode into pcs_validate()
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
-rw-r--r-- | drivers/net/phy/phylink.c | 3 | ||||
-rw-r--r-- | include/linux/phylink.h | 8 |
2 files changed, 7 insertions, 4 deletions
diff --git a/drivers/net/phy/phylink.c b/drivers/net/phy/phylink.c index 3f0ed915cc3d..182f2fa95707 100644 --- a/drivers/net/phy/phylink.c +++ b/drivers/net/phy/phylink.c @@ -681,7 +681,8 @@ static int phylink_validate_mac_and_pcs(struct phylink *pl, unsigned int mode, /* Validate the link parameters with the PCS */ if (pcs->ops->pcs_validate) { - ret = pcs->ops->pcs_validate(pcs, supported, state); + ret = pcs->ops->pcs_validate(pcs, mode, supported, + state); if (ret < 0 || phylink_is_empty_linkmode(supported)) return -EINVAL; diff --git a/include/linux/phylink.h b/include/linux/phylink.h index 40324cdb4353..8664b3442a3a 100644 --- a/include/linux/phylink.h +++ b/include/linux/phylink.h @@ -472,7 +472,8 @@ struct phylink_pcs { * (where necessary). */ struct phylink_pcs_ops { - int (*pcs_validate)(struct phylink_pcs *pcs, unsigned long *supported, + int (*pcs_validate)(struct phylink_pcs *pcs, unsigned int mode, + unsigned long *supported, const struct phylink_link_state *state); unsigned int (*pcs_query_inband)(struct phylink_pcs *pcs, phy_interface_t interface); @@ -497,6 +498,7 @@ struct phylink_pcs_ops { /** * pcs_validate() - validate the link configuration. * @pcs: a pointer to a &struct phylink_pcs. + * @mode: link autonegotiation mode * @supported: ethtool bitmask for supported link modes. * @state: a const pointer to a &struct phylink_link_state. * @@ -508,8 +510,8 @@ struct phylink_pcs_ops { * Returns -EINVAL if the interface mode/autoneg mode is not supported. * Returns non-zero positive if the link state can be supported. */ -int pcs_validate(struct phylink_pcs *pcs, unsigned long *supported, - const struct phylink_link_state *state); +int pcs_validate(struct phylink_pcs *pcs, unsigned int mode, + unsigned long *supported, struct phylink_link_state *state); /** * pcs_query_inband - query inband support for interface mode. |