}
 #endif /* CONFIG_NET_CLS_IND */
 
-int tc_setup_cb_call(struct tcf_block *block, struct tcf_exts *exts,
-                    enum tc_setup_type type, void *type_data, bool err_stop);
+int tc_setup_cb_call(struct tcf_block *block, enum tc_setup_type type,
+                    void *type_data, bool err_stop);
 
 enum tc_block_command {
        TC_BLOCK_BIND,
 
 }
 EXPORT_SYMBOL(tcf_block_cb_unregister);
 
-static int tcf_block_cb_call(struct tcf_block *block, enum tc_setup_type type,
-                            void *type_data, bool err_stop)
-{
-       struct tcf_block_cb *block_cb;
-       int ok_count = 0;
-       int err;
-
-       /* Make sure all netdevs sharing this block are offload-capable. */
-       if (block->nooffloaddevcnt && err_stop)
-               return -EOPNOTSUPP;
-
-       list_for_each_entry(block_cb, &block->cb_list, list) {
-               err = block_cb->cb(type, type_data, block_cb->cb_priv);
-               if (err) {
-                       if (err_stop)
-                               return err;
-               } else {
-                       ok_count++;
-               }
-       }
-       return ok_count;
-}
-
 /* Main classifier routine: scans classifier chain attached
  * to this qdisc, (optionally) tests for protocol and asks
  * specific classifiers.
 }
 EXPORT_SYMBOL(tcf_exts_dump_stats);
 
-int tc_setup_cb_call(struct tcf_block *block, struct tcf_exts *exts,
-                    enum tc_setup_type type, void *type_data, bool err_stop)
+int tc_setup_cb_call(struct tcf_block *block, enum tc_setup_type type,
+                    void *type_data, bool err_stop)
 {
-       return tcf_block_cb_call(block, type, type_data, err_stop);
+       struct tcf_block_cb *block_cb;
+       int ok_count = 0;
+       int err;
+
+       /* Make sure all netdevs sharing this block are offload-capable. */
+       if (block->nooffloaddevcnt && err_stop)
+               return -EOPNOTSUPP;
+
+       list_for_each_entry(block_cb, &block->cb_list, list) {
+               err = block_cb->cb(type, type_data, block_cb->cb_priv);
+               if (err) {
+                       if (err_stop)
+                               return err;
+               } else {
+                       ok_count++;
+               }
+       }
+       return ok_count;
 }
 EXPORT_SYMBOL(tc_setup_cb_call);
 
 
        if (oldprog)
                tcf_block_offload_dec(block, &oldprog->gen_flags);
 
-       err = tc_setup_cb_call(block, NULL, TC_SETUP_CLSBPF, &cls_bpf, skip_sw);
+       err = tc_setup_cb_call(block, TC_SETUP_CLSBPF, &cls_bpf, skip_sw);
        if (prog) {
                if (err < 0) {
                        cls_bpf_offload_cmd(tp, oldprog, prog, extack);
        cls_bpf.name = prog->bpf_name;
        cls_bpf.exts_integrated = prog->exts_integrated;
 
-       tc_setup_cb_call(block, NULL, TC_SETUP_CLSBPF, &cls_bpf, false);
+       tc_setup_cb_call(block, TC_SETUP_CLSBPF, &cls_bpf, false);
 }
 
 static int cls_bpf_init(struct tcf_proto *tp)
 
        cls_flower.command = TC_CLSFLOWER_DESTROY;
        cls_flower.cookie = (unsigned long) f;
 
-       tc_setup_cb_call(block, &f->exts, TC_SETUP_CLSFLOWER,
-                        &cls_flower, false);
+       tc_setup_cb_call(block, TC_SETUP_CLSFLOWER, &cls_flower, false);
        tcf_block_offload_dec(block, &f->flags);
 }
 
        cls_flower.exts = &f->exts;
        cls_flower.classid = f->res.classid;
 
