Lines Matching refs:block_cb
207 struct flow_block_cb *block_cb; in mlxsw_sp_setup_tc_block_bind() local
211 block_cb = flow_block_cb_lookup(f->block, mlxsw_sp_flow_block_cb, in mlxsw_sp_setup_tc_block_bind()
213 if (!block_cb) { in mlxsw_sp_setup_tc_block_bind()
217 block_cb = flow_block_cb_alloc(mlxsw_sp_flow_block_cb, in mlxsw_sp_setup_tc_block_bind()
220 if (IS_ERR(block_cb)) { in mlxsw_sp_setup_tc_block_bind()
222 return PTR_ERR(block_cb); in mlxsw_sp_setup_tc_block_bind()
226 flow_block = flow_block_cb_priv(block_cb); in mlxsw_sp_setup_tc_block_bind()
228 flow_block_cb_incref(block_cb); in mlxsw_sp_setup_tc_block_bind()
240 flow_block_cb_add(block_cb, f); in mlxsw_sp_setup_tc_block_bind()
241 list_add_tail(&block_cb->driver_list, &mlxsw_sp_block_cb_list); in mlxsw_sp_setup_tc_block_bind()
247 if (!flow_block_cb_decref(block_cb)) in mlxsw_sp_setup_tc_block_bind()
248 flow_block_cb_free(block_cb); in mlxsw_sp_setup_tc_block_bind()
258 struct flow_block_cb *block_cb; in mlxsw_sp_setup_tc_block_unbind() local
261 block_cb = flow_block_cb_lookup(f->block, mlxsw_sp_flow_block_cb, in mlxsw_sp_setup_tc_block_unbind()
263 if (!block_cb) in mlxsw_sp_setup_tc_block_unbind()
271 flow_block = flow_block_cb_priv(block_cb); in mlxsw_sp_setup_tc_block_unbind()
274 if (!err && !flow_block_cb_decref(block_cb)) { in mlxsw_sp_setup_tc_block_unbind()
275 flow_block_cb_remove(block_cb, f); in mlxsw_sp_setup_tc_block_unbind()
276 list_del(&block_cb->driver_list); in mlxsw_sp_setup_tc_block_unbind()