return ksz_rmw8(dev, REG_SW_CTRL_2, SW_LEGAL_PACKET_DISABLE, ctrl2);
}
-static int ksz8_change_mtu(struct ksz_device *dev, int port, int mtu)
+static int ksz8_change_mtu(struct dsa_switch *ds, int port, int mtu)
{
+ struct ksz_device *dev = ds->priv;
u16 frame_size;
if (!dsa_is_cpu_port(dev->ds, port))
.reset = ksz8_reset_switch,
.init = ksz8_switch_init,
.exit = ksz8_switch_exit,
- .change_mtu = ksz8_change_mtu,
};
const struct ksz_dev_ops ksz87xx_dev_ops = {
.reset = ksz8_reset_switch,
.init = ksz8_switch_init,
.exit = ksz8_switch_exit,
- .change_mtu = ksz8_change_mtu,
.pme_write8 = ksz8_pme_write8,
.pme_pread8 = ksz8_pme_pread8,
.pme_pwrite8 = ksz8_pme_pwrite8,
.reset = ksz8_reset_switch,
.init = ksz8_switch_init,
.exit = ksz8_switch_exit,
- .change_mtu = ksz8_change_mtu,
.pme_write8 = ksz8_pme_write8,
.pme_pread8 = ksz8_pme_pread8,
.pme_pwrite8 = ksz8_pme_pwrite8,
.port_mirror_del = ksz_port_mirror_del,
.get_stats64 = ksz_get_stats64,
.get_pause_stats = ksz_get_pause_stats,
- .port_change_mtu = ksz_change_mtu,
+ .port_change_mtu = ksz8_change_mtu,
.port_max_mtu = ksz_max_mtu,
.get_wol = ksz_get_wol,
.set_wol = ksz_set_wol,
.port_mirror_del = ksz_port_mirror_del,
.get_stats64 = ksz_get_stats64,
.get_pause_stats = ksz_get_pause_stats,
- .port_change_mtu = ksz_change_mtu,
+ .port_change_mtu = ksz8_change_mtu,
.port_max_mtu = ksz_max_mtu,
.get_wol = ksz_get_wol,
.set_wol = ksz_set_wol,
.port_mirror_del = ksz_port_mirror_del,
.get_stats64 = ksz_get_stats64,
.get_pause_stats = ksz_get_pause_stats,
- .port_change_mtu = ksz_change_mtu,
+ .port_change_mtu = ksz8_change_mtu,
.port_max_mtu = ksz_max_mtu,
.get_wol = ksz_get_wol,
.set_wol = ksz_set_wol,
bits, set ? bits : 0);
}
-static int ksz9477_change_mtu(struct ksz_device *dev, int port, int mtu)
+static int ksz9477_change_mtu(struct dsa_switch *ds, int port, int mtu)
{
+ struct ksz_device *dev = ds->priv;
u16 frame_size;
if (!dsa_is_cpu_port(dev->ds, port))
.fdb_del = ksz9477_fdb_del,
.mdb_add = ksz9477_mdb_add,
.mdb_del = ksz9477_mdb_del,
- .change_mtu = ksz9477_change_mtu,
.pme_write8 = ksz_write8,
.pme_pread8 = ksz_pread8,
.pme_pwrite8 = ksz_pwrite8,
.port_mirror_del = ksz_port_mirror_del,
.get_stats64 = ksz_get_stats64,
.get_pause_stats = ksz_get_pause_stats,
- .port_change_mtu = ksz_change_mtu,
+ .port_change_mtu = ksz9477_change_mtu,
.port_max_mtu = ksz_max_mtu,
.get_wol = ksz_get_wol,
.set_wol = ksz_set_wol,
dev->dev_ops->mirror_del(dev, port, mirror);
}
-int ksz_change_mtu(struct dsa_switch *ds, int port, int mtu)
-{
- struct ksz_device *dev = ds->priv;
-
- if (!dev->dev_ops->change_mtu)
- return -EOPNOTSUPP;
-
- return dev->dev_ops->change_mtu(dev, port, mtu);
-}
-
int ksz_max_mtu(struct dsa_switch *ds, int port)
{
struct ksz_device *dev = ds->priv;
struct dsa_db db);
void (*get_caps)(struct ksz_device *dev, int port,
struct phylink_config *config);
- int (*change_mtu)(struct ksz_device *dev, int port, int mtu);
int (*pme_write8)(struct ksz_device *dev, u32 reg, u8 value);
int (*pme_pread8)(struct ksz_device *dev, int port, int offset,
u8 *data);
bool ingress, struct netlink_ext_ack *extack);
void ksz_port_mirror_del(struct dsa_switch *ds, int port,
struct dsa_mall_mirror_tc_entry *mirror);
-int ksz_change_mtu(struct dsa_switch *ds, int port, int mtu);
int ksz_max_mtu(struct dsa_switch *ds, int port);
bool ksz_support_eee(struct dsa_switch *ds, int port);
}
}
-static int lan937x_change_mtu(struct ksz_device *dev, int port, int new_mtu)
+static int lan937x_change_mtu(struct dsa_switch *ds, int port, int new_mtu)
{
- struct dsa_switch *ds = dev->ds;
+ struct ksz_device *dev = ds->priv;
int ret;
new_mtu += VLAN_ETH_HLEN + ETH_FCS_LEN;
.fdb_del = ksz9477_fdb_del,
.mdb_add = ksz9477_mdb_add,
.mdb_del = ksz9477_mdb_del,
- .change_mtu = lan937x_change_mtu,
.config_cpu_port = lan937x_config_cpu_port,
.tc_cbs_set_cinc = lan937x_tc_cbs_set_cinc,
.enable_stp_addr = ksz9477_enable_stp_addr,
.port_mirror_del = ksz_port_mirror_del,
.get_stats64 = ksz_get_stats64,
.get_pause_stats = ksz_get_pause_stats,
- .port_change_mtu = ksz_change_mtu,
+ .port_change_mtu = lan937x_change_mtu,
.port_max_mtu = ksz_max_mtu,
.get_wol = ksz_get_wol,
.set_wol = ksz_set_wol,