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: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://lore.kernel.org/r/E1qsPkF-009wij-QM@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
Russell King (Oracle) 2023-10-16 16:43:03 +01:00 committed by Jakub Kicinski
parent 2141297d42
commit da5f6b80ad
3 changed files with 6 additions and 53 deletions

View File

@ -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

View File

@ -697,17 +697,13 @@ 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) { if (pl->mac_ops->mac_get_caps)
pl->mac_ops->validate(pl->config, supported, state); capabilities = pl->mac_ops->mac_get_caps(pl->config,
} else { state->interface);
if (pl->mac_ops->mac_get_caps) else
capabilities = pl->mac_ops->mac_get_caps(pl->config, capabilities = pl->config->mac_capabilities;
state->interface);
else
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;
} }

View File

@ -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);
* 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 {
}; };
#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.