[PATCH net-next v4 00/15] Introduce an ethernet port representation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello everyone,

This is V4 of the series introducing the phy_port infrastructure.

Previous version was incorrectly labeled V1, all previous versions can
be found here :

V3: https://lore.kernel.org/netdev/20250207223634.600218-1-maxime.chevallier@xxxxxxxxxxx/
RFC V2: https://lore.kernel.org/netdev/20250122174252.82730-1-maxime.chevallier@xxxxxxxxxxx/
RFC V1: https://lore.kernel.org/netdev/20241220201506.2791940-1-maxime.chevallier@xxxxxxxxxxx/

The goal of that work is to lay the ground for multi-port devices,
either using multi-port PHY devices, or MII-side multiplexers.

for now, that series only focuses on the PHY device aspect, and includes
no uAPI and no muxing support yet.

The key points from that series are :

 - The introduction of a dedicated object to represent a port
 - The introduciton of a new binding to represent these ports in
   devicetree, to accurately describe multi-port devices
 - The support of ports for PHY devices, including PHY-drivert SFP
   busses through a generic phylib set of upstream ops
 - The MAINTAINERS file was updated to account for the new files
 - Some documentation :)

Changes in V4 :

 - Introduced a kernel doc
 - Reworked the mediums definitions in patch 2
 - QCA807x now uses the generic SFP support
 - Fixed some implementation bugs to build the support list based on the
   interfaces supported on a port

Maxime Chevallier (15):
  net: ethtool: Introduce ETHTOOL_LINK_MEDIUM_* values
  net: ethtool: Export the link_mode_params definitions
  net: phy: Introduce PHY ports representation
  net: phy: dp83822: Add support for phy_port representation
  net: phy: Create a phy_port for PHY-driven SFPs
  net: phy: Introduce generic SFP handling for PHY drivers
  net: phy: marvell-88x2222: Support SFP through phy_port interface
  net: phy: marvell: Support SFP through phy_port interface
  net: phy: marvell10g: Support SFP through phy_port
  net: phy: at803x: Support SFP through phy_port interface
  net: phy: qca807x: Support SFP through phy_port interface
  net: phy: Only rely on phy_port for PHY-driven SFP
  net: phy: dp83822: Add SFP support through the phy_port interface
  Documentation: networking: Document the phy_port infrastructure
  dt-bindings: net: Introduce the phy-port description

 .../devicetree/bindings/net/ethernet-phy.yaml |  18 +
 .../bindings/net/ethernet-port.yaml           |  47 +++
 Documentation/networking/index.rst            |   1 +
 Documentation/networking/phy-port.rst         | 111 +++++++
 MAINTAINERS                                   |   3 +
 drivers/net/phy/Makefile                      |   2 +-
 drivers/net/phy/dp83822.c                     |  71 ++--
 drivers/net/phy/marvell-88x2222.c             |  96 +++---
 drivers/net/phy/marvell.c                     | 100 +++---
 drivers/net/phy/marvell10g.c                  |  37 +--
 drivers/net/phy/phy_device.c                  | 312 +++++++++++++++++-
 drivers/net/phy/phy_port.c                    | 176 ++++++++++
 drivers/net/phy/phylink.c                     |  32 ++
 drivers/net/phy/qcom/at803x.c                 |  64 +---
 drivers/net/phy/qcom/qca807x.c                |  75 ++---
 include/linux/ethtool.h                       |  73 ++++
 include/linux/phy.h                           |  38 ++-
 include/linux/phy_port.h                      |  92 ++++++
 include/linux/phylink.h                       |   2 +
 net/ethtool/common.c                          | 250 ++++++++------
 net/ethtool/common.h                          |   7 -
 21 files changed, 1218 insertions(+), 389 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/net/ethernet-port.yaml
 create mode 100644 Documentation/networking/phy-port.rst
 create mode 100644 drivers/net/phy/phy_port.c
 create mode 100644 include/linux/phy_port.h

-- 
2.48.1





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux