]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
net: dsa: Add dsa_is_dsa_port() helper
authorAndrew Lunn <andrew@lunn.ch>
Mon, 17 Aug 2015 21:52:51 +0000 (23:52 +0200)
committerDavid S. Miller <davem@davemloft.net>
Tue, 18 Aug 2015 21:17:21 +0000 (14:17 -0700)
Add an inline helper for determining is a port is a DSA port.

Signed-off-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/mv88e6xxx.c
include/net/dsa.h

index 332f2c8090d0f1ce9030774a424123b1c47f1515..486e9792fc0558afe60fa067e2f9d63ba60e65f3 100644 (file)
@@ -1926,8 +1926,7 @@ static int mv88e6xxx_setup_port(struct dsa_switch *ds, int port)
                 * full duplex.
                 */
                reg = _mv88e6xxx_reg_read(ds, REG_PORT(port), PORT_PCS_CTRL);
-               if (dsa_is_cpu_port(ds, port) ||
-                   ds->dsa_port_mask & (1 << port)) {
+               if (dsa_is_cpu_port(ds, port) || dsa_is_dsa_port(ds, port)) {
                        reg |= PORT_PCS_CTRL_FORCE_LINK |
                                PORT_PCS_CTRL_LINK_UP |
                                PORT_PCS_CTRL_DUPLEX_FULL |
@@ -1992,7 +1991,7 @@ static int mv88e6xxx_setup_port(struct dsa_switch *ds, int port)
            mv88e6xxx_6165_family(ds) || mv88e6xxx_6097_family(ds) ||
            mv88e6xxx_6095_family(ds) || mv88e6xxx_6065_family(ds) ||
            mv88e6xxx_6320_family(ds)) {
-               if (ds->dsa_port_mask & (1 << port))
+               if (dsa_is_dsa_port(ds, port))
                        reg |= PORT_CONTROL_FRAME_MODE_DSA;
                if (port == dsa_upstream_port(ds))
                        reg |= PORT_CONTROL_FORWARD_UNKNOWN |
index bd9b76502458fb6d0c1d3aa79aca262487158d80..b34d812bc5d056d47b7d39181668572cde4f53ca 100644 (file)
@@ -171,6 +171,11 @@ static inline bool dsa_is_cpu_port(struct dsa_switch *ds, int p)
        return !!(ds->index == ds->dst->cpu_switch && p == ds->dst->cpu_port);
 }
 
+static inline bool dsa_is_dsa_port(struct dsa_switch *ds, int p)
+{
+       return !!((ds->dsa_port_mask) & (1 << p));
+}
+
 static inline bool dsa_is_port_initialized(struct dsa_switch *ds, int p)
 {
        return ds->phys_port_mask & (1 << p) && ds->ports[p];