net: dsa: move ageing time setter
authorVivien Didelot <vivien.didelot@savoirfairelinux.com>
Fri, 19 May 2017 21:00:47 +0000 (17:00 -0400)
committerDavid S. Miller <davem@davemloft.net>
Mon, 22 May 2017 23:37:32 +0000 (19:37 -0400)
Move the DSA port code which sets a port ageing time in port.c, where it
belongs.

Signed-off-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/dsa/dsa_priv.h
net/dsa/port.c
net/dsa/slave.c

index c145223247c5b953bb3ee47c4551db187fde477d..b0f9837bf5edc27f0490fcc02eaa3ea7df940db2 100644 (file)
@@ -68,6 +68,8 @@ int dsa_port_bridge_join(struct dsa_port *dp, struct net_device *br);
 void dsa_port_bridge_leave(struct dsa_port *dp, struct net_device *br);
 int dsa_port_vlan_filtering(struct dsa_port *dp, bool vlan_filtering,
                            struct switchdev_trans *trans);
+int dsa_port_ageing_time(struct dsa_port *dp, clock_t ageing_clock,
+                        struct switchdev_trans *trans);
 
 /* slave.c */
 extern const struct dsa_device_ops notag_netdev_ops;
index c9f95aaf25f1fc3c8a6bb187d0efd25906e1a32a..3382fdc07a11994490c3604d4f0171d069584be1 100644 (file)
@@ -127,3 +127,43 @@ int dsa_port_vlan_filtering(struct dsa_port *dp, bool vlan_filtering,
 
        return 0;
 }
+
+static unsigned int dsa_fastest_ageing_time(struct dsa_switch *ds,
+                                           unsigned int ageing_time)
+{
+       int i;
+
+       for (i = 0; i < ds->num_ports; ++i) {
+               struct dsa_port *dp = &ds->ports[i];
+
+               if (dp->ageing_time && dp->ageing_time < ageing_time)
+                       ageing_time = dp->ageing_time;
+       }
+
+       return ageing_time;
+}
+
+int dsa_port_ageing_time(struct dsa_port *dp, clock_t ageing_clock,
+                        struct switchdev_trans *trans)
+{
+       unsigned long ageing_jiffies = clock_t_to_jiffies(ageing_clock);
+       unsigned int ageing_time = jiffies_to_msecs(ageing_jiffies);
+       struct dsa_switch *ds = dp->ds;
+
+       if (switchdev_trans_ph_prepare(trans)) {
+               if (ds->ageing_time_min && ageing_time < ds->ageing_time_min)
+                       return -ERANGE;
+               if (ds->ageing_time_max && ageing_time > ds->ageing_time_max)
+                       return -ERANGE;
+               return 0;
+       }
+
+       /* Keep the fastest ageing time in case of multiple bridges */
+       dp->ageing_time = ageing_time;
+       ageing_time = dsa_fastest_ageing_time(ds, ageing_time);
+
+       if (ds->ops->set_ageing_time)
+               return ds->ops->set_ageing_time(ds, ageing_time);
+
+       return 0;
+}
index 32e7e78313ba3f86f8fd49bc09e26befae6fe41a..1b0f396c4314dec74e753d55db8c992bfe7e6ee7 100644 (file)
@@ -338,46 +338,6 @@ static int dsa_slave_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd)
        return -EOPNOTSUPP;
 }
 
-static unsigned int dsa_fastest_ageing_time(struct dsa_switch *ds,
-                                           unsigned int ageing_time)
-{
-       int i;
-
-       for (i = 0; i < ds->num_ports; ++i) {
-               struct dsa_port *dp = &ds->ports[i];
-
-               if (dp->ageing_time && dp->ageing_time < ageing_time)
-                       ageing_time = dp->ageing_time;
-       }
-
-       return ageing_time;
-}
-
-static int dsa_port_ageing_time(struct dsa_port *dp, clock_t ageing_clock,
-                               struct switchdev_trans *trans)
-{
-       unsigned long ageing_jiffies = clock_t_to_jiffies(ageing_clock);
-       unsigned int ageing_time = jiffies_to_msecs(ageing_jiffies);
-       struct dsa_switch *ds = dp->ds;
-
-       if (switchdev_trans_ph_prepare(trans)) {
-               if (ds->ageing_time_min && ageing_time < ds->ageing_time_min)
-                       return -ERANGE;
-               if (ds->ageing_time_max && ageing_time > ds->ageing_time_max)
-                       return -ERANGE;
-               return 0;
-       }
-
-       /* Keep the fastest ageing time in case of multiple bridges */
-       dp->ageing_time = ageing_time;
-       ageing_time = dsa_fastest_ageing_time(ds, ageing_time);
-
-       if (ds->ops->set_ageing_time)
-               return ds->ops->set_ageing_time(ds, ageing_time);
-
-       return 0;
-}
-
 static int dsa_slave_port_attr_set(struct net_device *dev,
                                   const struct switchdev_attr *attr,
                                   struct switchdev_trans *trans)