net: dsa: microchip: add config_cpu_port to struct ksz_dev_ops
authorArun Ramadoss <arun.ramadoss@microchip.com>
Wed, 22 Jun 2022 09:04:14 +0000 (14:34 +0530)
committerDavid S. Miller <davem@davemloft.net>
Fri, 24 Jun 2022 10:31:43 +0000 (11:31 +0100)
To have the common set of initialization in ksz_setup, introduced the
new config_cpu_port member to ksz_dev_ops. Since both the ksz8795.c and
ksz9477.c configuring the cpu port in the setup function, introduced the
member.

Signed-off-by: Arun Ramadoss <arun.ramadoss@microchip.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/dsa/microchip/ksz8795.c
drivers/net/dsa/microchip/ksz9477.c
drivers/net/dsa/microchip/ksz_common.h

index ad58112bda4450b6ec409edd17f9bea1bcfd5efe..0df2140b7ccc2063ad0c5a76bfadbceb4a9901c7 100644 (file)
@@ -1402,7 +1402,7 @@ static int ksz8_setup(struct dsa_switch *ds)
                           UNICAST_VLAN_BOUNDARY | NO_EXC_COLLISION_DROP,
                           UNICAST_VLAN_BOUNDARY | NO_EXC_COLLISION_DROP);
 
-       ksz8_config_cpu_port(ds);
+       dev->dev_ops->config_cpu_port(ds);
 
        ksz_cfg(dev, REG_SW_CTRL_2, MULTICAST_STORM_DISABLE, true);
 
@@ -1545,6 +1545,7 @@ static const struct ksz_dev_ops ksz8_dev_ops = {
        .mirror_add = ksz8_port_mirror_add,
        .mirror_del = ksz8_port_mirror_del,
        .get_caps = ksz8_get_caps,
+       .config_cpu_port = ksz8_config_cpu_port,
        .reset = ksz8_reset_switch,
        .init = ksz8_switch_init,
        .exit = ksz8_switch_exit,
index 4e0e9507e62ad9983e06645bb56e2e2e82c1344f..fef8142440cfb889d0366902bf75121e3bf5960f 100644 (file)
@@ -1268,7 +1268,7 @@ static int ksz9477_setup(struct dsa_switch *ds)
        if (ret)
                return ret;
 
-       ksz9477_config_cpu_port(ds);
+       dev->dev_ops->config_cpu_port(ds);
 
        ksz_cfg(dev, REG_SW_MAC_CTRL_1, MULTICAST_STORM_DISABLE, true);
 
@@ -1400,6 +1400,7 @@ static const struct ksz_dev_ops ksz9477_dev_ops = {
        .mdb_del = ksz9477_mdb_del,
        .change_mtu = ksz9477_change_mtu,
        .max_mtu = ksz9477_max_mtu,
+       .config_cpu_port = ksz9477_config_cpu_port,
        .reset = ksz9477_reset_switch,
        .init = ksz9477_switch_init,
        .exit = ksz9477_switch_exit,
index 44f60922be927945fbfb232036072a16a005a8d4..d5b53b5b7b51314de2058457e4722e54b7ca60d4 100644 (file)
@@ -204,6 +204,7 @@ struct ksz_dev_ops {
        int (*max_mtu)(struct ksz_device *dev, int port);
        void (*freeze_mib)(struct ksz_device *dev, int port, bool freeze);
        void (*port_init_cnt)(struct ksz_device *dev, int port);
+       void (*config_cpu_port)(struct dsa_switch *ds);
        int (*reset)(struct ksz_device *dev);
        int (*init)(struct ksz_device *dev);
        void (*exit)(struct ksz_device *dev);