net: dsa: hellcreek: refactor hellcreek_port_setup_tc() to use switch/case
authorVladimir Oltean <vladimir.oltean@nxp.com>
Wed, 28 Sep 2022 09:52:00 +0000 (12:52 +0300)
committerJakub Kicinski <kuba@kernel.org>
Fri, 30 Sep 2022 01:52:05 +0000 (18:52 -0700)
The following patch will need to make this function also respond to
TC_QUERY_BASE, so make the processing more structured around the
tc_setup_type.

Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
Reviewed-by: Kurt Kanzenbach <kurt@linutronix.de>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/dsa/hirschmann/hellcreek.c

index eac6ace..19e61d4 100644 (file)
@@ -1812,19 +1812,23 @@ static bool hellcreek_validate_schedule(struct hellcreek *hellcreek,
 static int hellcreek_port_setup_tc(struct dsa_switch *ds, int port,
                                   enum tc_setup_type type, void *type_data)
 {
-       struct tc_taprio_qopt_offload *taprio = type_data;
        struct hellcreek *hellcreek = ds->priv;
 
-       if (type != TC_SETUP_QDISC_TAPRIO)
-               return -EOPNOTSUPP;
+       switch (type) {
+       case TC_SETUP_QDISC_TAPRIO: {
+               struct tc_taprio_qopt_offload *taprio = type_data;
 
-       if (!hellcreek_validate_schedule(hellcreek, taprio))
-               return -EOPNOTSUPP;
+               if (!hellcreek_validate_schedule(hellcreek, taprio))
+                       return -EOPNOTSUPP;
 
-       if (taprio->enable)
-               return hellcreek_port_set_schedule(ds, port, taprio);
+               if (taprio->enable)
+                       return hellcreek_port_set_schedule(ds, port, taprio);
 
-       return hellcreek_port_del_schedule(ds, port);
+               return hellcreek_port_del_schedule(ds, port);
+       }
+       default:
+               return -EOPNOTSUPP;
+       }
 }
 
 static const struct dsa_switch_ops hellcreek_ds_ops = {