Lines Matching refs:mac

137 static void housekeeping_init(struct zd_mac *mac);
138 static void housekeeping_enable(struct zd_mac *mac);
139 static void housekeeping_disable(struct zd_mac *mac);
140 static void beacon_init(struct zd_mac *mac);
141 static void beacon_enable(struct zd_mac *mac);
142 static void beacon_disable(struct zd_mac *mac);
143 static void set_rts_cts(struct zd_mac *mac, unsigned int short_preamble);
164 struct zd_mac *mac = zd_hw_mac(hw); in zd_check_signal() local
166 dev_dbg_f_cond(zd_mac_dev(mac), signal < 0 || signal > 100, in zd_check_signal()
182 struct zd_mac *mac = zd_hw_mac(hw); in zd_mac_preinit_hw() local
184 r = zd_chip_read_mac_addr_fw(&mac->chip, addr); in zd_mac_preinit_hw()
196 struct zd_mac *mac = zd_hw_mac(hw); in zd_mac_init_hw() local
197 struct zd_chip *chip = &mac->chip; in zd_mac_init_hw()
213 spin_lock_irq(&mac->lock); in zd_mac_init_hw()
214 mac->regdomain = mac->default_regdomain = default_regdomain; in zd_mac_init_hw()
215 spin_unlock_irq(&mac->lock); in zd_mac_init_hw()
223 r = zd_reg2alpha2(mac->regdomain, alpha2); in zd_mac_init_hw()
234 void zd_mac_clear(struct zd_mac *mac) in zd_mac_clear() argument
237 zd_chip_clear(&mac->chip); in zd_mac_clear()
238 ZD_ASSERT(!spin_is_locked(&mac->lock)); in zd_mac_clear()
239 ZD_MEMCLEAR(mac, sizeof(struct zd_mac)); in zd_mac_clear()
242 static int set_rx_filter(struct zd_mac *mac) in set_rx_filter() argument
247 spin_lock_irqsave(&mac->lock, flags); in set_rx_filter()
248 if (mac->pass_ctrl) in set_rx_filter()
250 spin_unlock_irqrestore(&mac->lock, flags); in set_rx_filter()
252 return zd_iowrite32(&mac->chip, CR_RX_FILTER, filter); in set_rx_filter()
255 static int set_mac_and_bssid(struct zd_mac *mac) in set_mac_and_bssid() argument
259 if (!mac->vif) in set_mac_and_bssid()
262 r = zd_write_mac_addr(&mac->chip, mac->vif->addr); in set_mac_and_bssid()
269 if (mac->type != NL80211_IFTYPE_AP) in set_mac_and_bssid()
270 return set_rx_filter(mac); in set_mac_and_bssid()
272 return zd_write_bssid(&mac->chip, mac->vif->addr); in set_mac_and_bssid()
275 static int set_mc_hash(struct zd_mac *mac) in set_mc_hash() argument
279 return zd_chip_set_multicast_hash(&mac->chip, &hash); in set_mc_hash()
284 struct zd_mac *mac = zd_hw_mac(hw); in zd_op_start() local
285 struct zd_chip *chip = &mac->chip; in zd_op_start()
302 r = set_rx_filter(mac); in zd_op_start()
305 r = set_mc_hash(mac); in zd_op_start()
328 housekeeping_enable(mac); in zd_op_start()
329 beacon_enable(mac); in zd_op_start()
330 set_bit(ZD_DEVICE_RUNNING, &mac->flags); in zd_op_start()
344 struct zd_mac *mac = zd_hw_mac(hw); in zd_op_stop() local
345 struct zd_chip *chip = &mac->chip; in zd_op_stop()
347 struct sk_buff_head *ack_wait_queue = &mac->ack_wait_queue; in zd_op_stop()
349 clear_bit(ZD_DEVICE_RUNNING, &mac->flags); in zd_op_stop()
357 beacon_disable(mac); in zd_op_stop()
358 housekeeping_disable(mac); in zd_op_stop()
370 int zd_restore_settings(struct zd_mac *mac) in zd_restore_settings() argument
378 dev_dbg_f(zd_mac_dev(mac), "\n"); in zd_restore_settings()
380 spin_lock_irq(&mac->lock); in zd_restore_settings()
381 multicast_hash = mac->multicast_hash; in zd_restore_settings()
382 short_preamble = mac->short_preamble; in zd_restore_settings()
383 beacon_interval = mac->beacon.interval; in zd_restore_settings()
384 beacon_period = mac->beacon.period; in zd_restore_settings()
385 channel = mac->channel; in zd_restore_settings()
386 spin_unlock_irq(&mac->lock); in zd_restore_settings()
388 r = set_mac_and_bssid(mac); in zd_restore_settings()
390 dev_dbg_f(zd_mac_dev(mac), "set_mac_and_bssid failed, %d\n", r); in zd_restore_settings()
394 r = zd_chip_set_channel(&mac->chip, channel); in zd_restore_settings()
396 dev_dbg_f(zd_mac_dev(mac), "zd_chip_set_channel failed, %d\n", in zd_restore_settings()
401 set_rts_cts(mac, short_preamble); in zd_restore_settings()
403 r = zd_chip_set_multicast_hash(&mac->chip, &multicast_hash); in zd_restore_settings()
405 dev_dbg_f(zd_mac_dev(mac), in zd_restore_settings()
410 if (mac->type == NL80211_IFTYPE_MESH_POINT || in zd_restore_settings()
411 mac->type == NL80211_IFTYPE_ADHOC || in zd_restore_settings()
412 mac->type == NL80211_IFTYPE_AP) { in zd_restore_settings()
413 if (mac->vif != NULL) { in zd_restore_settings()
414 beacon = ieee80211_beacon_get(mac->hw, mac->vif); in zd_restore_settings()
416 zd_mac_config_beacon(mac->hw, beacon, false); in zd_restore_settings()
419 zd_set_beacon_interval(&mac->chip, beacon_interval, in zd_restore_settings()
420 beacon_period, mac->type); in zd_restore_settings()
422 spin_lock_irq(&mac->lock); in zd_restore_settings()
423 mac->beacon.last_update = jiffies; in zd_restore_settings()
424 spin_unlock_irq(&mac->lock); in zd_restore_settings()
502 struct zd_mac *mac = zd_hw_mac(hw); in zd_mac_tx_failed() local
503 struct sk_buff_head *q = &mac->ack_wait_queue; in zd_mac_tx_failed()
512 q = &mac->ack_wait_queue; in zd_mac_tx_failed()
527 if (tx_status->failure && mac->ack_pending && in zd_mac_tx_failed()
535 if (unlikely(!ether_addr_equal(tx_hdr->addr1, tx_status->mac))) in zd_mac_tx_failed()
562 mac->ack_pending ? mac->ack_signal : 0, in zd_mac_tx_failed()
564 mac->ack_pending = 0; in zd_mac_tx_failed()
585 struct zd_mac *mac = zd_hw_mac(hw); in zd_mac_tx_to_dev() local
597 struct sk_buff_head *q = &mac->ack_wait_queue; in zd_mac_tx_to_dev()
602 mac->ack_pending ? mac->ack_signal : 0, in zd_mac_tx_to_dev()
604 mac->ack_pending = 0; in zd_mac_tx_to_dev()
656 static void cs_set_control(struct zd_mac *mac, struct zd_ctrlset *cs, in cs_set_control() argument
689 static bool zd_mac_match_cur_beacon(struct zd_mac *mac, struct sk_buff *beacon) in zd_mac_match_cur_beacon() argument
691 if (!mac->beacon.cur_beacon) in zd_mac_match_cur_beacon()
694 if (mac->beacon.cur_beacon->len != beacon->len) in zd_mac_match_cur_beacon()
697 return !memcmp(beacon->data, mac->beacon.cur_beacon->data, beacon->len); in zd_mac_match_cur_beacon()
700 static void zd_mac_free_cur_beacon_locked(struct zd_mac *mac) in zd_mac_free_cur_beacon_locked() argument
702 ZD_ASSERT(mutex_is_locked(&mac->chip.mutex)); in zd_mac_free_cur_beacon_locked()
704 kfree_skb(mac->beacon.cur_beacon); in zd_mac_free_cur_beacon_locked()
705 mac->beacon.cur_beacon = NULL; in zd_mac_free_cur_beacon_locked()
708 static void zd_mac_free_cur_beacon(struct zd_mac *mac) in zd_mac_free_cur_beacon() argument
710 mutex_lock(&mac->chip.mutex); in zd_mac_free_cur_beacon()
711 zd_mac_free_cur_beacon_locked(mac); in zd_mac_free_cur_beacon()
712 mutex_unlock(&mac->chip.mutex); in zd_mac_free_cur_beacon()
718 struct zd_mac *mac = zd_hw_mac(hw); in zd_mac_config_beacon() local
726 mutex_lock(&mac->chip.mutex); in zd_mac_config_beacon()
729 if (zd_mac_match_cur_beacon(mac, beacon)) { in zd_mac_config_beacon()
735 num_cmds = 1 + zd_chip_is_zd1211b(&mac->chip) + full_len; in zd_mac_config_beacon()
742 r = zd_iowrite32_locked(&mac->chip, 0, CR_BCN_FIFO_SEMAPHORE); in zd_mac_config_beacon()
745 r = zd_ioread32_locked(&mac->chip, &tmp, CR_BCN_FIFO_SEMAPHORE); in zd_mac_config_beacon()
756 r = zd_ioread32_locked(&mac->chip, &tmp, CR_BCN_FIFO_SEMAPHORE); in zd_mac_config_beacon()
761 dev_err(zd_mac_dev(mac), in zd_mac_config_beacon()
764 dev_err(zd_mac_dev(mac), in zd_mac_config_beacon()
776 if (zd_chip_is_zd1211b(&mac->chip)) { in zd_mac_config_beacon()
796 r = zd_iowrite32a_locked(&mac->chip, ioreqs, num_cmds); in zd_mac_config_beacon()
804 ret = zd_iowrite32_locked(&mac->chip, 1, CR_BCN_FIFO_SEMAPHORE); in zd_mac_config_beacon()
812 ret = zd_iowrite32_locked(&mac->chip, 1, CR_BCN_FIFO_SEMAPHORE); in zd_mac_config_beacon()
816 dev_err(zd_mac_dev(mac), "Could not release " in zd_mac_config_beacon()
824 zd_mac_free_cur_beacon_locked(mac); in zd_mac_config_beacon()
830 zd_mac_free_cur_beacon_locked(mac); in zd_mac_config_beacon()
831 mac->beacon.cur_beacon = beacon; in zd_mac_config_beacon()
838 r = zd_iowrite32_locked(&mac->chip, 0x00000400 | (full_len << 19), in zd_mac_config_beacon()
844 mutex_unlock(&mac->chip.mutex); in zd_mac_config_beacon()
849 zd_mac_free_cur_beacon_locked(mac); in zd_mac_config_beacon()
852 mutex_unlock(&mac->chip.mutex); in zd_mac_config_beacon()
856 dev_warn(zd_mac_dev(mac), "CR_BCN_FIFO_SEMAPHORE stuck, " in zd_mac_config_beacon()
858 usb_queue_reset_device(mac->chip.usb.intf); in zd_mac_config_beacon()
863 static int fill_ctrlset(struct zd_mac *mac, in fill_ctrlset() argument
885 txrate = ieee80211_get_tx_rate(mac->hw, info); in fill_ctrlset()
893 cs_set_control(mac, cs, hdr, info); in fill_ctrlset()
900 cs->packet_length = cpu_to_le16(zd_chip_is_zd1211b(&mac->chip) ? in fill_ctrlset()
942 struct zd_mac *mac = zd_hw_mac(hw); in zd_op_tx() local
946 r = fill_ctrlset(mac, skb); in zd_op_tx()
952 r = zd_usb_tx(&mac->chip.usb, skb); in zd_op_tx()
978 struct zd_mac *mac = zd_hw_mac(hw); in filter_ack() local
988 q = &mac->ack_wait_queue; in filter_ack()
995 if (mac->ack_pending && skb_queue_is_first(q, skb)) in filter_ack()
1010 mac->ack_pending ? mac->ack_signal : 0, in filter_ack()
1012 mac->ack_pending = 0; in filter_ack()
1015 mac->ack_pending = 1; in filter_ack()
1016 mac->ack_signal = stats->signal; in filter_ack()
1019 if (mac->type == NL80211_IFTYPE_AP) { in filter_ack()
1021 zd_mac_tx_status(hw, skb, mac->ack_signal, NULL); in filter_ack()
1022 mac->ack_pending = 0; in filter_ack()
1032 struct zd_mac *mac = zd_hw_mac(hw); in zd_mac_rx() local
1061 if (mac->pass_failed_fcs && in zd_mac_rx()
1070 stats.freq = zd_channels[_zd_chip_get_channel(&mac->chip) - 1].center_freq; in zd_mac_rx()
1077 for (i = 0; i < mac->band.n_bitrates; i++) in zd_mac_rx()
1078 if (rate == mac->band.bitrates[i].hw_value) in zd_mac_rx()
1091 && !mac->pass_ctrl) in zd_mac_rx()
1116 struct zd_mac *mac = zd_hw_mac(hw); in zd_op_add_interface() local
1119 if (mac->type != NL80211_IFTYPE_UNSPECIFIED) in zd_op_add_interface()
1128 mac->type = vif->type; in zd_op_add_interface()
1134 mac->vif = vif; in zd_op_add_interface()
1136 return set_mac_and_bssid(mac); in zd_op_add_interface()
1142 struct zd_mac *mac = zd_hw_mac(hw); in zd_op_remove_interface() local
1143 mac->type = NL80211_IFTYPE_UNSPECIFIED; in zd_op_remove_interface()
1144 mac->vif = NULL; in zd_op_remove_interface()
1145 zd_set_beacon_interval(&mac->chip, 0, 0, NL80211_IFTYPE_UNSPECIFIED); in zd_op_remove_interface()
1146 zd_write_mac_addr(&mac->chip, NULL); in zd_op_remove_interface()
1148 zd_mac_free_cur_beacon(mac); in zd_op_remove_interface()
1153 struct zd_mac *mac = zd_hw_mac(hw); in zd_op_config() local
1156 spin_lock_irq(&mac->lock); in zd_op_config()
1157 mac->channel = conf->chandef.chan->hw_value; in zd_op_config()
1158 spin_unlock_irq(&mac->lock); in zd_op_config()
1160 return zd_chip_set_channel(&mac->chip, conf->chandef.chan->hw_value); in zd_op_config()
1163 static void zd_beacon_done(struct zd_mac *mac) in zd_beacon_done() argument
1167 if (!test_bit(ZD_DEVICE_RUNNING, &mac->flags)) in zd_beacon_done()
1169 if (!mac->vif || mac->vif->type != NL80211_IFTYPE_AP) in zd_beacon_done()
1175 while (!ieee80211_queue_stopped(mac->hw, 0)) { in zd_beacon_done()
1176 skb = ieee80211_get_buffered_bc(mac->hw, mac->vif); in zd_beacon_done()
1179 zd_op_tx(mac->hw, NULL, skb); in zd_beacon_done()
1185 beacon = ieee80211_beacon_get(mac->hw, mac->vif); in zd_beacon_done()
1187 zd_mac_config_beacon(mac->hw, beacon, true); in zd_beacon_done()
1189 spin_lock_irq(&mac->lock); in zd_beacon_done()
1190 mac->beacon.last_update = jiffies; in zd_beacon_done()
1191 spin_unlock_irq(&mac->lock); in zd_beacon_done()
1198 struct zd_mac *mac = container_of(work, struct zd_mac, process_intr); in zd_process_intr() local
1200 spin_lock_irqsave(&mac->lock, flags); in zd_process_intr()
1201 int_status = le16_to_cpu(*(__le16 *)(mac->intr_buffer + 4)); in zd_process_intr()
1202 spin_unlock_irqrestore(&mac->lock, flags); in zd_process_intr()
1206 zd_beacon_done(mac); in zd_process_intr()
1208 dev_dbg_f(zd_mac_dev(mac), "Unsupported interrupt\n"); in zd_process_intr()
1211 zd_chip_enable_hwint(&mac->chip); in zd_process_intr()
1218 struct zd_mac *mac = zd_hw_mac(hw); in zd_op_prepare_multicast() local
1225 dev_dbg_f(zd_mac_dev(mac), "mc addr %pM\n", ha->addr); in zd_op_prepare_multicast()
1244 struct zd_mac *mac = zd_hw_mac(hw); in zd_op_configure_filter() local
1262 spin_lock_irqsave(&mac->lock, flags); in zd_op_configure_filter()
1263 mac->pass_failed_fcs = !!(*new_flags & FIF_FCSFAIL); in zd_op_configure_filter()
1264 mac->pass_ctrl = !!(*new_flags & FIF_CONTROL); in zd_op_configure_filter()
1265 mac->multicast_hash = hash; in zd_op_configure_filter()
1266 spin_unlock_irqrestore(&mac->lock, flags); in zd_op_configure_filter()
1268 zd_chip_set_multicast_hash(&mac->chip, &hash); in zd_op_configure_filter()
1271 r = set_rx_filter(mac); in zd_op_configure_filter()
1273 dev_err(zd_mac_dev(mac), "set_rx_filter error %d\n", r); in zd_op_configure_filter()
1286 static void set_rts_cts(struct zd_mac *mac, unsigned int short_preamble) in set_rts_cts() argument
1288 mutex_lock(&mac->chip.mutex); in set_rts_cts()
1289 zd_chip_set_rts_cts_rate_locked(&mac->chip, short_preamble); in set_rts_cts()
1290 mutex_unlock(&mac->chip.mutex); in set_rts_cts()
1298 struct zd_mac *mac = zd_hw_mac(hw); in zd_op_bss_info_changed() local
1301 dev_dbg_f(zd_mac_dev(mac), "changes: %x\n", changes); in zd_op_bss_info_changed()
1303 if (mac->type == NL80211_IFTYPE_MESH_POINT || in zd_op_bss_info_changed()
1304 mac->type == NL80211_IFTYPE_ADHOC || in zd_op_bss_info_changed()
1305 mac->type == NL80211_IFTYPE_AP) { in zd_op_bss_info_changed()
1311 zd_chip_disable_hwint(&mac->chip); in zd_op_bss_info_changed()
1313 zd_chip_enable_hwint(&mac->chip); in zd_op_bss_info_changed()
1326 spin_lock_irq(&mac->lock); in zd_op_bss_info_changed()
1327 mac->beacon.period = period; in zd_op_bss_info_changed()
1328 mac->beacon.interval = interval; in zd_op_bss_info_changed()
1329 mac->beacon.last_update = jiffies; in zd_op_bss_info_changed()
1330 spin_unlock_irq(&mac->lock); in zd_op_bss_info_changed()
1332 zd_set_beacon_interval(&mac->chip, interval, period, in zd_op_bss_info_changed()
1333 mac->type); in zd_op_bss_info_changed()
1338 spin_lock_irq(&mac->lock); in zd_op_bss_info_changed()
1339 mac->associated = associated; in zd_op_bss_info_changed()
1340 spin_unlock_irq(&mac->lock); in zd_op_bss_info_changed()
1345 spin_lock_irq(&mac->lock); in zd_op_bss_info_changed()
1346 mac->short_preamble = bss_conf->use_short_preamble; in zd_op_bss_info_changed()
1347 spin_unlock_irq(&mac->lock); in zd_op_bss_info_changed()
1349 set_rts_cts(mac, bss_conf->use_short_preamble); in zd_op_bss_info_changed()
1355 struct zd_mac *mac = zd_hw_mac(hw); in zd_op_get_tsf() local
1356 return zd_chip_get_tsf(&mac->chip); in zd_op_get_tsf()
1374 struct zd_mac *mac; in zd_mac_alloc_hw() local
1383 mac = zd_hw_mac(hw); in zd_mac_alloc_hw()
1385 memset(mac, 0, sizeof(*mac)); in zd_mac_alloc_hw()
1386 spin_lock_init(&mac->lock); in zd_mac_alloc_hw()
1387 mac->hw = hw; in zd_mac_alloc_hw()
1389 mac->type = NL80211_IFTYPE_UNSPECIFIED; in zd_mac_alloc_hw()
1391 memcpy(mac->channels, zd_channels, sizeof(zd_channels)); in zd_mac_alloc_hw()
1392 memcpy(mac->rates, zd_rates, sizeof(zd_rates)); in zd_mac_alloc_hw()
1393 mac->band.n_bitrates = ARRAY_SIZE(zd_rates); in zd_mac_alloc_hw()
1394 mac->band.bitrates = mac->rates; in zd_mac_alloc_hw()
1395 mac->band.n_channels = ARRAY_SIZE(zd_channels); in zd_mac_alloc_hw()
1396 mac->band.channels = mac->channels; in zd_mac_alloc_hw()
1398 hw->wiphy->bands[IEEE80211_BAND_2GHZ] = &mac->band; in zd_mac_alloc_hw()
1421 skb_queue_head_init(&mac->ack_wait_queue); in zd_mac_alloc_hw()
1422 mac->ack_pending = 0; in zd_mac_alloc_hw()
1424 zd_chip_init(&mac->chip, hw, intf); in zd_mac_alloc_hw()
1425 housekeeping_init(mac); in zd_mac_alloc_hw()
1426 beacon_init(mac); in zd_mac_alloc_hw()
1427 INIT_WORK(&mac->process_intr, zd_process_intr); in zd_mac_alloc_hw()
1437 struct zd_mac *mac = in beacon_watchdog_handler() local
1443 if (!test_bit(ZD_DEVICE_RUNNING, &mac->flags)) in beacon_watchdog_handler()
1445 if (mac->type != NL80211_IFTYPE_AP || !mac->vif) in beacon_watchdog_handler()
1448 spin_lock_irq(&mac->lock); in beacon_watchdog_handler()
1449 interval = mac->beacon.interval; in beacon_watchdog_handler()
1450 period = mac->beacon.period; in beacon_watchdog_handler()
1451 timeout = mac->beacon.last_update + in beacon_watchdog_handler()
1453 spin_unlock_irq(&mac->lock); in beacon_watchdog_handler()
1456 dev_dbg_f(zd_mac_dev(mac), "beacon interrupt stalled, " in beacon_watchdog_handler()
1461 zd_chip_disable_hwint(&mac->chip); in beacon_watchdog_handler()
1463 beacon = ieee80211_beacon_get(mac->hw, mac->vif); in beacon_watchdog_handler()
1465 zd_mac_free_cur_beacon(mac); in beacon_watchdog_handler()
1467 zd_mac_config_beacon(mac->hw, beacon, false); in beacon_watchdog_handler()
1470 zd_set_beacon_interval(&mac->chip, interval, period, mac->type); in beacon_watchdog_handler()
1472 zd_chip_enable_hwint(&mac->chip); in beacon_watchdog_handler()
1474 spin_lock_irq(&mac->lock); in beacon_watchdog_handler()
1475 mac->beacon.last_update = jiffies; in beacon_watchdog_handler()
1476 spin_unlock_irq(&mac->lock); in beacon_watchdog_handler()
1480 queue_delayed_work(zd_workqueue, &mac->beacon.watchdog_work, in beacon_watchdog_handler()
1484 static void beacon_init(struct zd_mac *mac) in beacon_init() argument
1486 INIT_DELAYED_WORK(&mac->beacon.watchdog_work, beacon_watchdog_handler); in beacon_init()
1489 static void beacon_enable(struct zd_mac *mac) in beacon_enable() argument
1491 dev_dbg_f(zd_mac_dev(mac), "\n"); in beacon_enable()
1493 mac->beacon.last_update = jiffies; in beacon_enable()
1494 queue_delayed_work(zd_workqueue, &mac->beacon.watchdog_work, in beacon_enable()
1498 static void beacon_disable(struct zd_mac *mac) in beacon_disable() argument
1500 dev_dbg_f(zd_mac_dev(mac), "\n"); in beacon_disable()
1501 cancel_delayed_work_sync(&mac->beacon.watchdog_work); in beacon_disable()
1503 zd_mac_free_cur_beacon(mac); in beacon_disable()
1510 struct zd_mac *mac = in link_led_handler() local
1512 struct zd_chip *chip = &mac->chip; in link_led_handler()
1516 if (!test_bit(ZD_DEVICE_RUNNING, &mac->flags)) in link_led_handler()
1519 spin_lock_irq(&mac->lock); in link_led_handler()
1520 is_associated = mac->associated; in link_led_handler()
1521 spin_unlock_irq(&mac->lock); in link_led_handler()
1526 dev_dbg_f(zd_mac_dev(mac), "zd_chip_control_leds error %d\n", r); in link_led_handler()
1529 queue_delayed_work(zd_workqueue, &mac->housekeeping.link_led_work, in link_led_handler()
1533 static void housekeeping_init(struct zd_mac *mac) in housekeeping_init() argument
1535 INIT_DELAYED_WORK(&mac->housekeeping.link_led_work, link_led_handler); in housekeeping_init()
1538 static void housekeeping_enable(struct zd_mac *mac) in housekeeping_enable() argument
1540 dev_dbg_f(zd_mac_dev(mac), "\n"); in housekeeping_enable()
1541 queue_delayed_work(zd_workqueue, &mac->housekeeping.link_led_work, in housekeeping_enable()
1545 static void housekeeping_disable(struct zd_mac *mac) in housekeeping_disable() argument
1547 dev_dbg_f(zd_mac_dev(mac), "\n"); in housekeeping_disable()
1548 cancel_delayed_work_sync(&mac->housekeeping.link_led_work); in housekeeping_disable()
1549 zd_chip_control_leds(&mac->chip, ZD_LED_OFF); in housekeeping_disable()