Subject: [PATCH] staging: octeon: sgmii to honor disabled dt node status
From: Roman Kuzmitskii <[email-masked]>
Date: Sun, 01 Nov 2020 19:00:00 +0000

With this patch, sgmii interface device tree node could be disabled and
that disabled interface will not be unnecessarily initialized.

It solves the problem with Octeon boards that have 8 sgmii or more ports
initialized but have nothing connected to them.

Tested-by: Johannes Kimmel <[email-masked]>
Signed-off-by: Roman Kuzmitskii <[email-masked]>
--- a/drivers/staging/octeon/ethernet.c
+++ b/drivers/staging/octeon/ethernet.c
@@ -885,8 +885,10 @@ static int cvm_oct_probe(struct platform
 
 			case CVMX_HELPER_INTERFACE_MODE_SGMII:
 				priv->phy_mode = PHY_INTERFACE_MODE_SGMII;
-				dev->netdev_ops = &cvm_oct_sgmii_netdev_ops;
-				strscpy(dev->name, "eth%d", sizeof(dev->name));
+				if (of_device_is_available(priv->of_node)) {
+					dev->netdev_ops = &cvm_oct_sgmii_netdev_ops;
+					strscpy(dev->name, "eth%d", sizeof(dev->name));
+				}
 				break;
 
 			case CVMX_HELPER_INTERFACE_MODE_SPI: