Lines Matching refs:bat_algo_ops
39 struct batadv_algo_ops *bat_algo_ops = NULL, *bat_algo_ops_tmp;
45 bat_algo_ops = bat_algo_ops_tmp;
49 return bat_algo_ops;
54 * @bat_algo_ops: mesh algorithm callbacks to add
58 int batadv_algo_register(struct batadv_algo_ops *bat_algo_ops)
62 bat_algo_ops_tmp = batadv_algo_get(bat_algo_ops->name);
65 bat_algo_ops->name);
70 if (!bat_algo_ops->iface.enable ||
71 !bat_algo_ops->iface.disable ||
72 !bat_algo_ops->iface.update_mac ||
73 !bat_algo_ops->iface.primary_set ||
74 !bat_algo_ops->neigh.cmp ||
75 !bat_algo_ops->neigh.is_similar_or_better) {
77 bat_algo_ops->name);
81 INIT_HLIST_NODE(&bat_algo_ops->list);
82 hlist_add_head(&bat_algo_ops->list, &batadv_algo_list);
102 struct batadv_algo_ops *bat_algo_ops;
104 bat_algo_ops = batadv_algo_get(name);
105 if (!bat_algo_ops)
108 bat_priv->algo_ops = bat_algo_ops;
124 struct batadv_algo_ops *bat_algo_ops;
128 hlist_for_each_entry(bat_algo_ops, &batadv_algo_list, list) {
129 seq_printf(seq, " * %s\n", bat_algo_ops->name);
138 struct batadv_algo_ops *bat_algo_ops;
145 bat_algo_ops = batadv_algo_get(algo_name);
146 if (!bat_algo_ops) {
173 * @bat_algo_ops: Algorithm to be dumped
178 struct batadv_algo_ops *bat_algo_ops)
187 if (nla_put_string(msg, BATADV_ATTR_ALGO_NAME, bat_algo_ops->name))
209 struct batadv_algo_ops *bat_algo_ops;
213 hlist_for_each_entry(bat_algo_ops, &batadv_algo_list, list) {
218 bat_algo_ops)) {