Lines Matching refs:local
140 struct ieee802154_local *local = sdata->local; in mac802154_slave_open() local
147 if (!local->open_count) { in mac802154_slave_open()
148 res = drv_start(local); in mac802154_slave_open()
154 local->open_count++; in mac802154_slave_open()
165 ieee802154_check_mac_settings(struct ieee802154_local *local, in ieee802154_check_mac_settings() argument
171 if (local->hw.flags & IEEE802154_HW_PROMISCUOUS) { in ieee802154_check_mac_settings()
176 if (local->hw.flags & IEEE802154_HW_AFILT) { in ieee802154_check_mac_settings()
183 if (local->hw.flags & IEEE802154_HW_CSMA_PARAMS) { in ieee802154_check_mac_settings()
190 if (local->hw.flags & IEEE802154_HW_FRAME_RETRIES) { in ieee802154_check_mac_settings()
195 if (local->hw.flags & IEEE802154_HW_LBT) { in ieee802154_check_mac_settings()
207 struct ieee802154_local *local = sdata->local; in ieee802154_check_concurrent_iface() local
212 list_for_each_entry(nsdata, &local->interfaces, list) { in ieee802154_check_concurrent_iface()
228 ret = ieee802154_check_mac_settings(local, wpan_dev, in ieee802154_check_concurrent_iface()
242 struct ieee802154_local *local = sdata->local; in mac802154_wpan_open() local
244 struct wpan_phy *phy = sdata->local->phy; in mac802154_wpan_open()
256 if (local->hw.flags & IEEE802154_HW_PROMISCUOUS) { in mac802154_wpan_open()
257 rc = drv_set_promiscuous_mode(local, in mac802154_wpan_open()
263 if (local->hw.flags & IEEE802154_HW_AFILT) { in mac802154_wpan_open()
264 rc = drv_set_pan_id(local, wpan_dev->pan_id); in mac802154_wpan_open()
268 rc = drv_set_extended_addr(local, wpan_dev->extended_addr); in mac802154_wpan_open()
272 rc = drv_set_short_addr(local, wpan_dev->short_addr); in mac802154_wpan_open()
277 if (local->hw.flags & IEEE802154_HW_LBT) { in mac802154_wpan_open()
278 rc = drv_set_lbt_mode(local, wpan_dev->lbt); in mac802154_wpan_open()
283 if (local->hw.flags & IEEE802154_HW_CSMA_PARAMS) { in mac802154_wpan_open()
284 rc = drv_set_csma_params(local, wpan_dev->min_be, in mac802154_wpan_open()
291 if (local->hw.flags & IEEE802154_HW_FRAME_RETRIES) { in mac802154_wpan_open()
292 rc = drv_set_max_frame_retries(local, wpan_dev->frame_retries); in mac802154_wpan_open()
308 struct ieee802154_local *local = sdata->local; in mac802154_slave_close() local
312 hrtimer_cancel(&local->ifs_timer); in mac802154_slave_close()
315 local->open_count--; in mac802154_slave_close()
319 if (!local->open_count) in mac802154_slave_close()
320 drv_stop(local); in mac802154_slave_close()
524 ieee802154_if_add(struct ieee802154_local *local, const char *name, in ieee802154_if_add() argument
534 ndev = alloc_netdev(sizeof(*sdata) + local->hw.vif_data_size, name, in ieee802154_if_add()
539 ndev->needed_headroom = local->hw.extra_tx_headroom; in ieee802154_if_add()
546 &local->hw.phy->perm_extended_addr); in ieee802154_if_add()
565 SET_NETDEV_DEV(ndev, &local->phy->dev); in ieee802154_if_add()
570 sdata->wpan_dev.wpan_phy = local->hw.phy; in ieee802154_if_add()
571 sdata->local = local; in ieee802154_if_add()
582 mutex_lock(&local->iflist_mtx); in ieee802154_if_add()
583 list_add_tail_rcu(&sdata->list, &local->interfaces); in ieee802154_if_add()
584 mutex_unlock(&local->iflist_mtx); in ieee802154_if_add()
597 mutex_lock(&sdata->local->iflist_mtx); in ieee802154_if_remove()
599 mutex_unlock(&sdata->local->iflist_mtx); in ieee802154_if_remove()
605 void ieee802154_remove_interfaces(struct ieee802154_local *local) in ieee802154_remove_interfaces() argument
609 mutex_lock(&local->iflist_mtx); in ieee802154_remove_interfaces()
610 list_for_each_entry_safe(sdata, tmp, &local->interfaces, list) { in ieee802154_remove_interfaces()
615 mutex_unlock(&local->iflist_mtx); in ieee802154_remove_interfaces()