net: dsa: vsc73xx: Add define for max num of ports
authorPawel Dembicki <paweldembicki@gmail.com>
Wed, 17 Apr 2024 20:50:47 +0000 (22:50 +0200)
committerJakub Kicinski <kuba@kernel.org>
Mon, 22 Apr 2024 21:21:32 +0000 (14:21 -0700)
This patch introduces a new define: VSC73XX_MAX_NUM_PORTS, which can be
used in the future instead of a hardcoded value.

Currently, the only hardcoded value is vsc->ds->num_ports. It is being
replaced with the new define.

Suggested-by: Vladimir Oltean <olteanv@gmail.com>
Signed-off-by: Pawel Dembicki <paweldembicki@gmail.com>
Reviewed-by: Vladimir Oltean <olteanv@gmail.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Florian Fainelli <florian.fainelli@broadcom.com>
Link: https://lore.kernel.org/r/20240417205048.3542839-5-paweldembicki@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/dsa/vitesse-vsc73xx-core.c
drivers/net/dsa/vitesse-vsc73xx.h

index af148c58315a657152257bf037b7ac91ec4e203d..4b031fefcec68279d8ed378c17b19ae572e44ce1 100644 (file)
@@ -1186,23 +1186,12 @@ int vsc73xx_probe(struct vsc73xx *vsc)
                 vsc->addr[0], vsc->addr[1], vsc->addr[2],
                 vsc->addr[3], vsc->addr[4], vsc->addr[5]);
 
-       /* The VSC7395 switch chips have 5+1 ports which means 5
-        * ordinary ports and a sixth CPU port facing the processor
-        * with an RGMII interface. These ports are numbered 0..4
-        * and 6, so they leave a "hole" in the port map for port 5,
-        * which is invalid.
-        *
-        * The VSC7398 has 8 ports, port 7 is again the CPU port.
-        *
-        * We allocate 8 ports and avoid access to the nonexistant
-        * ports.
-        */
        vsc->ds = devm_kzalloc(dev, sizeof(*vsc->ds), GFP_KERNEL);
        if (!vsc->ds)
                return -ENOMEM;
 
        vsc->ds->dev = dev;
-       vsc->ds->num_ports = 8;
+       vsc->ds->num_ports = VSC73XX_MAX_NUM_PORTS;
        vsc->ds->priv = vsc;
 
        vsc->ds->ops = &vsc73xx_ds_ops;
index 30b1f0a36566d39bcf09bc0f6e07633f0403f1ee..fee1378508b5f72d467d61911fcac3ffe64dae54 100644 (file)
@@ -3,6 +3,17 @@
 #include <linux/etherdevice.h>
 #include <linux/gpio/driver.h>
 
+/* The VSC7395 switch chips have 5+1 ports which means 5 ordinary ports and
+ * a sixth CPU port facing the processor with an RGMII interface. These ports
+ * are numbered 0..4 and 6, so they leave a "hole" in the port map for port 5,
+ * which is invalid.
+ *
+ * The VSC7398 has 8 ports, port 7 is again the CPU port.
+ *
+ * We allocate 8 ports and avoid access to the nonexistent ports.
+ */
+#define VSC73XX_MAX_NUM_PORTS  8
+
 /**
  * struct vsc73xx - VSC73xx state container
  */