Lines Matching refs:local

33 	struct ieee802154_local *local = (struct ieee802154_local *)data;  in ieee802154_tasklet_handler()  local
36 while ((skb = skb_dequeue(&local->skb_queue))) { in ieee802154_tasklet_handler()
43 ieee802154_rx(local, skb); in ieee802154_tasklet_handler()
58 struct ieee802154_local *local; in ieee802154_alloc_hw() local
83 priv_size = ALIGN(sizeof(*local), NETDEV_ALIGN) + priv_data_len; in ieee802154_alloc_hw()
93 local = wpan_phy_priv(phy); in ieee802154_alloc_hw()
94 local->phy = phy; in ieee802154_alloc_hw()
95 local->hw.phy = local->phy; in ieee802154_alloc_hw()
96 local->hw.priv = (char *)local + ALIGN(sizeof(*local), NETDEV_ALIGN); in ieee802154_alloc_hw()
97 local->ops = ops; in ieee802154_alloc_hw()
99 INIT_LIST_HEAD(&local->interfaces); in ieee802154_alloc_hw()
100 mutex_init(&local->iflist_mtx); in ieee802154_alloc_hw()
102 tasklet_init(&local->tasklet, in ieee802154_alloc_hw()
104 (unsigned long)local); in ieee802154_alloc_hw()
106 skb_queue_head_init(&local->skb_queue); in ieee802154_alloc_hw()
108 INIT_WORK(&local->tx_work, ieee802154_xmit_worker); in ieee802154_alloc_hw()
122 return &local->hw; in ieee802154_alloc_hw()
128 struct ieee802154_local *local = hw_to_local(hw); in ieee802154_free_hw() local
130 BUG_ON(!list_empty(&local->interfaces)); in ieee802154_free_hw()
132 mutex_destroy(&local->iflist_mtx); in ieee802154_free_hw()
134 wpan_phy_free(local->phy); in ieee802154_free_hw()
152 struct ieee802154_local *local = hw_to_local(hw); in ieee802154_register_hw() local
156 local->workqueue = in ieee802154_register_hw()
157 create_singlethread_workqueue(wpan_phy_name(local->phy)); in ieee802154_register_hw()
158 if (!local->workqueue) { in ieee802154_register_hw()
163 hrtimer_init(&local->ifs_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL); in ieee802154_register_hw()
164 local->ifs_timer.function = ieee802154_xmit_ifs_timer; in ieee802154_register_hw()
166 wpan_phy_set_dev(local->phy, local->hw.parent); in ieee802154_register_hw()
168 ieee802154_setup_wpan_phy_pib(local->phy); in ieee802154_register_hw()
171 local->phy->supported.min_csma_backoffs = 4; in ieee802154_register_hw()
172 local->phy->supported.max_csma_backoffs = 4; in ieee802154_register_hw()
173 local->phy->supported.min_maxbe = 5; in ieee802154_register_hw()
174 local->phy->supported.max_maxbe = 5; in ieee802154_register_hw()
175 local->phy->supported.min_minbe = 3; in ieee802154_register_hw()
176 local->phy->supported.max_minbe = 3; in ieee802154_register_hw()
180 local->phy->supported.min_frame_retries = 3; in ieee802154_register_hw()
181 local->phy->supported.max_frame_retries = 3; in ieee802154_register_hw()
185 local->phy->supported.iftypes |= BIT(NL802154_IFTYPE_MONITOR); in ieee802154_register_hw()
187 rc = wpan_phy_register(local->phy); in ieee802154_register_hw()
193 dev = ieee802154_if_add(local, "wpan%d", NET_NAME_ENUM, in ieee802154_register_hw()
207 wpan_phy_unregister(local->phy); in ieee802154_register_hw()
209 destroy_workqueue(local->workqueue); in ieee802154_register_hw()
217 struct ieee802154_local *local = hw_to_local(hw); in ieee802154_unregister_hw() local
219 tasklet_kill(&local->tasklet); in ieee802154_unregister_hw()
220 flush_workqueue(local->workqueue); in ieee802154_unregister_hw()
221 destroy_workqueue(local->workqueue); in ieee802154_unregister_hw()
225 ieee802154_remove_interfaces(local); in ieee802154_unregister_hw()
229 wpan_phy_unregister(local->phy); in ieee802154_unregister_hw()