net: dsa: remove bool devlink_port_setup
authorVladimir Oltean <vladimir.oltean@nxp.com>
Thu, 29 Sep 2022 07:29:02 +0000 (09:29 +0200)
committerJakub Kicinski <kuba@kernel.org>
Sat, 1 Oct 2022 01:17:17 +0000 (18:17 -0700)
Since dsa_port_devlink_setup() and dsa_port_devlink_teardown() are
already called from code paths which only execute once per port (due to
the existing bool dp->setup), keeping another dp->devlink_port_setup is
redundant, because we can already manage to balance the calls properly
(and not call teardown when setup was never called, or call setup twice,
or things like that).

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Signed-off-by: Jiri Pirko <jiri@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
include/net/dsa.h
net/dsa/dsa2.c

index d777eac5694f867e662054d8aad1103f3eb7d45a..ee369670e20e418bd5170b192257acb96ebf2f55 100644 (file)
@@ -294,8 +294,6 @@ struct dsa_port {
 
        u8                      lag_tx_enabled:1;
 
-       u8                      devlink_port_setup:1;
-
        /* Master state bits, valid only on CPU ports */
        u8                      master_admin_up:1;
        u8                      master_oper_up:1;
index 747c0364fb0fb3965b865b5e1c1cba6b3b24cdd1..af0e2c0394ac3f1589ddd80f503f2d070fb91493 100644 (file)
@@ -510,7 +510,6 @@ static int dsa_port_devlink_setup(struct dsa_port *dp)
                        ds->ops->port_teardown(ds, dp->index);
                return err;
        }
-       dp->devlink_port_setup = true;
 
        return 0;
 }
@@ -520,13 +519,12 @@ static void dsa_port_devlink_teardown(struct dsa_port *dp)
        struct devlink_port *dlp = &dp->devlink_port;
        struct dsa_switch *ds = dp->ds;
 
-       if (dp->devlink_port_setup) {
-               devlink_port_unregister(dlp);
-               if (ds->ops->port_teardown)
-                       ds->ops->port_teardown(ds, dp->index);
-               devlink_port_fini(dlp);
-       }
-       dp->devlink_port_setup = false;
+       devlink_port_unregister(dlp);
+
+       if (ds->ops->port_teardown)
+               ds->ops->port_teardown(ds, dp->index);
+
+       devlink_port_fini(dlp);
 }
 
 static int dsa_port_setup(struct dsa_port *dp)