Lines Matching refs:adj
4912 struct netdev_adjacent *adj; in __netdev_find_adj() local
4914 list_for_each_entry(adj, adj_list, list) { in __netdev_find_adj()
4915 if (adj->dev == adj_dev) in __netdev_find_adj()
4916 return adj; in __netdev_find_adj()
4979 struct netdev_adjacent *adj; in netdev_adjacent_get_private() local
4981 adj = list_entry(adj_list, struct netdev_adjacent, list); in netdev_adjacent_get_private()
4983 return adj->private; in netdev_adjacent_get_private()
5194 struct netdev_adjacent *adj; in __netdev_adjacent_dev_insert() local
5197 adj = __netdev_find_adj(adj_dev, dev_list); in __netdev_adjacent_dev_insert()
5199 if (adj) { in __netdev_adjacent_dev_insert()
5200 adj->ref_nr++; in __netdev_adjacent_dev_insert()
5204 adj = kmalloc(sizeof(*adj), GFP_KERNEL); in __netdev_adjacent_dev_insert()
5205 if (!adj) in __netdev_adjacent_dev_insert()
5208 adj->dev = adj_dev; in __netdev_adjacent_dev_insert()
5209 adj->master = master; in __netdev_adjacent_dev_insert()
5210 adj->ref_nr = 1; in __netdev_adjacent_dev_insert()
5211 adj->private = private; in __netdev_adjacent_dev_insert()
5230 list_add_rcu(&adj->list, dev_list); in __netdev_adjacent_dev_insert()
5232 list_add_tail_rcu(&adj->list, dev_list); in __netdev_adjacent_dev_insert()
5241 kfree(adj); in __netdev_adjacent_dev_insert()
5251 struct netdev_adjacent *adj; in __netdev_adjacent_dev_remove() local
5253 adj = __netdev_find_adj(adj_dev, dev_list); in __netdev_adjacent_dev_remove()
5255 if (!adj) { in __netdev_adjacent_dev_remove()
5261 if (adj->ref_nr > 1) { in __netdev_adjacent_dev_remove()
5263 adj->ref_nr-1); in __netdev_adjacent_dev_remove()
5264 adj->ref_nr--; in __netdev_adjacent_dev_remove()
5268 if (adj->master) in __netdev_adjacent_dev_remove()
5274 list_del_rcu(&adj->list); in __netdev_adjacent_dev_remove()
5278 kfree_rcu(adj, rcu); in __netdev_adjacent_dev_remove()