Lines Matching defs:ieee80211_hw

2448  * struct ieee80211_hw - hardware information and state
2572 struct ieee80211_hw {
2611 static inline bool _ieee80211_hw_check(struct ieee80211_hw *hw,
2618 static inline void _ieee80211_hw_set(struct ieee80211_hw *hw,
2669 * &struct ieee80211_hw. Drivers wishing to get to their own private
2676 struct ieee80211_hw *wiphy_to_ieee80211_hw(struct wiphy *wiphy);
2681 * @hw: the &struct ieee80211_hw to set the device for
2684 static inline void SET_IEEE80211_DEV(struct ieee80211_hw *hw, struct device *dev)
2692 * @hw: the &struct ieee80211_hw to set the MAC address for
2695 static inline void SET_IEEE80211_PERM_ADDR(struct ieee80211_hw *hw, const u8 *addr)
2701 ieee80211_get_tx_rate(const struct ieee80211_hw *hw,
2710 ieee80211_get_rts_cts_rate(const struct ieee80211_hw *hw,
2719 ieee80211_get_alt_retry_rate(const struct ieee80211_hw *hw,
2735 void ieee80211_free_txskb(struct ieee80211_hw *hw, struct sk_buff *skb);
3106 * and the offchannel queue in &struct ieee80211_hw. In response, mac80211 will
3882 void (*tx)(struct ieee80211_hw *hw,
3885 int (*start)(struct ieee80211_hw *hw);
3886 void (*stop)(struct ieee80211_hw *hw);
3888 int (*suspend)(struct ieee80211_hw *hw, struct cfg80211_wowlan *wowlan);
3889 int (*resume)(struct ieee80211_hw *hw);
3890 void (*set_wakeup)(struct ieee80211_hw *hw, bool enabled);
3892 int (*add_interface)(struct ieee80211_hw *hw,
3894 int (*change_interface)(struct ieee80211_hw *hw,
3897 void (*remove_interface)(struct ieee80211_hw *hw,
3899 int (*config)(struct ieee80211_hw *hw, u32 changed);
3900 void (*bss_info_changed)(struct ieee80211_hw *hw,
3905 int (*start_ap)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
3906 void (*stop_ap)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
3908 u64 (*prepare_multicast)(struct ieee80211_hw *hw,
3910 void (*configure_filter)(struct ieee80211_hw *hw,
3914 void (*config_iface_filter)(struct ieee80211_hw *hw,
3918 int (*set_tim)(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
3920 int (*set_key)(struct ieee80211_hw *hw, enum set_key_cmd cmd,
3923 void (*update_tkip_key)(struct ieee80211_hw *hw,
3928 void (*set_rekey_data)(struct ieee80211_hw *hw,
3931 void (*set_default_unicast_key)(struct ieee80211_hw *hw,
3933 int (*hw_scan)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
3935 void (*cancel_hw_scan)(struct ieee80211_hw *hw,
3937 int (*sched_scan_start)(struct ieee80211_hw *hw,
3941 int (*sched_scan_stop)(struct ieee80211_hw *hw,
3943 void (*sw_scan_start)(struct ieee80211_hw *hw,
3946 void (*sw_scan_complete)(struct ieee80211_hw *hw,
3948 int (*get_stats)(struct ieee80211_hw *hw,
3950 void (*get_key_seq)(struct ieee80211_hw *hw,
3953 int (*set_frag_threshold)(struct ieee80211_hw *hw, u32 value);
3954 int (*set_rts_threshold)(struct ieee80211_hw *hw, u32 value);
3955 int (*sta_add)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
3957 int (*sta_remove)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
3960 void (*sta_add_debugfs)(struct ieee80211_hw *hw,
3965 void (*sta_notify)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
3967 int (*sta_set_txpwr)(struct ieee80211_hw *hw,
3970 int (*sta_state)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
3974 void (*sta_pre_rcu_remove)(struct ieee80211_hw *hw,
3977 void (*sta_rc_update)(struct ieee80211_hw *hw,
3981 void (*sta_rate_tbl_update)(struct ieee80211_hw *hw,
3984 void (*sta_statistics)(struct ieee80211_hw *hw,
3988 int (*conf_tx)(struct ieee80211_hw *hw,
3991 u64 (*get_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
3992 void (*set_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
3994 void (*offset_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
3996 void (*reset_tsf)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
3997 int (*tx_last_beacon)(struct ieee80211_hw *hw);
4030 int (*ampdu_action)(struct ieee80211_hw *hw,
4033 int (*get_survey)(struct ieee80211_hw *hw, int idx,
4035 void (*rfkill_poll)(struct ieee80211_hw *hw);
4036 void (*set_coverage_class)(struct ieee80211_hw *hw, s16 coverage_class);
4038 int (*testmode_cmd)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4040 int (*testmode_dump)(struct ieee80211_hw *hw, struct sk_buff *skb,
4044 void (*flush)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4046 void (*channel_switch)(struct ieee80211_hw *hw,
4049 int (*set_antenna)(struct ieee80211_hw *hw, u32 tx_ant, u32 rx_ant);
4050 int (*get_antenna)(struct ieee80211_hw *hw, u32 *tx_ant, u32 *rx_ant);
4052 int (*remain_on_channel)(struct ieee80211_hw *hw,
4057 int (*cancel_remain_on_channel)(struct ieee80211_hw *hw,
4059 int (*set_ringparam)(struct ieee80211_hw *hw, u32 tx, u32 rx);
4060 void (*get_ringparam)(struct ieee80211_hw *hw,
4062 bool (*tx_frames_pending)(struct ieee80211_hw *hw);
4063 int (*set_bitrate_mask)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4065 void (*event_callback)(struct ieee80211_hw *hw,
4069 void (*allow_buffered_frames)(struct ieee80211_hw *hw,
4074 void (*release_buffered_frames)(struct ieee80211_hw *hw,
4080 int (*get_et_sset_count)(struct ieee80211_hw *hw,
4082 void (*get_et_stats)(struct ieee80211_hw *hw,
4085 void (*get_et_strings)(struct ieee80211_hw *hw,
4089 void (*mgd_prepare_tx)(struct ieee80211_hw *hw,
4093 void (*mgd_protect_tdls_discover)(struct ieee80211_hw *hw,
4096 int (*add_chanctx)(struct ieee80211_hw *hw,
4098 void (*remove_chanctx)(struct ieee80211_hw *hw,
4100 void (*change_chanctx)(struct ieee80211_hw *hw,
4103 int (*assign_vif_chanctx)(struct ieee80211_hw *hw,
4106 void (*unassign_vif_chanctx)(struct ieee80211_hw *hw,
4109 int (*switch_vif_chanctx)(struct ieee80211_hw *hw,
4114 void (*reconfig_complete)(struct ieee80211_hw *hw,
4118 void (*ipv6_addr_change)(struct ieee80211_hw *hw,
4122 void (*channel_switch_beacon)(struct ieee80211_hw *hw,
4125 int (*pre_channel_switch)(struct ieee80211_hw *hw,
4129 int (*post_channel_switch)(struct ieee80211_hw *hw,
4131 void (*abort_channel_switch)(struct ieee80211_hw *hw,
4133 void (*channel_switch_rx_beacon)(struct ieee80211_hw *hw,
4137 int (*join_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
4138 void (*leave_ibss)(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
4139 u32 (*get_expected_throughput)(struct ieee80211_hw *hw,
4141 int (*get_txpower)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4144 int (*tdls_channel_switch)(struct ieee80211_hw *hw,
4149 void (*tdls_cancel_channel_switch)(struct ieee80211_hw *hw,
4152 void (*tdls_recv_channel_switch)(struct ieee80211_hw *hw,
4156 void (*wake_tx_queue)(struct ieee80211_hw *hw,
4158 void (*sync_rx_queues)(struct ieee80211_hw *hw);
4160 int (*start_nan)(struct ieee80211_hw *hw,
4163 int (*stop_nan)(struct ieee80211_hw *hw,
4165 int (*nan_change_conf)(struct ieee80211_hw *hw,
4168 int (*add_nan_func)(struct ieee80211_hw *hw,
4171 void (*del_nan_func)(struct ieee80211_hw *hw,
4174 bool (*can_aggregate_in_amsdu)(struct ieee80211_hw *hw,
4177 int (*get_ftm_responder_stats)(struct ieee80211_hw *hw,
4180 int (*start_pmsr)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4182 void (*abort_pmsr)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4184 int (*set_tid_config)(struct ieee80211_hw *hw,
4188 int (*reset_tid_config)(struct ieee80211_hw *hw,
4191 void (*update_vif_offload)(struct ieee80211_hw *hw,
4193 void (*sta_set_4addr)(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
4203 * @priv in &struct ieee80211_hw, the size of this area is given as
4213 struct ieee80211_hw *ieee80211_alloc_hw_nm(size_t priv_data_len,
4223 * @priv in &struct ieee80211_hw, the size of this area is given as
4232 struct ieee80211_hw *ieee80211_alloc_hw(size_t priv_data_len,
4249 int ieee80211_register_hw(struct ieee80211_hw *hw);
4276 const char *__ieee80211_get_tx_led_name(struct ieee80211_hw *hw);
4277 const char *__ieee80211_get_rx_led_name(struct ieee80211_hw *hw);
4278 const char *__ieee80211_get_assoc_led_name(struct ieee80211_hw *hw);
4279 const char *__ieee80211_get_radio_led_name(struct ieee80211_hw *hw);
4281 __ieee80211_create_tpt_led_trigger(struct ieee80211_hw *hw,
4298 static inline const char *ieee80211_get_tx_led_name(struct ieee80211_hw *hw)
4319 static inline const char *ieee80211_get_rx_led_name(struct ieee80211_hw *hw)
4340 static inline const char *ieee80211_get_assoc_led_name(struct ieee80211_hw *hw)
4361 static inline const char *ieee80211_get_radio_led_name(struct ieee80211_hw *hw)
4383 ieee80211_create_tpt_led_trigger(struct ieee80211_hw *hw, unsigned int flags,
4403 void ieee80211_unregister_hw(struct ieee80211_hw *hw);
4414 void ieee80211_free_hw(struct ieee80211_hw *hw);
4428 void ieee80211_restart_hw(struct ieee80211_hw *hw);
4452 void ieee80211_rx_list(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
4477 void ieee80211_rx_napi(struct ieee80211_hw *hw, struct ieee80211_sta *sta,
4500 static inline void ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb)
4518 void ieee80211_rx_irqsafe(struct ieee80211_hw *hw, struct sk_buff *skb);
4533 static inline void ieee80211_rx_ni(struct ieee80211_hw *hw,
4699 void ieee80211_tx_rate_update(struct ieee80211_hw *hw,
4719 void ieee80211_tx_status(struct ieee80211_hw *hw,
4736 void ieee80211_tx_status_ext(struct ieee80211_hw *hw,
4755 static inline void ieee80211_tx_status_noskb(struct ieee80211_hw *hw,
4779 static inline void ieee80211_tx_status_ni(struct ieee80211_hw *hw,
4799 void ieee80211_tx_status_irqsafe(struct ieee80211_hw *hw,
4818 void ieee80211_tx_status_8023(struct ieee80211_hw *hw,
4870 ieee80211_beacon_get_template(struct ieee80211_hw *hw,
4896 struct sk_buff *ieee80211_beacon_get_tim(struct ieee80211_hw *hw,
4909 static inline struct sk_buff *ieee80211_beacon_get(struct ieee80211_hw *hw,
4972 struct sk_buff *ieee80211_proberesp_get(struct ieee80211_hw *hw,
4989 struct sk_buff *ieee80211_pspoll_get(struct ieee80211_hw *hw,
5011 struct sk_buff *ieee80211_nullfunc_get(struct ieee80211_hw *hw,
5028 struct sk_buff *ieee80211_probereq_get(struct ieee80211_hw *hw,
5047 void ieee80211_rts_get(struct ieee80211_hw *hw, struct ieee80211_vif *vif,
5065 __le16 ieee80211_rts_duration(struct ieee80211_hw *hw,
5083 void ieee80211_ctstoself_get(struct ieee80211_hw *hw,
5102 __le16 ieee80211_ctstoself_duration(struct ieee80211_hw *hw,
5120 __le16 ieee80211_generic_frame_duration(struct ieee80211_hw *hw,
5148 ieee80211_get_buffered_bc(struct ieee80211_hw *hw, struct ieee80211_vif *vif);
5328 void ieee80211_wake_queue(struct ieee80211_hw *hw, int queue);
5337 void ieee80211_stop_queue(struct ieee80211_hw *hw, int queue);
5349 int ieee80211_queue_stopped(struct ieee80211_hw *hw, int queue);
5357 void ieee80211_stop_queues(struct ieee80211_hw *hw);
5365 void ieee80211_wake_queues(struct ieee80211_hw *hw);
5378 void ieee80211_scan_completed(struct ieee80211_hw *hw,
5389 void ieee80211_sched_scan_results(struct ieee80211_hw *hw);
5401 void ieee80211_sched_scan_stopped(struct ieee80211_hw *hw);
5437 void ieee80211_iterate_interfaces(struct ieee80211_hw *hw, u32 iter_flags,
5458 ieee80211_iterate_active_interfaces(struct ieee80211_hw *hw, u32 iter_flags,
5482 void ieee80211_iterate_active_interfaces_atomic(struct ieee80211_hw *hw,
5501 void ieee80211_iterate_active_interfaces_rtnl(struct ieee80211_hw *hw,
5520 void ieee80211_iterate_stations_atomic(struct ieee80211_hw *hw,
5533 void ieee80211_queue_work(struct ieee80211_hw *hw, struct work_struct *work);
5545 void ieee80211_queue_delayed_work(struct ieee80211_hw *hw,
5639 struct ieee80211_sta *ieee80211_find_sta_by_ifaddr(struct ieee80211_hw *hw,
5672 void ieee80211_sta_block_awake(struct ieee80211_hw *hw,
5756 ieee80211_txq_airtime_check(struct ieee80211_hw *hw, struct ieee80211_txq *txq);
5776 void ieee80211_iter_keys(struct ieee80211_hw *hw,
5778 void (*iter)(struct ieee80211_hw *hw,
5800 void ieee80211_iter_keys_rcu(struct ieee80211_hw *hw,
5802 void (*iter)(struct ieee80211_hw *hw,
5829 struct ieee80211_hw *hw,
5830 void (*iter)(struct ieee80211_hw *hw,
5849 struct sk_buff *ieee80211_ap_probereq_get(struct ieee80211_hw *hw,
5933 void ieee80211_radar_detected(struct ieee80211_hw *hw);
5961 void ieee80211_ready_on_channel(struct ieee80211_hw *hw);
5967 void ieee80211_remain_on_channel_expired(struct ieee80211_hw *hw);
6107 struct ieee80211_hw *hw;
6135 void *(*alloc)(struct ieee80211_hw *hw);
6136 void (*add_debugfs)(struct ieee80211_hw *hw, void *priv,
6214 int rate_control_set_rates(struct ieee80211_hw *hw,
6332 bool ieee80211_tx_prepare_skb(struct ieee80211_hw *hw,
6468 struct sk_buff *ieee80211_tx_dequeue(struct ieee80211_hw *hw,
6482 static inline struct sk_buff *ieee80211_tx_dequeue_ni(struct ieee80211_hw *hw,
6504 struct ieee80211_txq *ieee80211_next_txq(struct ieee80211_hw *hw, u8 ac);
6515 void ieee80211_txq_schedule_start(struct ieee80211_hw *hw, u8 ac);
6518 static inline void ieee80211_txq_schedule_end(struct ieee80211_hw *hw, u8 ac)
6522 void __ieee80211_schedule_txq(struct ieee80211_hw *hw,
6538 ieee80211_schedule_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq)
6554 ieee80211_return_txq(struct ieee80211_hw *hw, struct ieee80211_txq *txq,
6584 bool ieee80211_txq_may_transmit(struct ieee80211_hw *hw,
6644 u32 ieee80211_calc_rx_airtime(struct ieee80211_hw *hw,
6658 u32 ieee80211_calc_tx_airtime(struct ieee80211_hw *hw,
6682 struct sk_buff *ieee80211_get_fils_discovery_tmpl(struct ieee80211_hw *hw,
6696 ieee80211_get_unsol_bcast_probe_resp_tmpl(struct ieee80211_hw *hw,