From: Sean Anderson <sean.anderson@seco.com>
To: Heiner Kallweit <hkallweit1@gmail.com>,
Russell King <linux@armlinux.org.uk>,
netdev@vger.kernel.org
Cc: Vladimir Oltean <olteanv@gmail.com>,
Eric Dumazet <edumazet@google.com>,
Paolo Abeni <pabeni@redhat.com>, Jakub Kicinski <kuba@kernel.org>,
linux-kernel@vger.kernel.org, Andrew Lunn <andrew@lunn.ch>,
Ioana Ciornei <ioana.ciornei@nxp.com>,
Madalin Bucur <madalin.bucur@nxp.com>,
"David S . Miller" <davem@davemloft.net>,
Sean Anderson <sean.anderson@seco.com>,
Alexandre Belloni <alexandre.belloni@bootlin.com>,
Benjamin Herrenschmidt <benh@kernel.crashing.org>,
Claudiu Manoil <claudiu.manoil@nxp.com>,
Florian Fainelli <f.fainelli@gmail.com>,
Frank Rowand <frowand.list@gmail.com>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Li Yang <leoyang.li@nxp.com>,
Michael Ellerman <mpe@ellerman.id.au>,
Paul Mackerras <paulus@samba.org>,
Rob Herring <robh+dt@kernel.org>,
Saravana Kannan <saravanak@google.com>,
Shawn Guo <shawnguo@kernel.org>,
UNGLinuxDriver@microchip.com,
Vivien Didelot <vivien.didelot@gmail.com>,
Vladimir Oltean <vladimir.oltean@nxp.com>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
linuxppc-dev@lists.ozlabs.org
Subject: [PATCH net-next v2 00/11] net: pcs: Add support for devices probed in the "usual" manner
Date: Thu, 3 Nov 2022 17:06:39 -0400 [thread overview]
Message-ID: <20221103210650.2325784-1-sean.anderson@seco.com> (raw)
For a long time, PCSs have been tightly coupled with their MACs. For
this reason, the MAC creates the "phy" or mdio device, and then passes
it to the PCS to initialize. This has a few disadvantages:
- Each MAC must re-implement the same steps to look up/create a PCS
- The PCS cannot use functions tied to device lifetime, such as devm_*.
- Generally, the PCS does not have easy access to its device tree node
This series adds a PCS subsystem which MDIO drivers can use to register
PCSs. It then converts the Lynx PCS library to use this subsystem.
Several (later) patches in this series cannot be applied until a stable
release has occured containing the dts updates. The DTS updates are
fairly straightforward (and should not affect existing systems), so I
encourage them to be applied, even if the rest of the series still needs
review.
Changes in v2:
- Add compatibles for qoriq-fman3-0-10g-2/3.dtsi as well
- Fix export of _pcs_get_by_fwnode
- Add device links to ensure correct probe/removal ordering
- Remove module_get/put, since this is ensured by the device_get/put
- Reorganize some of the control flow for legibility
- Add basic documentation
- Call mdio_device_register
- Squash in lynx parts of "use pcs_get_by_provider to get PCS"
- Rewrite probe/remove functions to use create/destroy. This lets us
convert existing drivers one at a time, instead of needing a flag day.
- Split off driver conversions into their own commits
- Reorder and rework commits for clarity
Sean Anderson (10):
arm64: dts: Add compatible strings for Lynx PCSs
powerpc: dts: Add compatible strings for Lynx PCSs
net: pcs: Add subsystem
net: pcs: lynx: Convert to an MDIO driver
net: enetc: Convert to use PCS subsystem
net: dsa: felix: Convert to use PCS driver
of: property: Add device link support for PCS
[DO NOT MERGE] net: dpaa: Convert to use PCS subsystem
[DO NOT MERGE] net: dpaa2: Convert to use PCS subsystem
[DO NOT MERGE] net: pcs: lynx: Remove non-device functionality
Vladimir Oltean (1):
net: dsa: ocelot: suppress PHY device scanning on the internal MDIO
bus
Documentation/networking/index.rst | 1 +
Documentation/networking/pcs.rst | 109 ++++++++
MAINTAINERS | 2 +
.../arm64/boot/dts/freescale/fsl-ls208xa.dtsi | 48 ++--
.../arm64/boot/dts/freescale/fsl-lx2160a.dtsi | 54 ++--
.../dts/freescale/qoriq-fman3-0-10g-0.dtsi | 3 +-
.../dts/freescale/qoriq-fman3-0-10g-1.dtsi | 3 +-
.../dts/freescale/qoriq-fman3-0-1g-0.dtsi | 3 +-
.../dts/freescale/qoriq-fman3-0-1g-1.dtsi | 3 +-
.../dts/freescale/qoriq-fman3-0-1g-2.dtsi | 3 +-
.../dts/freescale/qoriq-fman3-0-1g-3.dtsi | 3 +-
.../dts/freescale/qoriq-fman3-0-1g-4.dtsi | 3 +-
.../dts/freescale/qoriq-fman3-0-1g-5.dtsi | 3 +-
.../fsl/qoriq-fman3-0-10g-0-best-effort.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-0-10g-0.dtsi | 3 +-
.../fsl/qoriq-fman3-0-10g-1-best-effort.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-0-10g-1.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-0-10g-2.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-0-10g-3.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-0-1g-0.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-0-1g-1.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-0-1g-2.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-0-1g-3.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-0-1g-4.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-0-1g-5.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-1-10g-0.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-1-10g-1.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-1-1g-0.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-1-1g-1.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-1-1g-2.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-1-1g-3.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-1-1g-4.dtsi | 3 +-
.../boot/dts/fsl/qoriq-fman3-1-1g-5.dtsi | 3 +-
drivers/net/dsa/ocelot/Kconfig | 2 +
drivers/net/dsa/ocelot/felix_vsc9959.c | 31 +--
drivers/net/dsa/ocelot/seville_vsc9953.c | 33 +--
drivers/net/ethernet/freescale/dpaa2/Kconfig | 1 +
.../net/ethernet/freescale/dpaa2/dpaa2-mac.c | 43 +---
drivers/net/ethernet/freescale/enetc/Kconfig | 1 +
.../net/ethernet/freescale/enetc/enetc_pf.c | 23 +-
.../net/ethernet/freescale/fman/fman_memac.c | 118 +++------
drivers/net/pcs/Kconfig | 23 +-
drivers/net/pcs/Makefile | 2 +
drivers/net/pcs/core.c | 243 ++++++++++++++++++
drivers/net/pcs/pcs-lynx.c | 76 ++++--
drivers/of/property.c | 4 +
include/linux/pcs-lynx.h | 12 +-
include/linux/pcs.h | 111 ++++++++
include/linux/phylink.h | 5 +
49 files changed, 758 insertions(+), 268 deletions(-)
create mode 100644 Documentation/networking/pcs.rst
create mode 100644 drivers/net/pcs/core.c
create mode 100644 include/linux/pcs.h
--
2.35.1.1320.gc452695387.dirty
next reply other threads:[~2022-11-03 21:07 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-03 21:06 Sean Anderson [this message]
2022-11-03 21:06 ` [PATCH net-next v2 01/11] arm64: dts: Add compatible strings for Lynx PCSs Sean Anderson
2022-11-03 21:06 ` [PATCH net-next v2 02/11] powerpc: " Sean Anderson
2022-11-03 21:06 ` [PATCH net-next v2 08/11] of: property: Add device link support for PCS Sean Anderson
2022-11-07 20:10 ` Rob Herring
2022-11-07 20:22 ` Vladimir Oltean
2022-11-07 20:50 ` Sean Anderson
2022-11-07 21:36 ` Rob Herring
2022-11-08 20:56 ` Saravana Kannan
2022-11-09 21:56 ` Vladimir Oltean
2022-11-09 22:41 ` [PATCH net-next v2 00/11] net: pcs: Add support for devices probed in the "usual" manner Vladimir Oltean
2022-11-10 14:55 ` Sean Anderson
2022-11-10 15:29 ` Vladimir Oltean
2022-11-10 15:39 ` Sean Anderson
2022-11-10 16:00 ` Vladimir Oltean
2022-11-10 16:56 ` Sean Anderson
2022-11-14 17:23 ` Vladimir Oltean
2022-11-14 18:08 ` Sean Anderson
2022-11-14 19:53 ` Vladimir Oltean
2022-11-17 13:38 ` Rob Herring
2022-11-10 16:01 ` Andrew Lunn
2022-11-10 16:32 ` Vladimir Oltean
2022-11-09 22:59 ` Vladimir Oltean
2022-11-10 15:15 ` Sean Anderson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221103210650.2325784-1-sean.anderson@seco.com \
--to=sean.anderson@seco.com \
--cc=UNGLinuxDriver@microchip.com \
--cc=alexandre.belloni@bootlin.com \
--cc=andrew@lunn.ch \
--cc=benh@kernel.crashing.org \
--cc=claudiu.manoil@nxp.com \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=frowand.list@gmail.com \
--cc=hkallweit1@gmail.com \
--cc=ioana.ciornei@nxp.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=leoyang.li@nxp.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=madalin.bucur@nxp.com \
--cc=mpe@ellerman.id.au \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=paulus@samba.org \
--cc=robh+dt@kernel.org \
--cc=saravanak@google.com \
--cc=shawnguo@kernel.org \
--cc=vivien.didelot@gmail.com \
--cc=vladimir.oltean@nxp.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).