Commit da5f6b80 authored by Russell King (Oracle)'s avatar Russell King (Oracle) Committed by Jakub Kicinski

net: phylink: remove .validate() method

The MAC .validate() method is no longer used, so remove it from the
phylink_mac_ops structure, and remove the callsite in
phylink_validate_mac_and_pcs().
Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://lore.kernel.org/r/E1qsPkF-009wij-QM@rmk-PC.armlinux.org.ukSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 2141297d
...@@ -207,11 +207,6 @@ this documentation. ...@@ -207,11 +207,6 @@ this documentation.
capabilities for ``interface`` to determine the allowable ethtool link capabilities for ``interface`` to determine the allowable ethtool link
modes. modes.
The :c:func:`validate` method should mask the supplied supported mask,
and ``state->advertising`` with the supported ethtool link modes.
These are the new ethtool link modes, so bitmask operations must be
used. For an example, see ``drivers/net/ethernet/marvell/mvneta.c``.
The :c:func:`mac_link_state` method is used to read the link state The :c:func:`mac_link_state` method is used to read the link state
from the MAC, and report back the settings that the MAC is currently from the MAC, and report back the settings that the MAC is currently
using. This is particularly important for in-band negotiation using. This is particularly important for in-band negotiation
......
...@@ -697,9 +697,6 @@ static int phylink_validate_mac_and_pcs(struct phylink *pl, ...@@ -697,9 +697,6 @@ static int phylink_validate_mac_and_pcs(struct phylink *pl,
} }
/* Then validate the link parameters with the MAC */ /* Then validate the link parameters with the MAC */
if (pl->mac_ops->validate) {
pl->mac_ops->validate(pl->config, supported, state);
} else {
if (pl->mac_ops->mac_get_caps) if (pl->mac_ops->mac_get_caps)
capabilities = pl->mac_ops->mac_get_caps(pl->config, capabilities = pl->mac_ops->mac_get_caps(pl->config,
state->interface); state->interface);
...@@ -707,7 +704,6 @@ static int phylink_validate_mac_and_pcs(struct phylink *pl, ...@@ -707,7 +704,6 @@ static int phylink_validate_mac_and_pcs(struct phylink *pl,
capabilities = pl->config->mac_capabilities; capabilities = pl->config->mac_capabilities;
phylink_validate_mask_caps(supported, state, capabilities); phylink_validate_mask_caps(supported, state, capabilities);
}
return phylink_is_empty_linkmode(supported) ? -EINVAL : 0; return phylink_is_empty_linkmode(supported) ? -EINVAL : 0;
} }
......
...@@ -227,7 +227,6 @@ void phylink_limit_mac_speed(struct phylink_config *config, u32 max_speed); ...@@ -227,7 +227,6 @@ void phylink_limit_mac_speed(struct phylink_config *config, u32 max_speed);
/** /**
* struct phylink_mac_ops - MAC operations structure. * struct phylink_mac_ops - MAC operations structure.
* @validate: Validate and update the link configuration.
* @mac_get_caps: Get MAC capabilities for interface mode. * @mac_get_caps: Get MAC capabilities for interface mode.
* @mac_select_pcs: Select a PCS for the interface mode. * @mac_select_pcs: Select a PCS for the interface mode.
* @mac_prepare: prepare for a major reconfiguration of the interface. * @mac_prepare: prepare for a major reconfiguration of the interface.
...@@ -239,9 +238,6 @@ void phylink_limit_mac_speed(struct phylink_config *config, u32 max_speed); ...@@ -239,9 +238,6 @@ void phylink_limit_mac_speed(struct phylink_config *config, u32 max_speed);
* The individual methods are described more fully below. * The individual methods are described more fully below.
*/ */
struct phylink_mac_ops { struct phylink_mac_ops {
void (*validate)(struct phylink_config *config,
unsigned long *supported,
struct phylink_link_state *state);
unsigned long (*mac_get_caps)(struct phylink_config *config, unsigned long (*mac_get_caps)(struct phylink_config *config,
phy_interface_t interface); phy_interface_t interface);
struct phylink_pcs *(*mac_select_pcs)(struct phylink_config *config, struct phylink_pcs *(*mac_select_pcs)(struct phylink_config *config,
...@@ -261,40 +257,6 @@ struct phylink_mac_ops { ...@@ -261,40 +257,6 @@ struct phylink_mac_ops {
}; };
#if 0 /* For kernel-doc purposes only. */ #if 0 /* For kernel-doc purposes only. */
/**
* validate - Validate and update the link configuration
* @config: a pointer to a &struct phylink_config.
* @supported: ethtool bitmask for supported link modes.
* @state: a pointer to a &struct phylink_link_state.
*
* Clear bits in the @supported and @state->advertising masks that
* are not supportable by the MAC.
*
* Note that the PHY may be able to transform from one connection
* technology to another, so, eg, don't clear 1000BaseX just
* because the MAC is unable to BaseX mode. This is more about
* clearing unsupported speeds and duplex settings. The port modes
* should not be cleared; phylink_set_port_modes() will help with this.
*
* When @config->supported_interfaces has been set, phylink will iterate
* over the supported interfaces to determine the full capability of the
* MAC. The validation function must not print errors if @state->interface
* is set to an unexpected value.
*
* When @config->supported_interfaces is empty, phylink will call this
* function with @state->interface set to %PHY_INTERFACE_MODE_NA, and
* expects the MAC driver to return all supported link modes.
*
* If the @state->interface mode is not supported, then the @supported
* mask must be cleared.
*
* This member is optional; if not set, the generic validator will be
* used making use of @config->mac_capabilities and
* @config->supported_interfaces to determine which link modes are
* supported.
*/
void validate(struct phylink_config *config, unsigned long *supported,
struct phylink_link_state *state);
/** /**
* mac_get_caps: Get MAC capabilities for interface mode. * mac_get_caps: Get MAC capabilities for interface mode.
* @config: a pointer to a &struct phylink_config. * @config: a pointer to a &struct phylink_config.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment