]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: dsa: microchip: remove useless common cls_flower_{add/del} operations
authorBastien Curutchet (Schneider Electric) <bastien.curutchet@bootlin.com>
Mon, 8 Jun 2026 14:10:04 +0000 (16:10 +0200)
committerJakub Kicinski <kuba@kernel.org>
Sat, 13 Jun 2026 01:08:06 +0000 (18:08 -0700)
All the KSZ switches share a common implementation of the
cls_flower_{add/del} operations. These common implementations return
ksz9477-specific implementations for the KSZ9477 family and -EOPNOTSUPP
for the others. -EOPNOTSUPP is already returned by the DSA core when
the operation isn't implemented.

Remove the common implementations.
Directly link the ksz9477_cls_flower_{add/del}() to the KSZ9477 callback.

Signed-off-by: Bastien Curutchet (Schneider Electric) <bastien.curutchet@bootlin.com>
Link: https://patch.msgid.link/20260608-clean-ksz-3rd-v2-1-6e61b7be23c4@bootlin.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/dsa/microchip/ksz8.c
drivers/net/dsa/microchip/ksz9477.c
drivers/net/dsa/microchip/ksz_common.c
drivers/net/dsa/microchip/ksz_common.h
drivers/net/dsa/microchip/lan937x_main.c

