static int mv88e6123_setup_global(struct dsa_switch *ds)
 {
        struct mv88e6xxx_priv_state *ps = ds_to_priv(ds);
-       u32 upstream_port = dsa_upstream_port(ds);
-       int ret;
-       u32 reg;
-
-       /* Configure the upstream port, and configure the upstream
-        * port as the port to which ingress and egress monitor frames
-        * are to be sent.
-        */
-       reg = upstream_port << GLOBAL_MONITOR_CONTROL_INGRESS_SHIFT |
-               upstream_port << GLOBAL_MONITOR_CONTROL_EGRESS_SHIFT |
-               upstream_port << GLOBAL_MONITOR_CONTROL_ARP_SHIFT;
-       ret = mv88e6xxx_reg_write(ps, REG_GLOBAL, GLOBAL_MONITOR_CONTROL, reg);
-       if (ret)
-               return ret;
 
        /* Disable remote management for now, and set the switch's
         * DSA device number.
 
 static int mv88e6131_setup_global(struct dsa_switch *ds)
 {
        struct mv88e6xxx_priv_state *ps = ds_to_priv(ds);
-       u32 upstream_port = dsa_upstream_port(ds);
        int ret;
-       u32 reg;
-
-       /* Disable ARP mirroring, and configure the upstream port as
-        * the port to which ingress and egress monitor frames are to
-        * be sent.
-        */
-       reg = upstream_port << GLOBAL_MONITOR_CONTROL_INGRESS_SHIFT |
-               upstream_port << GLOBAL_MONITOR_CONTROL_EGRESS_SHIFT |
-               GLOBAL_MONITOR_CONTROL_ARP_DISABLED;
-       ret = mv88e6xxx_reg_write(ps, REG_GLOBAL, GLOBAL_MONITOR_CONTROL, reg);
-       if (ret)
-               return ret;
 
        /* Disable cascade port functionality unless this device
         * is used in a cascade configuration, and set the switch's
 
 static int mv88e6171_setup_global(struct dsa_switch *ds)
 {
        struct mv88e6xxx_priv_state *ps = ds_to_priv(ds);
-       u32 upstream_port = dsa_upstream_port(ds);
-       int ret;
-       u32 reg;
-
-       /* Configure the upstream port, and configure the upstream
-        * port as the port to which ingress and egress monitor frames
-        * are to be sent.
-        */
-       reg = upstream_port << GLOBAL_MONITOR_CONTROL_INGRESS_SHIFT |
-               upstream_port << GLOBAL_MONITOR_CONTROL_EGRESS_SHIFT |
-               upstream_port << GLOBAL_MONITOR_CONTROL_ARP_SHIFT |
-               upstream_port << GLOBAL_MONITOR_CONTROL_MIRROR_SHIFT;
-       ret = mv88e6xxx_reg_write(ps, REG_GLOBAL, GLOBAL_MONITOR_CONTROL, reg);
-       if (ret)
-               return ret;
 
        /* Disable remote management for now, and set the switch's
         * DSA device number.
 
 static int mv88e6352_setup_global(struct dsa_switch *ds)
 {
        struct mv88e6xxx_priv_state *ps = ds_to_priv(ds);
-       u32 upstream_port = dsa_upstream_port(ds);
-       int ret;
-       u32 reg;
-
-       /* Configure the upstream port, and configure the upstream
-        * port as the port to which ingress and egress monitor frames
-        * are to be sent.
-        */
-       reg = upstream_port << GLOBAL_MONITOR_CONTROL_INGRESS_SHIFT |
-               upstream_port << GLOBAL_MONITOR_CONTROL_EGRESS_SHIFT |
-               upstream_port << GLOBAL_MONITOR_CONTROL_ARP_SHIFT;
-       ret = mv88e6xxx_reg_write(ps, REG_GLOBAL, GLOBAL_MONITOR_CONTROL, reg);
-       if (ret)
-               return ret;
 
        /* Disable remote management for now, and set the switch's
         * DSA device number.
 
 
 static int mv88e6xxx_setup_global(struct mv88e6xxx_priv_state *ps)
 {
+       struct dsa_switch *ds = ps->ds;
+       u32 upstream_port = dsa_upstream_port(ds);
        u16 reg;
        int err;
        int i;
        if (err)
                return err;
 
+       /* Configure the upstream port, and configure it as the port to which
+        * ingress and egress and ARP monitor frames are to be sent.
+        */
+       reg = upstream_port << GLOBAL_MONITOR_CONTROL_INGRESS_SHIFT |
+               upstream_port << GLOBAL_MONITOR_CONTROL_EGRESS_SHIFT |
+               upstream_port << GLOBAL_MONITOR_CONTROL_ARP_SHIFT;
+       err = _mv88e6xxx_reg_write(ps, REG_GLOBAL, GLOBAL_MONITOR_CONTROL, reg);
+       if (err)
+               return err;
+
        /* Set the default address aging time to 5 minutes, and
         * enable address learn messages to be sent to all message
         * ports.