-       err = tc_setup_cb_call(block, &f->exts, TC_SETUP_CLSFLOWER,
-                              &cls_flower, skip_sw);
+       err = tc_setup_cb_call(block, TC_SETUP_CLSFLOWER, &cls_flower, skip_sw);
        if (err < 0) {
                fl_hw_destroy_filter(tp, f, NULL);
                return err;
        cls_flower.exts = &f->exts;
        cls_flower.classid = f->res.classid;
 
-       tc_setup_cb_call(block, &f->exts, TC_SETUP_CLSFLOWER,
-                        &cls_flower, false);
+       tc_setup_cb_call(block, TC_SETUP_CLSFLOWER, &cls_flower, false);
 }
 
 static bool __fl_delete(struct tcf_proto *tp, struct cls_fl_filter *f,
        /* We don't care if driver (any of them) fails to handle this
         * call. It serves just as a hint for it.
         */
-       tc_setup_cb_call(block, NULL, TC_SETUP_CLSFLOWER,
-                        &cls_flower, false);
+       tc_setup_cb_call(block, TC_SETUP_CLSFLOWER, &cls_flower, false);
 }
 
 static void fl_hw_destroy_tmplt(struct tcf_chain *chain,
        cls_flower.command = TC_CLSFLOWER_TMPLT_DESTROY;
        cls_flower.cookie = (unsigned long) tmplt;
 
-       tc_setup_cb_call(block, NULL, TC_SETUP_CLSFLOWER,
-                        &cls_flower, false);
+       tc_setup_cb_call(block, TC_SETUP_CLSFLOWER, &cls_flower, false);
 }
 
 static void *fl_tmplt_create(struct net *net, struct tcf_chain *chain,
 
        cls_mall.command = TC_CLSMATCHALL_DESTROY;
        cls_mall.cookie = cookie;
 
-       tc_setup_cb_call(block, NULL, TC_SETUP_CLSMATCHALL, &cls_mall, false);
+       tc_setup_cb_call(block, TC_SETUP_CLSMATCHALL, &cls_mall, false);
        tcf_block_offload_dec(block, &head->flags);
 }
 
        cls_mall.exts = &head->exts;
        cls_mall.cookie = cookie;
 
-       err = tc_setup_cb_call(block, NULL, TC_SETUP_CLSMATCHALL,
-                              &cls_mall, skip_sw);
+       err = tc_setup_cb_call(block, TC_SETUP_CLSMATCHALL, &cls_mall, skip_sw);
        if (err < 0) {
                mall_destroy_hw_filter(tp, head, cookie, NULL);
                return err;
 
        cls_u32.hnode.handle = h->handle;
        cls_u32.hnode.prio = h->prio;
 
-       tc_setup_cb_call(block, NULL, TC_SETUP_CLSU32, &cls_u32, false);
+       tc_setup_cb_call(block, TC_SETUP_CLSU32, &cls_u32, false);
 }
 
 static int u32_replace_hw_hnode(struct tcf_proto *tp, struct tc_u_hnode *h,
        cls_u32.hnode.handle = h->handle;
        cls_u32.hnode.prio = h->prio;
 
-       err = tc_setup_cb_call(block, NULL, TC_SETUP_CLSU32, &cls_u32, skip_sw);
+       err = tc_setup_cb_call(block, TC_SETUP_CLSU32, &cls_u32, skip_sw);
        if (err < 0) {
                u32_clear_hw_hnode(tp, h, NULL);
                return err;
        cls_u32.command = TC_CLSU32_DELETE_KNODE;
        cls_u32.knode.handle = n->handle;
 
-       tc_setup_cb_call(block, NULL, TC_SETUP_CLSU32, &cls_u32, false);
+       tc_setup_cb_call(block, TC_SETUP_CLSU32, &cls_u32, false);
        tcf_block_offload_dec(block, &n->flags);
 }
 
        if (n->ht_down)
                cls_u32.knode.link_handle = ht->handle;
 
-       err = tc_setup_cb_call(block, NULL, TC_SETUP_CLSU32, &cls_u32, skip_sw);
+       err = tc_setup_cb_call(block, TC_SETUP_CLSU32, &cls_u32, skip_sw);
        if (err < 0) {
                u32_remove_hw_knode(tp, n, NULL);
                return err;