Lines Matching defs:pnd
51 struct phonet_device *pnd = kmalloc_obj(*pnd, GFP_ATOMIC);
52 if (pnd == NULL)
54 pnd->netdev = dev;
55 bitmap_zero(pnd->addrs, 64);
58 list_add_rcu(&pnd->list, &pndevs->list);
59 return pnd;
65 struct phonet_device *pnd;
69 list_for_each_entry(pnd, &pndevs->list, list) {
70 if (pnd->netdev == dev)
71 return pnd;
79 struct phonet_device *pnd;
81 list_for_each_entry_rcu(pnd, &pndevs->list, list) {
82 if (pnd->netdev == dev)
83 return pnd;
91 struct phonet_device *pnd;
97 pnd = __phonet_get(dev);
98 if (pnd)
99 list_del_rcu(&pnd->list);
103 if (pnd) {
108 for_each_set_bit(addr, pnd->addrs, 64)
111 kfree_rcu(pnd, rcu);
118 struct phonet_device *pnd;
122 list_for_each_entry_rcu(pnd, &pndevs->list, list) {
123 dev = pnd->netdev;
127 ((pnd->netdev->flags & IFF_UP)) == IFF_UP)
139 struct phonet_device *pnd;
145 pnd = __phonet_get(dev);
146 if (pnd == NULL)
147 pnd = __phonet_device_alloc(dev);
148 if (unlikely(pnd == NULL))
150 else if (test_and_set_bit(addr >> 2, pnd->addrs))
161 struct phonet_device *pnd;
166 pnd = __phonet_get(dev);
167 if (!pnd || !test_and_clear_bit(addr >> 2, pnd->addrs)) {
169 pnd = NULL;
170 } else if (bitmap_empty(pnd->addrs, 64))
171 list_del_rcu(&pnd->list);
173 pnd = NULL;
177 if (pnd)
178 kfree_rcu(pnd, rcu);
186 struct phonet_device *pnd;
190 pnd = __phonet_get_rcu(dev);
191 if (pnd) {
192 BUG_ON(bitmap_empty(pnd->addrs, 64));
195 if (test_bit(daddr >> 2, pnd->addrs))
198 saddr = find_first_bit(pnd->addrs, 64) << 2;
220 struct phonet_device *pnd;
224 list_for_each_entry_rcu(pnd, &pndevs->list, list) {
226 if ((pnd->netdev->reg_state != NETREG_REGISTERED) ||
227 ((pnd->netdev->flags & IFF_UP)) != IFF_UP)
230 if (test_bit(addr >> 2, pnd->addrs)) {