netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RFC PATCH v3 net-next 00/10] Validate OF nodes for DSA shared ports
@ 2022-08-06 14:10 Vladimir Oltean
  2022-08-06 14:10 ` [RFC PATCH v3 net-next 01/10] dt-bindings: net: dsa: xrs700x: add missing CPU port phy-mode to example Vladimir Oltean
                   ` (9 more replies)
  0 siblings, 10 replies; 23+ messages in thread
From: Vladimir Oltean @ 2022-08-06 14:10 UTC (permalink / raw)
  To: netdev
  Cc: devicetree, David S. Miller, Eric Dumazet, Jakub Kicinski,
	Paolo Abeni, Andrew Lunn, Vivien Didelot, Florian Fainelli,
	Vladimir Oltean, Rob Herring, Krzysztof Kozlowski,
	Oleksij Rempel, Christian Marangi, John Crispin, Kurt Kanzenbach,
	Mans Rullgard, Arun Ramadoss, Woojung Huh, UNGLinuxDriver,
	Claudiu Manoil, Alexandre Belloni, George McCollister,
	DENG Qingfang, Sean Wang, Landen Chao, Matthias Brugger,
	Hauke Mehrtens, Martin Blumenstingl, Aleksander Jan Bajkowski,
	Alvin Šipraga, Luiz Angelo Daros de Luca, Linus Walleij,
	Pawel Dembicki, Clément Léger, Geert Uytterhoeven,
	Russell King, Marek Behún, Marcin Wojtas, Marek Vasut,
	linux-renesas-soc, Frank Rowand

This is the first set of measures taken so that more drivers can be
transitioned towards phylink on shared (CPU and DSA) ports some time in
the future. It consists of:

- expanding the DT schema for DSA and related drivers to clarify the new
  requirements.

- introducing warnings for drivers that currently skip phylink due to
  incomplete DT descriptions.

- introducing warning for drivers that currently skip phylink due to
  using platform data (search for struct dsa_chip_data).

- closing the possibility for new(ish) drivers to skip phylink, by
  validating their DT descriptions.

- making the code paths used by shared ports more evident.

- preparing the code paths used by shared ports for further work to fake
  a link description where that is possible.

More details in patch 10/10.

DT binding (patches 1-6) and kernel (7-10) are in principle separable,
but are submitted together since they're part of the same story.

Patches 8 and 9 are DSA cleanups, and patch 7 is a dependency for patch
10.

Submitting as RFC because it's RFC season, but I'd like to resend this
for proper inclusion as soon as possible once the merge window closes,
so ACKs/NACKs are welcome.

Change log in patches.

v1 at
https://patchwork.kernel.org/project/netdevbpf/patch/20220723164635.1621911-1-vladimir.oltean@nxp.com/

v2 at
https://patchwork.kernel.org/project/netdevbpf/patch/20220729132119.1191227-5-vladimir.oltean@nxp.com/

Cc: Rob Herring <robh+dt@kernel.org>
Cc: Frank Rowand <frowand.list@gmail.com>

Vladimir Oltean (10):
  dt-bindings: net: dsa: xrs700x: add missing CPU port phy-mode to
    example
  dt-bindings: net: dsa: hellcreek: add missing CPU port
    phy-mode/fixed-link to example
  dt-bindings: net: dsa: b53: add missing CPU port phy-mode to example
  dt-bindings: net: dsa: microchip: add missing CPU port phy-mode to
    example
  dt-bindings: net: dsa: rzn1-a5psw: add missing CPU port phy-mode to
    example
  dt-bindings: net: dsa: make phylink bindings required for CPU/DSA
    ports
  of: base: export of_device_compatible_match() for use in modules
  net: dsa: avoid dsa_port_link_{,un}register_of() calls with platform
    data
  net: dsa: rename dsa_port_link_{,un}register_of
  net: dsa: make phylink-related OF properties mandatory on DSA and CPU
    ports

 .../bindings/net/dsa/arrow,xrs700x.yaml       |   2 +
 .../devicetree/bindings/net/dsa/brcm,b53.yaml |   2 +
 .../devicetree/bindings/net/dsa/dsa-port.yaml |  17 ++
 .../net/dsa/hirschmann,hellcreek.yaml         |   6 +
 .../bindings/net/dsa/microchip,ksz.yaml       |   4 +
 .../bindings/net/dsa/renesas,rzn1-a5psw.yaml  |   2 +
 drivers/of/base.c                             |   1 +
 net/dsa/dsa2.c                                |  36 +++-
 net/dsa/dsa_priv.h                            |   4 +-
 net/dsa/port.c                                | 193 ++++++++++++++++--
 10 files changed, 240 insertions(+), 27 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2022-08-10  9:52 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-08-06 14:10 [RFC PATCH v3 net-next 00/10] Validate OF nodes for DSA shared ports Vladimir Oltean
2022-08-06 14:10 ` [RFC PATCH v3 net-next 01/10] dt-bindings: net: dsa: xrs700x: add missing CPU port phy-mode to example Vladimir Oltean
2022-08-09 20:11   ` Rob Herring
2022-08-06 14:10 ` [RFC PATCH v3 net-next 02/10] dt-bindings: net: dsa: hellcreek: add missing CPU port phy-mode/fixed-link " Vladimir Oltean
2022-08-08  5:31   ` Kurt Kanzenbach
2022-08-09 20:11   ` Rob Herring
2022-08-06 14:10 ` [RFC PATCH v3 net-next 03/10] dt-bindings: net: dsa: b53: add missing CPU port phy-mode " Vladimir Oltean
2022-08-09 20:11   ` Rob Herring
2022-08-06 14:10 ` [RFC PATCH v3 net-next 04/10] dt-bindings: net: dsa: microchip: " Vladimir Oltean
2022-08-09 20:11   ` Rob Herring
2022-08-06 14:10 ` [RFC PATCH v3 net-next 05/10] dt-bindings: net: dsa: rzn1-a5psw: " Vladimir Oltean
2022-08-09 20:11   ` Rob Herring
2022-08-06 14:10 ` [RFC PATCH v3 net-next 06/10] dt-bindings: net: dsa: make phylink bindings required for CPU/DSA ports Vladimir Oltean
2022-08-09 20:12   ` Rob Herring
2022-08-06 14:10 ` [RFC PATCH v3 net-next 07/10] of: base: export of_device_compatible_match() for use in modules Vladimir Oltean
2022-08-09 20:12   ` Rob Herring
2022-08-06 14:10 ` [RFC PATCH v3 net-next 08/10] net: dsa: avoid dsa_port_link_{,un}register_of() calls with platform data Vladimir Oltean
2022-08-06 14:10 ` [RFC PATCH v3 net-next 09/10] net: dsa: rename dsa_port_link_{,un}register_of Vladimir Oltean
2022-08-06 14:10 ` [RFC PATCH v3 net-next 10/10] net: dsa: make phylink-related OF properties mandatory on DSA and CPU ports Vladimir Oltean
2022-08-06 19:58   ` Christian Marangi
2022-08-08  7:31     ` Vladimir Oltean
2022-08-09  8:24   ` Kurt Kanzenbach
2022-08-10  9:52     ` Vladimir Oltean

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).