All of lore.kernel.org
 help / color / mirror / Atom feed
From: Colin Foster <colin.foster@in-advantage.com>
To: netdev@vger.kernel.org, linux-kernel@vger.kernel.org,
	devicetree@vger.kernel.org
Cc: Russell King <linux@armlinux.org.uk>,
	Richard Cochran <richardcochran@gmail.com>,
	Florian Fainelli <f.fainelli@gmail.com>,
	Andrew Lunn <andrew@lunn.ch>,
	UNGLinuxDriver@microchip.com,
	Alexandre Belloni <alexandre.belloni@bootlin.com>,
	Claudiu Manoil <claudiu.manoil@nxp.com>,
	Vladimir Oltean <vladimir.oltean@nxp.com>,
	Paolo Abeni <pabeni@redhat.com>, Jakub Kicinski <kuba@kernel.org>,
	Eric Dumazet <edumazet@google.com>,
	"David S. Miller" <davem@davemloft.net>,
	Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
	Rob Herring <robh+dt@kernel.org>, Lee Jones <lee@kernel.org>
Subject: [PATCH v5 net-next 08/13] net: dsa: felix: add functionality when not all ports are supported
Date: Fri, 27 Jan 2023 11:35:54 -0800	[thread overview]
Message-ID: <20230127193559.1001051-9-colin.foster@in-advantage.com> (raw)
In-Reply-To: <20230127193559.1001051-1-colin.foster@in-advantage.com>

When the Felix driver would probe the ports and verify functionality, it
would fail if it hit single port mode that wasn't supported by the driver.

The initial case for the VSC7512 driver will have physical ports that
exist, but aren't supported by the driver implementation. Add the
OCELOT_PORT_MODE_NONE macro to handle this scenario, and allow the Felix
driver to continue with all the ports that are currently functional.

Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
---

v5
    * No changes

v4
    * New patch

---
 drivers/net/dsa/ocelot/felix.c | 11 ++++++++---
 drivers/net/dsa/ocelot/felix.h |  1 +
 2 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/drivers/net/dsa/ocelot/felix.c b/drivers/net/dsa/ocelot/felix.c
index d3ff6e8a82e9..d4cc9e60f369 100644
--- a/drivers/net/dsa/ocelot/felix.c
+++ b/drivers/net/dsa/ocelot/felix.c
@@ -1273,10 +1273,15 @@ static int felix_parse_ports_node(struct felix *felix,
 
 		err = felix_validate_phy_mode(felix, port, phy_mode);
 		if (err < 0) {
-			dev_err(dev, "Unsupported PHY mode %s on port %d\n",
-				phy_modes(phy_mode), port);
+			dev_info(dev, "Unsupported PHY mode %s on port %d\n",
+				 phy_modes(phy_mode), port);
 			of_node_put(child);
-			return err;
+
+			/* Leave port_phy_modes[port] = 0, which is also
+			 * PHY_INTERFACE_MODE_NA. This will perform a
+			 * best-effort to bring up as many ports as possible.
+			 */
+			continue;
 		}
 
 		port_phy_modes[port] = phy_mode;
diff --git a/drivers/net/dsa/ocelot/felix.h b/drivers/net/dsa/ocelot/felix.h
index 9e1ae1dde0d9..d5d0b30c0b75 100644
--- a/drivers/net/dsa/ocelot/felix.h
+++ b/drivers/net/dsa/ocelot/felix.h
@@ -7,6 +7,7 @@
 #define ocelot_to_felix(o)		container_of((o), struct felix, ocelot)
 #define FELIX_MAC_QUIRKS		OCELOT_QUIRK_PCS_PERFORMS_RATE_ADAPTATION
 
+#define OCELOT_PORT_MODE_NONE		0
 #define OCELOT_PORT_MODE_INTERNAL	BIT(0)
 #define OCELOT_PORT_MODE_SGMII		BIT(1)
 #define OCELOT_PORT_MODE_QSGMII		BIT(2)
-- 
2.25.1


  parent reply	other threads:[~2023-01-27 19:37 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-27 19:35 [PATCH v5 net-next 00/13] add support for the the vsc7512 internal copper phys Colin Foster
2023-01-27 19:35 ` [PATCH v5 net-next 01/13] net: mscc: ocelot: expose ocelot wm functions Colin Foster
2023-01-27 19:37   ` Florian Fainelli
2023-01-27 19:35 ` [PATCH v5 net-next 02/13] net: mscc: ocelot: expose regfield definition to be used by other drivers Colin Foster
2023-01-27 19:38   ` Florian Fainelli
2023-01-27 19:35 ` [PATCH v5 net-next 03/13] net: mscc: ocelot: expose vcap_props structure Colin Foster
2023-01-27 19:38   ` Florian Fainelli
2023-01-27 19:35 ` [PATCH v5 net-next 04/13] net: mscc: ocelot: expose ocelot_reset routine Colin Foster
2023-01-27 19:38   ` Florian Fainelli
2023-01-27 19:35 ` [PATCH v5 net-next 05/13] net: mscc: ocelot: expose vsc7514_regmap definition Colin Foster
2023-01-27 19:39   ` Florian Fainelli
2023-01-27 19:35 ` [PATCH v5 net-next 06/13] net: dsa: felix: add configurable device quirks Colin Foster
2023-01-27 19:39   ` Florian Fainelli
2023-01-27 19:35 ` [PATCH v5 net-next 07/13] net: dsa: felix: add support for MFD configurations Colin Foster
2023-01-27 19:40   ` Florian Fainelli
2023-01-27 19:35 ` Colin Foster [this message]
2023-01-27 19:41   ` [PATCH v5 net-next 08/13] net: dsa: felix: add functionality when not all ports are supported Florian Fainelli
2023-01-27 19:35 ` [PATCH v5 net-next 09/13] mfd: ocelot: prepend resource size macros to be 32-bit Colin Foster
2023-01-27 19:41   ` Florian Fainelli
2023-01-27 19:35 ` [PATCH v5 net-next 10/13] dt-bindings: net: mscc,vsc7514-switch: add dsa binding for the vsc7512 Colin Foster
2023-01-30 21:10   ` Rob Herring
2023-01-27 19:35 ` [PATCH v5 net-next 11/13] dt-bindings: mfd: ocelot: add ethernet-switch hardware support Colin Foster
2023-01-30 21:10   ` Rob Herring
2023-01-27 19:35 ` [PATCH v5 net-next 12/13] net: dsa: ocelot: add external ocelot switch control Colin Foster
2023-01-27 19:53   ` Florian Fainelli
2023-01-27 19:35 ` [PATCH v5 net-next 13/13] mfd: " Colin Foster
2023-01-27 19:53   ` Florian Fainelli
2023-01-27 20:15     ` Colin Foster
2023-01-30 15:31 ` [PATCH v5 net-next 00/13] add support for the the vsc7512 internal copper phys Vladimir Oltean
2023-01-31  5:20 ` patchwork-bot+netdevbpf
2023-01-31  9:06   ` Lee Jones
2023-01-31 19:45     ` Jakub Kicinski
2023-01-31 19:55       ` Colin Foster
2023-02-01 10:15       ` Lee Jones

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=20230127193559.1001051-9-colin.foster@in-advantage.com \
    --to=colin.foster@in-advantage.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=andrew@lunn.ch \
    --cc=claudiu.manoil@nxp.com \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=lee@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@armlinux.org.uk \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=richardcochran@gmail.com \
    --cc=robh+dt@kernel.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.