Lines Matching defs:local
25 struct ieee802154_local *local = (struct ieee802154_local *)data;
28 while ((skb = skb_dequeue(&local->skb_queue))) {
35 ieee802154_rx(local, skb);
50 struct ieee802154_local *local;
75 priv_size = ALIGN(sizeof(*local), NETDEV_ALIGN) + priv_data_len;
85 local = wpan_phy_priv(phy);
86 local->phy = phy;
87 local->hw.phy = local->phy;
88 local->hw.priv = (char *)local + ALIGN(sizeof(*local), NETDEV_ALIGN);
89 local->ops = ops;
91 INIT_LIST_HEAD(&local->interfaces);
92 mutex_init(&local->iflist_mtx);
94 tasklet_init(&local->tasklet,
96 (unsigned long)local);
98 skb_queue_head_init(&local->skb_queue);
100 INIT_WORK(&local->tx_work, ieee802154_xmit_worker);
114 return &local->hw;
120 struct ieee802154_local *local = hw_to_local(hw);
122 BUG_ON(!list_empty(&local->interfaces));
124 mutex_destroy(&local->iflist_mtx);
126 wpan_phy_free(local->phy);
144 struct ieee802154_local *local = hw_to_local(hw);
148 local->workqueue =
149 create_singlethread_workqueue(wpan_phy_name(local->phy));
150 if (!local->workqueue) {
155 hrtimer_init(&local->ifs_timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
156 local->ifs_timer.function = ieee802154_xmit_ifs_timer;
158 wpan_phy_set_dev(local->phy, local->hw.parent);
160 ieee802154_setup_wpan_phy_pib(local->phy);
163 local->phy->supported.min_csma_backoffs = 4;
164 local->phy->supported.max_csma_backoffs = 4;
165 local->phy->supported.min_maxbe = 5;
166 local->phy->supported.max_maxbe = 5;
167 local->phy->supported.min_minbe = 3;
168 local->phy->supported.max_minbe = 3;
172 local->phy->supported.min_frame_retries = 3;
173 local->phy->supported.max_frame_retries = 3;
177 local->phy->supported.iftypes |= BIT(NL802154_IFTYPE_MONITOR);
179 rc = wpan_phy_register(local->phy);
185 dev = ieee802154_if_add(local, "wpan%d", NET_NAME_ENUM,
199 wpan_phy_unregister(local->phy);
201 destroy_workqueue(local->workqueue);
209 struct ieee802154_local *local = hw_to_local(hw);
211 tasklet_kill(&local->tasklet);
212 flush_workqueue(local->workqueue);
216 ieee802154_remove_interfaces(local);
220 destroy_workqueue(local->workqueue);
221 wpan_phy_unregister(local->phy);