caps = pl_config.mac_capabilities;
 
                if (chip->info->ops->port_max_speed_mode)
-                       mode = chip->info->ops->port_max_speed_mode(port);
+                       mode = chip->info->ops->port_max_speed_mode(chip, port);
                else
                        mode = PHY_INTERFACE_MODE_NA;
 
 
                                     int speed, int duplex);
 
        /* What interface mode should be used for maximum speed? */
-       phy_interface_t (*port_max_speed_mode)(int port);
+       phy_interface_t (*port_max_speed_mode)(struct mv88e6xxx_chip *chip,
+                                              int port);
 
        int (*port_tag_remap)(struct mv88e6xxx_chip *chip, int port);
 
 
                                               duplex);
 }
 
-phy_interface_t mv88e6341_port_max_speed_mode(int port)
+phy_interface_t mv88e6341_port_max_speed_mode(struct mv88e6xxx_chip *chip,
+                                             int port)
 {
        if (port == 5)
                return PHY_INTERFACE_MODE_2500BASEX;
                                               duplex);
 }
 
-phy_interface_t mv88e6390_port_max_speed_mode(int port)
+phy_interface_t mv88e6390_port_max_speed_mode(struct mv88e6xxx_chip *chip,
+                                             int port)
 {
        if (port == 9 || port == 10)
                return PHY_INTERFACE_MODE_2500BASEX;
                                               duplex);
 }
 
-phy_interface_t mv88e6390x_port_max_speed_mode(int port)
+phy_interface_t mv88e6390x_port_max_speed_mode(struct mv88e6xxx_chip *chip,
+                                              int port)
 {
        if (port == 9 || port == 10)
                return PHY_INTERFACE_MODE_XAUI;
        return 0;
 }
 
-phy_interface_t mv88e6393x_port_max_speed_mode(int port)
+phy_interface_t mv88e6393x_port_max_speed_mode(struct mv88e6xxx_chip *chip,
+                                              int port)
 {
        if (port == 0 || port == 9 || port == 10)
                return PHY_INTERFACE_MODE_10GBASER;
 
 int mv88e6393x_port_set_speed_duplex(struct mv88e6xxx_chip *chip, int port,
                                     int speed, int duplex);
 
-phy_interface_t mv88e6341_port_max_speed_mode(int port);
-phy_interface_t mv88e6390_port_max_speed_mode(int port);
-phy_interface_t mv88e6390x_port_max_speed_mode(int port);
-phy_interface_t mv88e6393x_port_max_speed_mode(int port);
+phy_interface_t mv88e6341_port_max_speed_mode(struct mv88e6xxx_chip *chip,
+                                             int port);
+phy_interface_t mv88e6390_port_max_speed_mode(struct mv88e6xxx_chip *chip,
+                                             int port);
+phy_interface_t mv88e6390x_port_max_speed_mode(struct mv88e6xxx_chip *chip,
+                                              int port);
+phy_interface_t mv88e6393x_port_max_speed_mode(struct mv88e6xxx_chip *chip,
+                                              int port);
 
 int mv88e6xxx_port_set_state(struct mv88e6xxx_chip *chip, int port, u8 state);