}
 }
 
-static int
+static void
 mt7530_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
                  phy_interface_t interface)
 {
                mt7530_setup_port5(priv->ds, interface);
        else if (port == 6)
                mt7530_setup_port6(priv->ds, interface);
-
-       return 0;
 }
 
-static int mt7531_rgmii_setup(struct mt7530_priv *priv, u32 port,
-                             phy_interface_t interface,
-                             struct phy_device *phydev)
+static void mt7531_rgmii_setup(struct mt7530_priv *priv, u32 port,
+                              phy_interface_t interface,
+                              struct phy_device *phydev)
 {
        u32 val;
 
-       if (priv->p5_sgmii) {
-               dev_err(priv->dev, "RGMII mode is not available for port %d\n",
-                       port);
-               return -EINVAL;
-       }
-
        val = mt7530_read(priv, MT7531_CLKGEN_CTRL);
        val |= GP_CLK_EN;
        val &= ~GP_MODE_MASK;
                case PHY_INTERFACE_MODE_RGMII_ID:
                        break;
                default:
-                       return -EINVAL;
+                       break;
                }
        }
-       mt7530_write(priv, MT7531_CLKGEN_CTRL, val);
-
-       return 0;
-}
 
-static bool mt753x_is_mac_port(u32 port)
-{
-       return (port == 5 || port == 6);
+       mt7530_write(priv, MT7531_CLKGEN_CTRL, val);
 }
 
-static int
+static void
 mt7531_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
                  phy_interface_t interface)
 {
        struct phy_device *phydev;
        struct dsa_port *dp;
 
-       if (!mt753x_is_mac_port(port)) {
-               dev_err(priv->dev, "port %d is not a MAC port\n", port);
-               return -EINVAL;
-       }
-
-       switch (interface) {
-       case PHY_INTERFACE_MODE_RGMII:
-       case PHY_INTERFACE_MODE_RGMII_ID:
-       case PHY_INTERFACE_MODE_RGMII_RXID:
-       case PHY_INTERFACE_MODE_RGMII_TXID:
+       if (phy_interface_mode_is_rgmii(interface)) {
                dp = dsa_to_port(ds, port);
                phydev = dp->user->phydev;
-               return mt7531_rgmii_setup(priv, port, interface, phydev);
-       case PHY_INTERFACE_MODE_SGMII:
-       case PHY_INTERFACE_MODE_NA:
-       case PHY_INTERFACE_MODE_1000BASEX:
-       case PHY_INTERFACE_MODE_2500BASEX:
-               /* handled in SGMII PCS driver */
-               return 0;
-       default:
-               return -EINVAL;
+               mt7531_rgmii_setup(priv, port, interface, phydev);
        }
-
-       return -EINVAL;
 }
 
-static int
+static void
 mt753x_mac_config(struct dsa_switch *ds, int port, unsigned int mode,
                  const struct phylink_link_state *state)
 {
        struct mt7530_priv *priv = ds->priv;
 
-       if (!priv->info->mac_port_config)
-               return 0;
-
-       return priv->info->mac_port_config(ds, port, mode, state->interface);
+       if (priv->info->mac_port_config)
+               priv->info->mac_port_config(ds, port, mode, state->interface);
 }
 
 static struct phylink_pcs *
        u32 mcr_cur, mcr_new;
 
        switch (port) {
-       case 0 ... 4:
-               if (state->interface != PHY_INTERFACE_MODE_GMII &&
-                   state->interface != PHY_INTERFACE_MODE_INTERNAL)
-                       goto unsupported;
-               break;
        case 5:
                if (priv->p5_interface == state->interface)
                        break;
 
-               if (mt753x_mac_config(ds, port, mode, state) < 0)
-                       goto unsupported;
+               mt753x_mac_config(ds, port, mode, state);
 
                if (priv->p5_intf_sel != P5_DISABLED)
                        priv->p5_interface = state->interface;
                if (priv->p6_interface == state->interface)
                        break;
 
-               if (mt753x_mac_config(ds, port, mode, state) < 0)
-                       goto unsupported;
+               mt753x_mac_config(ds, port, mode, state);
 
                priv->p6_interface = state->interface;
                break;
-       default:
-unsupported:
-               dev_err(ds->dev, "%s: unsupported %s port: %i\n",
-                       __func__, phy_modes(state->interface), port);
-               return;
        }
 
        mcr_cur = mt7530_read(priv, MT7530_PMCR_P(port));
        struct mt7530_priv *priv = ds->priv;
        phy_interface_t interface;
        int speed;
-       int ret;
 
        switch (port) {
        case 5:
        else
                speed = SPEED_1000;
 
-       ret = mt7531_mac_config(ds, port, MLO_AN_FIXED, interface);
-       if (ret)
-               return ret;
+       mt7531_mac_config(ds, port, MLO_AN_FIXED, interface);
+
        mt7530_write(priv, MT7530_PMCR_P(port),
                     PMCR_CPU_PORT_SETTING(priv->id));
        mt753x_phylink_mac_link_up(ds, port, MLO_AN_FIXED, interface, NULL,