block_cb          764 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 	struct flow_block_cb *block_cb;
block_cb          787 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		block_cb = flow_block_cb_alloc(mlx5e_rep_indr_setup_block_cb,
block_cb          790 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		if (IS_ERR(block_cb)) {
block_cb          793 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 			return PTR_ERR(block_cb);
block_cb          795 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		flow_block_cb_add(block_cb, f);
block_cb          796 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		list_add_tail(&block_cb->driver_list, &mlx5e_block_cb_list);
block_cb          804 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		block_cb = flow_block_cb_lookup(f->block,
block_cb          807 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		if (!block_cb)
block_cb          810 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		flow_block_cb_remove(block_cb, f);
block_cb          811 drivers/net/ethernet/mellanox/mlx5/core/en_rep.c 		list_del(&block_cb->driver_list);
block_cb         1605 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 	struct flow_block_cb *block_cb;
block_cb         1609 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 	block_cb = flow_block_cb_lookup(f->block,
block_cb         1612 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 	if (!block_cb) {
block_cb         1616 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 		block_cb = flow_block_cb_alloc(mlxsw_sp_setup_tc_block_cb_flower,
block_cb         1619 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 		if (IS_ERR(block_cb)) {
block_cb         1621 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 			err = PTR_ERR(block_cb);
block_cb         1626 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 		acl_block = flow_block_cb_priv(block_cb);
block_cb         1628 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 	flow_block_cb_incref(block_cb);
block_cb         1640 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 		flow_block_cb_add(block_cb, f);
block_cb         1641 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 		list_add_tail(&block_cb->driver_list, &mlxsw_sp_block_cb_list);
block_cb         1647 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 	if (!flow_block_cb_decref(block_cb))
block_cb         1648 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 		flow_block_cb_free(block_cb);
block_cb         1659 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 	struct flow_block_cb *block_cb;
block_cb         1662 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 	block_cb = flow_block_cb_lookup(f->block,
block_cb         1665 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 	if (!block_cb)
block_cb         1673 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 	acl_block = flow_block_cb_priv(block_cb);
block_cb         1676 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 	if (!err && !flow_block_cb_decref(block_cb)) {
block_cb         1677 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 		flow_block_cb_remove(block_cb, f);
block_cb         1678 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 		list_del(&block_cb->driver_list);
block_cb         1685 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 	struct flow_block_cb *block_cb;
block_cb         1708 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 		block_cb = flow_block_cb_alloc(cb, mlxsw_sp_port,
block_cb         1710 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 		if (IS_ERR(block_cb))
block_cb         1711 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 			return PTR_ERR(block_cb);
block_cb         1715 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 			flow_block_cb_free(block_cb);
block_cb         1718 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 		flow_block_cb_add(block_cb, f);
block_cb         1719 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 		list_add_tail(&block_cb->driver_list, &mlxsw_sp_block_cb_list);
block_cb         1724 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 		block_cb = flow_block_cb_lookup(f->block, cb, mlxsw_sp_port);
block_cb         1725 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 		if (!block_cb)
block_cb         1728 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 		flow_block_cb_remove(block_cb, f);
block_cb         1729 drivers/net/ethernet/mellanox/mlxsw/spectrum.c 		list_del(&block_cb->driver_list);
block_cb          307 drivers/net/ethernet/mscc/ocelot_flower.c 	struct flow_block_cb *block_cb;
block_cb          313 drivers/net/ethernet/mscc/ocelot_flower.c 	block_cb = flow_block_cb_lookup(f->block,
block_cb          315 drivers/net/ethernet/mscc/ocelot_flower.c 	if (!block_cb) {
block_cb          320 drivers/net/ethernet/mscc/ocelot_flower.c 		block_cb = flow_block_cb_alloc(ocelot_setup_tc_block_cb_flower,
block_cb          323 drivers/net/ethernet/mscc/ocelot_flower.c 		if (IS_ERR(block_cb)) {
block_cb          324 drivers/net/ethernet/mscc/ocelot_flower.c 			ret = PTR_ERR(block_cb);
block_cb          327 drivers/net/ethernet/mscc/ocelot_flower.c 		flow_block_cb_add(block_cb, f);
block_cb          328 drivers/net/ethernet/mscc/ocelot_flower.c 		list_add_tail(&block_cb->driver_list, f->driver_block_list);
block_cb          330 drivers/net/ethernet/mscc/ocelot_flower.c 		port_block = flow_block_cb_priv(block_cb);
block_cb          333 drivers/net/ethernet/mscc/ocelot_flower.c 	flow_block_cb_incref(block_cb);
block_cb          345 drivers/net/ethernet/mscc/ocelot_flower.c 	struct flow_block_cb *block_cb;
block_cb          347 drivers/net/ethernet/mscc/ocelot_flower.c 	block_cb = flow_block_cb_lookup(f->block,
block_cb          349 drivers/net/ethernet/mscc/ocelot_flower.c 	if (!block_cb)
block_cb          352 drivers/net/ethernet/mscc/ocelot_flower.c 	if (!flow_block_cb_decref(block_cb)) {
block_cb          353 drivers/net/ethernet/mscc/ocelot_flower.c 		flow_block_cb_remove(block_cb, f);
block_cb          354 drivers/net/ethernet/mscc/ocelot_flower.c 		list_del(&block_cb->driver_list);
block_cb          136 drivers/net/ethernet/mscc/ocelot_tc.c 	struct flow_block_cb *block_cb;
block_cb          159 drivers/net/ethernet/mscc/ocelot_tc.c 		block_cb = flow_block_cb_alloc(cb, port, port, NULL);
block_cb          160 drivers/net/ethernet/mscc/ocelot_tc.c 		if (IS_ERR(block_cb))
block_cb          161 drivers/net/ethernet/mscc/ocelot_tc.c 			return PTR_ERR(block_cb);
block_cb          165 drivers/net/ethernet/mscc/ocelot_tc.c 			flow_block_cb_free(block_cb);
block_cb          168 drivers/net/ethernet/mscc/ocelot_tc.c 		flow_block_cb_add(block_cb, f);
block_cb          169 drivers/net/ethernet/mscc/ocelot_tc.c 		list_add_tail(&block_cb->driver_list, f->driver_block_list);
block_cb          172 drivers/net/ethernet/mscc/ocelot_tc.c 		block_cb = flow_block_cb_lookup(f->block, cb, port);
block_cb          173 drivers/net/ethernet/mscc/ocelot_tc.c 		if (!block_cb)
block_cb          177 drivers/net/ethernet/mscc/ocelot_tc.c 		flow_block_cb_remove(block_cb, f);
block_cb          178 drivers/net/ethernet/mscc/ocelot_tc.c 		list_del(&block_cb->driver_list);
block_cb         1477 drivers/net/ethernet/netronome/nfp/flower/offload.c 	struct flow_block_cb *block_cb;
block_cb         1492 drivers/net/ethernet/netronome/nfp/flower/offload.c 		block_cb = flow_block_cb_alloc(nfp_flower_setup_tc_block_cb,
block_cb         1494 drivers/net/ethernet/netronome/nfp/flower/offload.c 		if (IS_ERR(block_cb))
block_cb         1495 drivers/net/ethernet/netronome/nfp/flower/offload.c 			return PTR_ERR(block_cb);
block_cb         1497 drivers/net/ethernet/netronome/nfp/flower/offload.c 		flow_block_cb_add(block_cb, f);
block_cb         1498 drivers/net/ethernet/netronome/nfp/flower/offload.c 		list_add_tail(&block_cb->driver_list, &nfp_block_cb_list);
block_cb         1501 drivers/net/ethernet/netronome/nfp/flower/offload.c 		block_cb = flow_block_cb_lookup(f->block,
block_cb         1504 drivers/net/ethernet/netronome/nfp/flower/offload.c 		if (!block_cb)
block_cb         1507 drivers/net/ethernet/netronome/nfp/flower/offload.c 		flow_block_cb_remove(block_cb, f);
block_cb         1508 drivers/net/ethernet/netronome/nfp/flower/offload.c 		list_del(&block_cb->driver_list);
block_cb         1581 drivers/net/ethernet/netronome/nfp/flower/offload.c 	struct flow_block_cb *block_cb;
block_cb         1606 drivers/net/ethernet/netronome/nfp/flower/offload.c 		block_cb = flow_block_cb_alloc(nfp_flower_setup_indr_block_cb,
block_cb         1609 drivers/net/ethernet/netronome/nfp/flower/offload.c 		if (IS_ERR(block_cb)) {
block_cb         1612 drivers/net/ethernet/netronome/nfp/flower/offload.c 			return PTR_ERR(block_cb);
block_cb         1615 drivers/net/ethernet/netronome/nfp/flower/offload.c 		flow_block_cb_add(block_cb, f);
block_cb         1616 drivers/net/ethernet/netronome/nfp/flower/offload.c 		list_add_tail(&block_cb->driver_list, &nfp_block_cb_list);
block_cb         1623 drivers/net/ethernet/netronome/nfp/flower/offload.c 		block_cb = flow_block_cb_lookup(f->block,
block_cb         1626 drivers/net/ethernet/netronome/nfp/flower/offload.c 		if (!block_cb)
block_cb         1629 drivers/net/ethernet/netronome/nfp/flower/offload.c 		flow_block_cb_remove(block_cb, f);
block_cb         1630 drivers/net/ethernet/netronome/nfp/flower/offload.c 		list_del(&block_cb->driver_list);
block_cb          316 include/net/flow_offload.h void flow_block_cb_free(struct flow_block_cb *block_cb);
block_cb          321 include/net/flow_offload.h void *flow_block_cb_priv(struct flow_block_cb *block_cb);
block_cb          322 include/net/flow_offload.h void flow_block_cb_incref(struct flow_block_cb *block_cb);
block_cb          323 include/net/flow_offload.h unsigned int flow_block_cb_decref(struct flow_block_cb *block_cb);
block_cb          325 include/net/flow_offload.h static inline void flow_block_cb_add(struct flow_block_cb *block_cb,
block_cb          328 include/net/flow_offload.h 	list_add_tail(&block_cb->list, &offload->cb_list);
block_cb          331 include/net/flow_offload.h static inline void flow_block_cb_remove(struct flow_block_cb *block_cb,
block_cb          334 include/net/flow_offload.h 	list_move(&block_cb->list, &offload->cb_list);
block_cb          174 net/core/flow_offload.c 	struct flow_block_cb *block_cb;
block_cb          176 net/core/flow_offload.c 	block_cb = kzalloc(sizeof(*block_cb), GFP_KERNEL);
block_cb          177 net/core/flow_offload.c 	if (!block_cb)
block_cb          180 net/core/flow_offload.c 	block_cb->cb = cb;
block_cb          181 net/core/flow_offload.c 	block_cb->cb_ident = cb_ident;
block_cb          182 net/core/flow_offload.c 	block_cb->cb_priv = cb_priv;
block_cb          183 net/core/flow_offload.c 	block_cb->release = release;
block_cb          185 net/core/flow_offload.c 	return block_cb;
block_cb          189 net/core/flow_offload.c void flow_block_cb_free(struct flow_block_cb *block_cb)
block_cb          191 net/core/flow_offload.c 	if (block_cb->release)
block_cb          192 net/core/flow_offload.c 		block_cb->release(block_cb->cb_priv);
block_cb          194 net/core/flow_offload.c 	kfree(block_cb);
block_cb          201 net/core/flow_offload.c 	struct flow_block_cb *block_cb;
block_cb          203 net/core/flow_offload.c 	list_for_each_entry(block_cb, &block->cb_list, list) {
block_cb          204 net/core/flow_offload.c 		if (block_cb->cb == cb &&
block_cb          205 net/core/flow_offload.c 		    block_cb->cb_ident == cb_ident)
block_cb          206 net/core/flow_offload.c 			return block_cb;
block_cb          213 net/core/flow_offload.c void *flow_block_cb_priv(struct flow_block_cb *block_cb)
block_cb          215 net/core/flow_offload.c 	return block_cb->cb_priv;
block_cb          219 net/core/flow_offload.c void flow_block_cb_incref(struct flow_block_cb *block_cb)
block_cb          221 net/core/flow_offload.c 	block_cb->refcnt++;
block_cb          225 net/core/flow_offload.c unsigned int flow_block_cb_decref(struct flow_block_cb *block_cb)
block_cb          227 net/core/flow_offload.c 	return --block_cb->refcnt;
block_cb          234 net/core/flow_offload.c 	struct flow_block_cb *block_cb;
block_cb          236 net/core/flow_offload.c 	list_for_each_entry(block_cb, driver_block_list, driver_list) {
block_cb          237 net/core/flow_offload.c 		if (block_cb->cb == cb &&
block_cb          238 net/core/flow_offload.c 		    block_cb->cb_ident == cb_ident)
block_cb          252 net/core/flow_offload.c 	struct flow_block_cb *block_cb;
block_cb          265 net/core/flow_offload.c 		block_cb = flow_block_cb_alloc(cb, cb_ident, cb_priv, NULL);
block_cb          266 net/core/flow_offload.c 		if (IS_ERR(block_cb))
block_cb          267 net/core/flow_offload.c 			return PTR_ERR(block_cb);
block_cb          269 net/core/flow_offload.c 		flow_block_cb_add(block_cb, f);
block_cb          270 net/core/flow_offload.c 		list_add_tail(&block_cb->driver_list, driver_block_list);
block_cb          273 net/core/flow_offload.c 		block_cb = flow_block_cb_lookup(f->block, cb, cb_ident);
block_cb          274 net/core/flow_offload.c 		if (!block_cb)
block_cb          277 net/core/flow_offload.c 		flow_block_cb_remove(block_cb, f);
block_cb          278 net/core/flow_offload.c 		list_del(&block_cb->driver_list);
block_cb          994 net/dsa/slave.c 	struct flow_block_cb *block_cb;
block_cb         1011 net/dsa/slave.c 		block_cb = flow_block_cb_alloc(cb, dev, dev, NULL);
block_cb         1012 net/dsa/slave.c 		if (IS_ERR(block_cb))
block_cb         1013 net/dsa/slave.c 			return PTR_ERR(block_cb);
block_cb         1015 net/dsa/slave.c 		flow_block_cb_add(block_cb, f);
block_cb         1016 net/dsa/slave.c 		list_add_tail(&block_cb->driver_list, &dsa_slave_block_cb_list);
block_cb         1019 net/dsa/slave.c 		block_cb = flow_block_cb_lookup(f->block, cb, dev);
block_cb         1020 net/dsa/slave.c 		if (!block_cb)
block_cb         1023 net/dsa/slave.c 		flow_block_cb_remove(block_cb, f);
block_cb         1024 net/dsa/slave.c 		list_del(&block_cb->driver_list);
block_cb          141 net/netfilter/nf_tables_offload.c 	struct flow_block_cb *block_cb;
block_cb          144 net/netfilter/nf_tables_offload.c 	list_for_each_entry(block_cb, &basechain->flow_block.cb_list, list) {
block_cb          145 net/netfilter/nf_tables_offload.c 		err = block_cb->cb(type, type_data, block_cb->cb_priv);
block_cb          199 net/netfilter/nf_tables_offload.c 	struct flow_block_cb *block_cb, *next;
block_cb          201 net/netfilter/nf_tables_offload.c 	list_for_each_entry_safe(block_cb, next, &bo->cb_list, list) {
block_cb          202 net/netfilter/nf_tables_offload.c 		list_del(&block_cb->list);
block_cb          203 net/netfilter/nf_tables_offload.c 		flow_block_cb_free(block_cb);
block_cb         1480 net/sched/cls_api.c 	struct flow_block_cb *block_cb, *next;
block_cb         1485 net/sched/cls_api.c 	list_for_each_entry(block_cb, &bo->cb_list, list) {
block_cb         1486 net/sched/cls_api.c 		err = tcf_block_playback_offloads(block, block_cb->cb,
block_cb         1487 net/sched/cls_api.c 						  block_cb->cb_priv, true,
block_cb         1502 net/sched/cls_api.c 	list_for_each_entry_safe(block_cb, next, &bo->cb_list, list) {
block_cb         1504 net/sched/cls_api.c 			list_del(&block_cb->list);
block_cb         1505 net/sched/cls_api.c 			tcf_block_playback_offloads(block, block_cb->cb,
block_cb         1506 net/sched/cls_api.c 						    block_cb->cb_priv, false,
block_cb         1512 net/sched/cls_api.c 		flow_block_cb_free(block_cb);
block_cb         1521 net/sched/cls_api.c 	struct flow_block_cb *block_cb, *next;
block_cb         1525 net/sched/cls_api.c 	list_for_each_entry_safe(block_cb, next, &bo->cb_list, list) {
block_cb         1526 net/sched/cls_api.c 		tcf_block_playback_offloads(block, block_cb->cb,
block_cb         1527 net/sched/cls_api.c 					    block_cb->cb_priv, false,
block_cb         1530 net/sched/cls_api.c 		list_del(&block_cb->list);
block_cb         1531 net/sched/cls_api.c 		flow_block_cb_free(block_cb);
block_cb         3177 net/sched/cls_api.c 	struct flow_block_cb *block_cb;
block_cb         3181 net/sched/cls_api.c 	list_for_each_entry(block_cb, &block->flow_block.cb_list, list) {
block_cb         3182 net/sched/cls_api.c 		err = block_cb->cb(type, type_data, block_cb->cb_priv);