Lines Matching refs:egdev_cb
1572 struct tcf_action_egdev_cb *egdev_cb; in tcf_action_egdev_cb_lookup() local
1574 list_for_each_entry(egdev_cb, &egdev->cb_list, list) in tcf_action_egdev_cb_lookup()
1575 if (egdev_cb->cb == cb && egdev_cb->cb_priv == cb_priv) in tcf_action_egdev_cb_lookup()
1576 return egdev_cb; in tcf_action_egdev_cb_lookup()
1584 struct tcf_action_egdev_cb *egdev_cb; in tcf_action_egdev_cb_call() local
1588 list_for_each_entry(egdev_cb, &egdev->cb_list, list) { in tcf_action_egdev_cb_call()
1589 err = egdev_cb->cb(type, type_data, egdev_cb->cb_priv); in tcf_action_egdev_cb_call()
1603 struct tcf_action_egdev_cb *egdev_cb; in tcf_action_egdev_cb_add() local
1605 egdev_cb = tcf_action_egdev_cb_lookup(egdev, cb, cb_priv); in tcf_action_egdev_cb_add()
1606 if (WARN_ON(egdev_cb)) in tcf_action_egdev_cb_add()
1608 egdev_cb = kzalloc(sizeof(*egdev_cb), GFP_KERNEL); in tcf_action_egdev_cb_add()
1609 if (!egdev_cb) in tcf_action_egdev_cb_add()
1611 egdev_cb->cb = cb; in tcf_action_egdev_cb_add()
1612 egdev_cb->cb_priv = cb_priv; in tcf_action_egdev_cb_add()
1613 list_add(&egdev_cb->list, &egdev->cb_list); in tcf_action_egdev_cb_add()
1620 struct tcf_action_egdev_cb *egdev_cb; in tcf_action_egdev_cb_del() local
1622 egdev_cb = tcf_action_egdev_cb_lookup(egdev, cb, cb_priv); in tcf_action_egdev_cb_del()
1623 if (WARN_ON(!egdev_cb)) in tcf_action_egdev_cb_del()
1625 list_del(&egdev_cb->list); in tcf_action_egdev_cb_del()
1626 kfree(egdev_cb); in tcf_action_egdev_cb_del()