index 4ec2d5d2a1bc0781b556d38cf5d96156fdb584ef..8046c8a94bc6d5cd7c4565011387187e7ec16e88 100644 (file)
@@ -2551,8 +2551,6 @@ const struct dsa_switch_ops ksz8463_switch_ops = {
        .port_hwtstamp_set      = ksz_hwtstamp_set,
        .port_txtstamp          = ksz_port_txtstamp,
        .port_rxtstamp          = ksz_port_rxtstamp,
-       .cls_flower_add         = ksz_cls_flower_add,
-       .cls_flower_del         = ksz_cls_flower_del,
        .port_setup_tc          = ksz_setup_tc,
        .support_eee            = ksz_support_eee,
        .set_mac_eee            = ksz_set_mac_eee,
@@ -2611,8 +2609,6 @@ const struct dsa_switch_ops ksz87xx_switch_ops = {
        .port_hwtstamp_set      = ksz_hwtstamp_set,
        .port_txtstamp          = ksz_port_txtstamp,
        .port_rxtstamp          = ksz_port_rxtstamp,
-       .cls_flower_add         = ksz_cls_flower_add,
-       .cls_flower_del         = ksz_cls_flower_del,
        .port_setup_tc          = ksz_setup_tc,
        .support_eee            = ksz_support_eee,
        .set_mac_eee            = ksz_set_mac_eee,
@@ -2671,8 +2667,6 @@ const struct dsa_switch_ops ksz88xx_switch_ops = {
        .port_hwtstamp_set      = ksz_hwtstamp_set,
        .port_txtstamp          = ksz_port_txtstamp,
        .port_rxtstamp          = ksz_port_rxtstamp,
-       .cls_flower_add         = ksz_cls_flower_add,
-       .cls_flower_del         = ksz_cls_flower_del,
        .port_setup_tc          = ksz_setup_tc,
        .support_eee            = ksz_support_eee,
        .set_mac_eee            = ksz_set_mac_eee,
index c1395322e54bac7839ff697b492013361fd222f9..c18bad08a508edd9dadf157d18057be86874b13b 100644 (file)
@@ -1996,8 +1996,8 @@ const struct dsa_switch_ops ksz9477_switch_ops = {
        .port_hwtstamp_set      = ksz_hwtstamp_set,
        .port_txtstamp          = ksz_port_txtstamp,
        .port_rxtstamp          = ksz_port_rxtstamp,
-       .cls_flower_add         = ksz_cls_flower_add,
-       .cls_flower_del         = ksz_cls_flower_del,
+       .cls_flower_add         = ksz9477_cls_flower_add,
+       .cls_flower_del         = ksz9477_cls_flower_del,
        .port_setup_tc          = ksz_setup_tc,
        .support_eee            = ksz_support_eee,
        .set_mac_eee            = ksz_set_mac_eee,
index 57c8abfe0147deb67bc86820c90754c2cf8dad91..81d3ec88e436083af1a6df22673ba072c96773b0 100644 (file)
@@ -3373,48 +3373,6 @@ static int ksz_switch_detect(struct ksz_device *dev)
        return 0;
 }
 
-int ksz_cls_flower_add(struct dsa_switch *ds, int port,
-                      struct flow_cls_offload *cls, bool ingress)
-{
-       struct ksz_device *dev = ds->priv;
-
-       switch (dev->chip_id) {
-       case KSZ8563_CHIP_ID:
-       case KSZ8567_CHIP_ID:
-       case KSZ9477_CHIP_ID:
-       case KSZ9563_CHIP_ID:
-       case KSZ9567_CHIP_ID:
-       case KSZ9893_CHIP_ID:
-       case KSZ9896_CHIP_ID:
-       case KSZ9897_CHIP_ID:
-       case LAN9646_CHIP_ID:
-               return ksz9477_cls_flower_add(ds, port, cls, ingress);
-       }
-
-       return -EOPNOTSUPP;
-}
-
-int ksz_cls_flower_del(struct dsa_switch *ds, int port,
-                      struct flow_cls_offload *cls, bool ingress)
-{
-       struct ksz_device *dev = ds->priv;
-
-       switch (dev->chip_id) {
-       case KSZ8563_CHIP_ID:
-       case KSZ8567_CHIP_ID:
-       case KSZ9477_CHIP_ID:
-       case KSZ9563_CHIP_ID:
-       case KSZ9567_CHIP_ID:
-       case KSZ9893_CHIP_ID:
-       case KSZ9896_CHIP_ID:
-       case KSZ9897_CHIP_ID:
-       case LAN9646_CHIP_ID:
-               return ksz9477_cls_flower_del(ds, port, cls, ingress);
-       }
-
-       return -EOPNOTSUPP;
-}
-
 /* Bandwidth is calculated by idle slope/transmission speed. Then the Bandwidth
  * is converted to Hex-decimal using the successive multiplication method. On
  * every step, integer part is taken and decimal part is carry forwarded.
index 45613b9aeb1e780fe7b234e7991be2e0863add9a..1c22d10eff841556a0b37b313e51e5ce4998f54b 100644 (file)
@@ -487,10 +487,6 @@ bool ksz_support_eee(struct dsa_switch *ds, int port);
 int ksz_set_mac_eee(struct dsa_switch *ds, int port,
                    struct ethtool_keee *e);
 
-int ksz_cls_flower_add(struct dsa_switch *ds, int port,
-                      struct flow_cls_offload *cls, bool ingress);
-int ksz_cls_flower_del(struct dsa_switch *ds, int port,
-                      struct flow_cls_offload *cls, bool ingress);
 int ksz_setup_tc(struct dsa_switch *ds, int port,
                 enum tc_setup_type type, void *type_data);
 
index 536153886f7b8cea9e5adc38abcaeed4d8b2d5fa..731737fd58d1f0d5b10cea5be48965d97363315c 100644 (file)
@@ -890,8 +890,6 @@ const struct dsa_switch_ops lan937x_switch_ops = {
        .port_hwtstamp_set      = ksz_hwtstamp_set,
        .port_txtstamp          = ksz_port_txtstamp,
        .port_rxtstamp          = ksz_port_rxtstamp,
-       .cls_flower_add         = ksz_cls_flower_add,
-       .cls_flower_del         = ksz_cls_flower_del,
        .port_setup_tc          = ksz_setup_tc,
        .support_eee            = ksz_support_eee,
        .set_mac_eee            = ksz_set_mac_eee,