mbox series

[net-next,0/3] introduce generic phylink validation

Message ID YZIvnerLwnMkxx3p@shell.armlinux.org.uk (mailing list archive)
Headers show
Series introduce generic phylink validation | expand

Message

Russell King (Oracle) Nov. 15, 2021, 9:59 a.m. UTC
Hi,

The various validate method implementations we have in phylink users
have been quite repetitive but also prone to bugs. These patches
introduce a generic implementation which relies solely on the
supported_interfaces bitmap introduced during last cycle, and in the
first patch, a bit array of MAC capabilities.

MAC drivers are free to continue to do their own thing if they have
special requirements - such as mvneta and mvpp2 which do not support
1000base-X without AN enabled. Most implementations currently in the
kernel can be converted to call phylink_generic_validate() directly
from the phylink MAC operations structure once they fill in the
supported_interfaces and mac_capabilities members of phylink_config.

This series introduces the generic implementation, and converts mvneta
and mvpp2 to use it.

 drivers/net/ethernet/marvell/mvneta.c           |  34 +---
 drivers/net/ethernet/marvell/mvpp2/mvpp2_main.c |  58 +-----
 drivers/net/phy/phylink.c                       | 252 ++++++++++++++++++++++++
 include/linux/phylink.h                         |  31 +++
 4 files changed, 296 insertions(+), 79 deletions(-)

Comments

patchwork-bot+netdevbpf@kernel.org Nov. 15, 2021, 2:50 p.m. UTC | #1
Hello:

This series was applied to netdev/net-next.git (master)
by David S. Miller <davem@davemloft.net>:

On Mon, 15 Nov 2021 09:59:57 +0000 you wrote:
> Hi,
> 
> The various validate method implementations we have in phylink users
> have been quite repetitive but also prone to bugs. These patches
> introduce a generic implementation which relies solely on the
> supported_interfaces bitmap introduced during last cycle, and in the
> first patch, a bit array of MAC capabilities.
> 
> [...]

Here is the summary with links:
  - [net-next,1/3] net: phylink: add generic validate implementation
    https://git.kernel.org/netdev/net-next/c/34ae2c09d46a
  - [net-next,2/3] net: mvneta: use phylink_generic_validate()
    https://git.kernel.org/netdev/net-next/c/02a0988b9893
  - [net-next,3/3] net: mvpp2: use phylink_generic_validate()
    https://git.kernel.org/netdev/net-next/c/5038ffea0c6c

You are awesome, thank you!