Signed-off-by: Florian Margaine <florian@xxxxxxxxxxxx> --- .../actions-and-configuration.rst | 9 + .../80211/cfg80211-subsystem/data-path-helpers.rst | 9 + .../cfg80211-subsystem/device-registration.rst | 9 + Documentation/80211/cfg80211-subsystem/index.rst | 14 + .../regulatory-enforcement-infrastructure.rst | 9 + .../cfg80211-subsystem/rfkill-integration.rst | 9 + .../scanning-and-bss-list-handling.rst | 9 + .../80211/cfg80211-subsystem/test-mode.rst | 9 + .../80211/cfg80211-subsystem/utility-functions.rst | 9 + ...reless-80211-networking-in-the-linux-kernel.rst | 47 ++ Documentation/80211/index.rst | 9 + .../advanced/access-point-mode-support.rst | 19 + .../advanced/aggregation.rst | 18 + .../advanced/beacon-filter-support.rst | 9 + .../advanced/hardware-crypto-acceleration.rst | 9 + .../advanced/hardware-scan-offload.rst | 8 + .../mac80211-developers-guide/advanced/index.rst | 21 + .../advanced/led-support.rst | 11 + .../advanced/multiple-queues-and-qos-support.rst | 8 + .../advanced/powersave-support.rst | 6 + .../advanced/spatial-multiplexing-powersave.rst | 9 + .../advanced/station-handling.rst | 8 + .../supporting-multiple-virtual-interfaces.rst | 14 + .../basic/basic-hardware-handling.rst | 22 + .../basic/frame-filtering.rst | 9 + .../mac80211-developers-guide/basic/index.rst | 20 + .../basic/phy-configuration.rst | 11 + .../basic/receive-and-transmit-processing.rst | 35 ++ .../basic/the-mac80211-workqueue.rst | 9 + .../basic/virtual-interfaces.rst | 20 + .../80211/mac80211-developers-guide/index.rst | 22 + .../internals/aggregation.rst | 6 + .../mac80211-developers-guide/internals/index.rst | 16 + .../internals/key-handling.rst | 14 + .../internals/receive-processing.rst | 5 + .../internals/station-info-handling.rst | 15 + .../internals/synchronisation.rst | 7 + .../internals/transmit-processing.rst | 3 + .../rate-control/index.rst | 12 + .../rate-control/rate-control-api.rst | 8 + Documentation/DocBook/80211.tmpl | 584 --------------------- Documentation/DocBook/Makefile | 2 +- Documentation/index.rst | 1 + 43 files changed, 518 insertions(+), 585 deletions(-) create mode 100644 Documentation/80211/cfg80211-subsystem/actions-and-configuration.rst create mode 100644 Documentation/80211/cfg80211-subsystem/data-path-helpers.rst create mode 100644 Documentation/80211/cfg80211-subsystem/device-registration.rst create mode 100644 Documentation/80211/cfg80211-subsystem/index.rst create mode 100644 Documentation/80211/cfg80211-subsystem/regulatory-enforcement-infrastructure.rst create mode 100644 Documentation/80211/cfg80211-subsystem/rfkill-integration.rst create mode 100644 Documentation/80211/cfg80211-subsystem/scanning-and-bss-list-handling.rst create mode 100644 Documentation/80211/cfg80211-subsystem/test-mode.rst create mode 100644 Documentation/80211/cfg80211-subsystem/utility-functions.rst create mode 100644 Documentation/80211/explaining-wireless-80211-networking-in-the-linux-kernel.rst create mode 100644 Documentation/80211/index.rst create mode 100644 Documentation/80211/mac80211-developers-guide/advanced/access-point-mode-support.rst create mode 100644 Documentation/80211/mac80211-developers-guide/advanced/aggregation.rst create mode 100644 Documentation/80211/mac80211-developers-guide/advanced/beacon-filter-support.rst create mode 100644 Documentation/80211/mac80211-developers-guide/advanced/hardware-crypto-acceleration.rst create mode 100644 Documentation/80211/mac80211-developers-guide/advanced/hardware-scan-offload.rst create mode 100644 Documentation/80211/mac80211-developers-guide/advanced/index.rst create mode 100644 Documentation/80211/mac80211-developers-guide/advanced/led-support.rst create mode 100644 Documentation/80211/mac80211-developers-guide/advanced/multiple-queues-and-qos-support.rst create mode 100644 Documentation/80211/mac80211-developers-guide/advanced/powersave-support.rst create mode 100644 Documentation/80211/mac80211-developers-guide/advanced/spatial-multiplexing-powersave.rst create mode 100644 Documentation/80211/mac80211-developers-guide/advanced/station-handling.rst create mode 100644 Documentation/80211/mac80211-developers-guide/advanced/supporting-multiple-virtual-interfaces.rst create mode 100644 Documentation/80211/mac80211-developers-guide/basic/basic-hardware-handling.rst create mode 100644 Documentation/80211/mac80211-developers-guide/basic/frame-filtering.rst create mode 100644 Documentation/80211/mac80211-developers-guide/basic/index.rst create mode 100644 Documentation/80211/mac80211-developers-guide/basic/phy-configuration.rst create mode 100644 Documentation/80211/mac80211-developers-guide/basic/receive-and-transmit-processing.rst create mode 100644 Documentation/80211/mac80211-developers-guide/basic/the-mac80211-workqueue.rst create mode 100644 Documentation/80211/mac80211-developers-guide/basic/virtual-interfaces.rst create mode 100644 Documentation/80211/mac80211-developers-guide/index.rst create mode 100644 Documentation/80211/mac80211-developers-guide/internals/aggregation.rst create mode 100644 Documentation/80211/mac80211-developers-guide/internals/index.rst create mode 100644 Documentation/80211/mac80211-developers-guide/internals/key-handling.rst create mode 100644 Documentation/80211/mac80211-developers-guide/internals/receive-processing.rst create mode 100644 Documentation/80211/mac80211-developers-guide/internals/station-info-handling.rst create mode 100644 Documentation/80211/mac80211-developers-guide/internals/synchronisation.rst create mode 100644 Documentation/80211/mac80211-developers-guide/internals/transmit-processing.rst create mode 100644 Documentation/80211/mac80211-developers-guide/rate-control/index.rst create mode 100644 Documentation/80211/mac80211-developers-guide/rate-control/rate-control-api.rst delete mode 100644 Documentation/DocBook/80211.tmpl diff --git a/Documentation/80211/cfg80211-subsystem/actions-and-configuration.rst b/Documentation/80211/cfg80211-subsystem/actions-and-configuration.rst new file mode 100644 index 0000000..fa29fa3 --- /dev/null +++ b/Documentation/80211/cfg80211-subsystem/actions-and-configuration.rst @@ -0,0 +1,9 @@ +========================= +Actions and configuration +========================= + +.. kernel-doc:: include/net/cfg80211.h + :doc: Actions and configuration + +.. kernel-doc:: include/net/cfg80211.h + :functions: cfg80211_ops vif_params key_params survey_info_flags survey_info cfg80211_beacon_data cfg80211_ap_settings station_parameters rate_info_flags rate_info station_info monitor_flags mpath_info_flags mpath_info bss_parameters ieee80211_txq_params cfg80211_crypto_settings cfg80211_auth_request cfg80211_assoc_request cfg80211_deauth_request cfg80211_disassoc_request cfg80211_ibss_params cfg80211_connect_params cfg80211_pmksa cfg80211_rx_mlme_mgmt cfg80211_auth_timeout cfg80211_rx_assoc_resp cfg80211_assoc_timeout cfg80211_tx_mlme_mgmt cfg80211_ibss_joined cfg80211_connect_result cfg80211_connect_bss cfg80211_connect_timeout cfg80211_roamed cfg80211_disconnected cfg80211_ready_on_channel cfg80211_remain_on_channel_expired cfg80211_new_sta cfg80211_rx_mgmt cfg80211_mgmt_tx_statuscfg80211_cqm_rssi_notify cfg80211_cqm_pktloss_notify cfg80211_michael_mic_failure diff --git a/Documentation/80211/cfg80211-subsystem/data-path-helpers.rst b/Documentation/80211/cfg80211-subsystem/data-path-helpers.rst new file mode 100644 index 0000000..11665e0 --- /dev/null +++ b/Documentation/80211/cfg80211-subsystem/data-path-helpers.rst @@ -0,0 +1,9 @@ +================= +Data path helpers +================= + +.. kernel-doc:: include/net/cfg80211.h + :doc: Data path helpers + +.. kernel-doc:: include/net/cfg80211.h + :functions: ieee80211_data_to_8023 ieee80211_data_from_8023 ieee80211_amsdu_to_8023s cfg80211_classify8021d diff --git a/Documentation/80211/cfg80211-subsystem/device-registration.rst b/Documentation/80211/cfg80211-subsystem/device-registration.rst new file mode 100644 index 0000000..b2915a1 --- /dev/null +++ b/Documentation/80211/cfg80211-subsystem/device-registration.rst @@ -0,0 +1,9 @@ +=================== +Device registration +=================== + +.. kernel-doc:: include/net/cfg80211.h + :doc: Device registration + +.. kernel-doc:: include/net/cfg80211.h + :functions: ieee80211_channel_flags ieee80211_channel ieee80211_rate_flags ieee80211_rate ieee80211_sta_ht_cap ieee80211_supported_band cfg80211_signal_type wiphy_params_flags wiphy_flags wiphy wireless_dev wiphy_new wiphy_register wiphy_unregister wiphy_free wiphy_name wiphy_dev wiphy_priv priv_to_wiphy set_wiphy_dev wdev_priv ieee80211_iface_limit ieee80211_iface_combination cfg80211_check_combinations diff --git a/Documentation/80211/cfg80211-subsystem/index.rst b/Documentation/80211/cfg80211-subsystem/index.rst new file mode 100644 index 0000000..d451221 --- /dev/null +++ b/Documentation/80211/cfg80211-subsystem/index.rst @@ -0,0 +1,14 @@ +====================== +The cfg80211 subsystem +====================== + +.. toctree:: + + device-registration + actions-and-configuration + scanning-and-bss-list-handling + utility-functions + data-path-helpers + regulatory-enforcement-infrastructure + rfkill-integration + test-mode diff --git a/Documentation/80211/cfg80211-subsystem/regulatory-enforcement-infrastructure.rst b/Documentation/80211/cfg80211-subsystem/regulatory-enforcement-infrastructure.rst new file mode 100644 index 0000000..984d719 --- /dev/null +++ b/Documentation/80211/cfg80211-subsystem/regulatory-enforcement-infrastructure.rst @@ -0,0 +1,9 @@ +===================================== +Regulatory enforcement infrastructure +===================================== + +.. kernel-doc:: include/net/cfg80211.h + :doc: Regulatory enforcement infrastructure + +.. kernel-doc:: include/net/cfg80211.h + :functions: regulatory_hint wiphy_apply_custom_regulatory freq_reg_info diff --git a/Documentation/80211/cfg80211-subsystem/rfkill-integration.rst b/Documentation/80211/cfg80211-subsystem/rfkill-integration.rst new file mode 100644 index 0000000..a7a1357 --- /dev/null +++ b/Documentation/80211/cfg80211-subsystem/rfkill-integration.rst @@ -0,0 +1,9 @@ +================== +RFkill integration +================== + +.. kernel-doc:: include/net/cfg80211.h + :doc: RFkill integration + +.. kernel-doc:: include/net/cfg80211.h + :functions: wiphy_rfkill_set_hw_state wiphy_rfkill_start_polling wiphy_rfkill_stop_polling diff --git a/Documentation/80211/cfg80211-subsystem/scanning-and-bss-list-handling.rst b/Documentation/80211/cfg80211-subsystem/scanning-and-bss-list-handling.rst new file mode 100644 index 0000000..e80b620 --- /dev/null +++ b/Documentation/80211/cfg80211-subsystem/scanning-and-bss-list-handling.rst @@ -0,0 +1,9 @@ +============================== +Scanning and BSS list handling +============================== + +.. kernel-doc:: include/net/cfg80211.h + :doc: Scanning and BSS list handling + +.. kernel-doc:: include/net/cfg80211.h + :functions: cfg80211_ssid cfg80211_scan_request cfg80211_scan_done cfg80211_bss cfg80211_inform_bss cfg80211_inform_bss_frame_data cfg80211_inform_bss_data cfg80211_unlink_bss cfg80211_find_ie ieee80211_bss_get_ie diff --git a/Documentation/80211/cfg80211-subsystem/test-mode.rst b/Documentation/80211/cfg80211-subsystem/test-mode.rst new file mode 100644 index 0000000..72e087e --- /dev/null +++ b/Documentation/80211/cfg80211-subsystem/test-mode.rst @@ -0,0 +1,9 @@ +========= +Test mode +========= + +.. kernel-doc:: include/net/cfg80211.h + :doc: Test mode + +.. kernel-doc:: include/net/cfg80211.h + :functions: cfg80211_testmode_alloc_reply_skb cfg80211_testmode_reply cfg80211_testmode_alloc_event_skb cfg80211_testmode_event diff --git a/Documentation/80211/cfg80211-subsystem/utility-functions.rst b/Documentation/80211/cfg80211-subsystem/utility-functions.rst new file mode 100644 index 0000000..626bedd --- /dev/null +++ b/Documentation/80211/cfg80211-subsystem/utility-functions.rst @@ -0,0 +1,9 @@ +================= +Utility functions +================= + +.. kernel-doc:: include/net/cfg80211.h + :doc: Utility functions + +.. kernel-doc:: include/net/cfg80211.h + :functions: ieee80211_channel_to_frequency ieee80211_frequency_to_channel ieee80211_get_channel ieee80211_get_response_rate ieee80211_hdrlen ieee80211_get_hdrlen_from_skb ieee80211_radiotap_iterator diff --git a/Documentation/80211/explaining-wireless-80211-networking-in-the-linux-kernel.rst b/Documentation/80211/explaining-wireless-80211-networking-in-the-linux-kernel.rst new file mode 100644 index 0000000..f047fb6 --- /dev/null +++ b/Documentation/80211/explaining-wireless-80211-networking-in-the-linux-kernel.rst @@ -0,0 +1,47 @@ +========================================================= +Explaining wireless 802.11 networking in the Linux kernel +========================================================= + +Copyright +========= + +2007-2009 Johannes Berg + +Author +====== + +Johannes Berg <johannes@xxxxxxxxxxxxxxxx> + +Legal notice +============ + +This documentation is free software; you can redistribute it and/or +modify it under the terms of the GNU General Public License version 2 +as published by the Free Software Foundation. + +This documentation is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this documentation; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 +USA + +For more details see the file COPYING in the source distribution of +Linux. + +Abstract +======== + +These books attempt to give a description of the various subsystems +that play a role in 802.11 wireless networking in Linux. Since these +books are for kernel developers they attempts to document the +structures and functions used in the kernel as well as giving a +higher-level overview. + +The reader is expected to be familiar with the 802.11 standard as +published by the IEEE in 802.11-2007 (or possibly later +versions). References to this standard will be given as "802.11-2007 +8.1.5". diff --git a/Documentation/80211/index.rst b/Documentation/80211/index.rst new file mode 100644 index 0000000..bd5facf --- /dev/null +++ b/Documentation/80211/index.rst @@ -0,0 +1,9 @@ +============================================= +The 802.11 subsystems — for kernel developers +============================================= + +.. toctree:: + + explaining-wireless-80211-networking-in-the-linux-kernel + cfg80211-subsystem/index + mac80211-developers-guide/index diff --git a/Documentation/80211/mac80211-developers-guide/advanced/access-point-mode-support.rst b/Documentation/80211/mac80211-developers-guide/advanced/access-point-mode-support.rst new file mode 100644 index 0000000..2960a50 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/advanced/access-point-mode-support.rst @@ -0,0 +1,19 @@ +========================= +Access point mode support +========================= + +TB + +Some parts of the if_conf should be discussed here instead. + +Insert notes about VLAN interfaces with hw crypto here or in the hw +crypto chapter. + +Support for powersaving clients +=============================== + +.. kernel-doc:: include/net/mac80211.h + :doc: AP support for powersaving clients + +.. kernel-doc:: include/net/mac80211.h + :functions: ieee80211_get_buffered_bc ieee80211_beacon_get ieee80211_sta_eosp ieee80211_frame_release_type ieee80211_sta_ps_transition ieee80211_sta_ps_transition_ni ieee80211_sta_set_buffered ieee80211_sta_block_awake diff --git a/Documentation/80211/mac80211-developers-guide/advanced/aggregation.rst b/Documentation/80211/mac80211-developers-guide/advanced/aggregation.rst new file mode 100644 index 0000000..443a93d --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/advanced/aggregation.rst @@ -0,0 +1,18 @@ +=========== +Aggregation +=========== + +TX A-MPDU aggregation +===================== + +.. kernel-doc:: net/mac80211/agg-tx.c + :doc: TX A-MPDU aggregation + +RX A-MPDU aggregation +===================== + +.. kernel-doc:: net/mac80211/agg-rx.c + :doc: RX A-MPDU aggregation + +.. kernel-doc:: include/net/mac80211.h + :functions: ieee80211_ampdu_mlme_action diff --git a/Documentation/80211/mac80211-developers-guide/advanced/beacon-filter-support.rst b/Documentation/80211/mac80211-developers-guide/advanced/beacon-filter-support.rst new file mode 100644 index 0000000..fe607d6 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/advanced/beacon-filter-support.rst @@ -0,0 +1,9 @@ +===================== +Beacon filter support +===================== + +.. kernel-doc:: include/net/mac80211.h + :doc: Beacon filter support + +.. kernel-doc:: include/net/mac80211.h + :functions: ieee80211_beacon_loss diff --git a/Documentation/80211/mac80211-developers-guide/advanced/hardware-crypto-acceleration.rst b/Documentation/80211/mac80211-developers-guide/advanced/hardware-crypto-acceleration.rst new file mode 100644 index 0000000..94a5927 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/advanced/hardware-crypto-acceleration.rst @@ -0,0 +1,9 @@ +============================ +Hardware crypto acceleration +============================ + +.. kernel-doc:: include/net/mac80211.h + :doc: Hardware crypto acceleration + +.. kernel-doc:: include/net/mac80211.h + :functions: set_key_cmd ieee80211_key_conf ieee80211_key_flags ieee80211_get_tkip_p1k ieee80211_get_tkip_p1k_iv ieee80211_get_tkip_p2k diff --git a/Documentation/80211/mac80211-developers-guide/advanced/hardware-scan-offload.rst b/Documentation/80211/mac80211-developers-guide/advanced/hardware-scan-offload.rst new file mode 100644 index 0000000..4685392 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/advanced/hardware-scan-offload.rst @@ -0,0 +1,8 @@ +===================== +Hardware scan offload +===================== + +TBD + +.. kernel-doc:: include/net/mac80211.h + :functions: ieee80211_scan_completed diff --git a/Documentation/80211/mac80211-developers-guide/advanced/index.rst b/Documentation/80211/mac80211-developers-guide/advanced/index.rst new file mode 100644 index 0000000..997cfe3 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/advanced/index.rst @@ -0,0 +1,21 @@ +========================= +Advanced driver interface +========================= + +Information contained within this part of the book is of interest only +for advanced interaction of mac80211 with drivers to exploit more +hardware capabilities and improve performance. + +.. toctree:: + + led-support + hardware-crypto-acceleration + powersave-support + beacon-filter-support + multiple-queues-and-qos-support + access-point-mode-support + supporting-multiple-virtual-interfaces + station-handling + hardware-scan-offload + aggregation + spatial-multiplexing-powersave diff --git a/Documentation/80211/mac80211-developers-guide/advanced/led-support.rst b/Documentation/80211/mac80211-developers-guide/advanced/led-support.rst new file mode 100644 index 0000000..4a54db4 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/advanced/led-support.rst @@ -0,0 +1,11 @@ +=========== +LED support +=========== + +Mac80211 supports various ways of blinking LEDs. Wherever possible, +device LEDs should be exposed as LED class devices and hooked up to +the appropriate trigger, which will then be triggered appropriately by +mac80211. + +.. kernel-doc:: include/net/mac80211.h + :functions: ieee80211_get_tx_led_name ieee80211_get_rx_led_name ieee80211_get_assoc_led_name ieee80211_get_radio_led_name ieee80211_tpt_blink ieee80211_tpt_led_trigger_flags ieee80211_create_tpt_led_trigger diff --git a/Documentation/80211/mac80211-developers-guide/advanced/multiple-queues-and-qos-support.rst b/Documentation/80211/mac80211-developers-guide/advanced/multiple-queues-and-qos-support.rst new file mode 100644 index 0000000..bbfc2ec --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/advanced/multiple-queues-and-qos-support.rst @@ -0,0 +1,8 @@ +=============================== +Multiple queues and QoS support +=============================== + +TBD + +.. kernel-doc:: include/net/mac80211.h + :functions: ieee80211_tx_queue_params diff --git a/Documentation/80211/mac80211-developers-guide/advanced/powersave-support.rst b/Documentation/80211/mac80211-developers-guide/advanced/powersave-support.rst new file mode 100644 index 0000000..b2e0911 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/advanced/powersave-support.rst @@ -0,0 +1,6 @@ +================= +Powersave support +================= + +.. kernel-doc:: include/net/mac80211.h + :doc: Powersave support diff --git a/Documentation/80211/mac80211-developers-guide/advanced/spatial-multiplexing-powersave.rst b/Documentation/80211/mac80211-developers-guide/advanced/spatial-multiplexing-powersave.rst new file mode 100644 index 0000000..6869d6f --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/advanced/spatial-multiplexing-powersave.rst @@ -0,0 +1,9 @@ +===================================== +Spatial Multiplexing Powersave (SMPS) +===================================== + +.. kernel-doc:: include/net/mac80211.h + :doc: Spatial multiplexing power save + +.. kernel-doc:: include/net/mac80211.h + :functions: ieee80211_request_smps ieee80211_smps_mode diff --git a/Documentation/80211/mac80211-developers-guide/advanced/station-handling.rst b/Documentation/80211/mac80211-developers-guide/advanced/station-handling.rst new file mode 100644 index 0000000..b8c923b --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/advanced/station-handling.rst @@ -0,0 +1,8 @@ +================ +Station handling +================ + +TODO + +.. kernel-doc:: include/net/mac80211.h + :functions: ieee80211_sta sta_notify_cmd ieee80211_find_sta ieee80211_find_sta_by_ifaddr diff --git a/Documentation/80211/mac80211-developers-guide/advanced/supporting-multiple-virtual-interfaces.rst b/Documentation/80211/mac80211-developers-guide/advanced/supporting-multiple-virtual-interfaces.rst new file mode 100644 index 0000000..a91be86 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/advanced/supporting-multiple-virtual-interfaces.rst @@ -0,0 +1,14 @@ +=================================== +Support multiple virtual interfaces +=================================== + +TBD + +Note: WDS with identical MAC address should almost always be OK + +Insert notes about having multiple virtual interfaces with different +MAC addresses here, note which configurations are supported by +mac80211, add notes about supporting hw crypto with it. + +.. kernel-doc:: include/net/mac80211.h + :functions: ieee80211_iterate_active_interfaces ieee80211_iterate_active_interfaces_atomic diff --git a/Documentation/80211/mac80211-developers-guide/basic/basic-hardware-handling.rst b/Documentation/80211/mac80211-developers-guide/basic/basic-hardware-handling.rst new file mode 100644 index 0000000..618df23 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/basic/basic-hardware-handling.rst @@ -0,0 +1,22 @@ +======================= +Basic hardware handling +======================= + +TBD + +This chapter shall contain information on getting a hw struct +allocated and registered with mac80211. + +Since it is required to allocate rates/modes before registering a hw +struct, this chapter shall also contain information on setting up the +rate/mode structs. + +Additionally, some discussion about the callbacks and the general +programming model should be in here, including the definition of +ieee80211_ops which will be referred to a lot. + +Finally, a discussion of hardware capabilities should be done with +references to other parts of the book. + +.. kernel-doc:: include/net/mac80211.h + :functions: ieee80211_hw ieee80211_hw_flags SET_IEEE80211_DEV SET_IEEE80211_PERM_ADDR ieee80211_ops ieee80211_alloc_hw ieee80211_register_hw ieee80211_unregister_hw ieee80211_free_hw diff --git a/Documentation/80211/mac80211-developers-guide/basic/frame-filtering.rst b/Documentation/80211/mac80211-developers-guide/basic/frame-filtering.rst new file mode 100644 index 0000000..faab2b6 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/basic/frame-filtering.rst @@ -0,0 +1,9 @@ +=============== +Frame filtering +=============== + +.. kernel-doc:: include/net/mac80211.h + :doc: Frame filtering + +.. kernel-doc:: include/net/mac80211.h + :functions: ieee80211_filter_flags diff --git a/Documentation/80211/mac80211-developers-guide/basic/index.rst b/Documentation/80211/mac80211-developers-guide/basic/index.rst new file mode 100644 index 0000000..e7e6d26 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/basic/index.rst @@ -0,0 +1,20 @@ +=================================== +The basic mac80211 driver interface +=================================== + +You should read and understand the information contained within this +part of the book while implementing a driver. In some chapters, +advanced usage is noted, that may be skipped at first. + +This part of the book only covers station and monitor mode +functionality, additional information required to implement the other +modes is covered in the second part of the book. + +.. toctree:: + + basic-hardware-handling + phy-configuration + virtual-interfaces + receive-and-transmit-processing + frame-filtering + the-mac80211-workqueue diff --git a/Documentation/80211/mac80211-developers-guide/basic/phy-configuration.rst b/Documentation/80211/mac80211-developers-guide/basic/phy-configuration.rst new file mode 100644 index 0000000..6bab706 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/basic/phy-configuration.rst @@ -0,0 +1,11 @@ +================= +PHY configuration +================= + +TBD + +This chapter should describe PHY handling including start/stop +callbacks and the various structures used. + +.. kernel-doc:: include/net/mac80211.h + :functions: ieee80211_conf ieee80211_conf_flags diff --git a/Documentation/80211/mac80211-developers-guide/basic/receive-and-transmit-processing.rst b/Documentation/80211/mac80211-developers-guide/basic/receive-and-transmit-processing.rst new file mode 100644 index 0000000..9c60c74 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/basic/receive-and-transmit-processing.rst @@ -0,0 +1,35 @@ +=============================== +Receive and transmit processing +=============================== + +What should be here +=================== + +TBD + +This should describe the receive and transmit paths in mac80211/the +drivers as well as transmit status handling. + +Frame format +============ + +.. kernel-doc:: include/net/mac80211.h + :doc: Frame format + +Packet alignment +================ + +.. kernel-doc:: net/mac80211/rx.c + :doc: Packet alignment + +Calling into mac80211 from interrupts +===================================== + +.. kernel-doc:: include/net/mac80211.h + :doc: Calling mac80211 from interrupts + +functions/definitions +===================== + +.. kernel-doc:: include/net/mac80211.h + :functions: ieee80211_rx_status mac80211_rx_flags mac80211_tx_info_flags mac80211_tx_control_flags mac80211_rate_control_flags ieee80211_tx_rate ieee80211_tx_info ieee80211_tx_info_clear_status ieee80211_rx ieee80211_rx_ni ieee80211_rx_irqsafeieee80211_tx_status ieee80211_tx_status_ni ieee80211_tx_status_irqsafe ieee80211_rts_get ieee80211_rts_duration ieee80211_ctstoself_get ieee80211_ctstoself_duration ieee80211_generic_frame_duration ieee80211_wake_queue ieee80211_stop_queue ieee80211_wake_queues ieee80211_stop_queues ieee80211_queue_stopped diff --git a/Documentation/80211/mac80211-developers-guide/basic/the-mac80211-workqueue.rst b/Documentation/80211/mac80211-developers-guide/basic/the-mac80211-workqueue.rst new file mode 100644 index 0000000..5919844 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/basic/the-mac80211-workqueue.rst @@ -0,0 +1,9 @@ +====================== +The mac80211 workqueue +====================== + +.. kernel-doc:: include/net/mac80211.h + :doc: mac80211 workqueue + +.. kernel-doc:: include/net/mac80211.h + :functions: ieee80211_queue_work ieee80211_queue_delayed_work diff --git a/Documentation/80211/mac80211-developers-guide/basic/virtual-interfaces.rst b/Documentation/80211/mac80211-developers-guide/basic/virtual-interfaces.rst new file mode 100644 index 0000000..af3a9e3 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/basic/virtual-interfaces.rst @@ -0,0 +1,20 @@ +================== +Virtual interfaces +================== + +TBD + +This chapter should describe virtual interface basics that are +relevant to the driver (VLANs, MGMT etc are not.) It should explain +the use of the add_iface/remove_iface callbacks as well as the +interface configuration callbacks. + +Things related to AP mode should be discussed there. + +Things related to supporting multiple interfaces should be in the +appropriate chapter, a BIG FAT note should be here about this though +and the recommendation to allow only a single interface in STA mode at +first! + +.. kernel-doc:: include/net/mac80211.h + :functions: ieee80211_vif diff --git a/Documentation/80211/mac80211-developers-guide/index.rst b/Documentation/80211/mac80211-developers-guide/index.rst new file mode 100644 index 0000000..2e10a7f --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/index.rst @@ -0,0 +1,22 @@ +====================== +The mac80211 subsystem +====================== + + +.. kernel-doc:: include/net/mac80211.h + :doc: Introduction + +.. kernel-doc:: include/net/mac80211.h + :doc: Warning + +.. Generally, this document shall be ordered by increasing complexity. + It is important to note that readers should be able to read only + the first few sections to get a working driver and only advanced + usage should require reading the full document. + +.. toctree:: + + basic/index + advanced/index + rate-control/index + internals/index diff --git a/Documentation/80211/mac80211-developers-guide/internals/aggregation.rst b/Documentation/80211/mac80211-developers-guide/internals/aggregation.rst new file mode 100644 index 0000000..328b748 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/internals/aggregation.rst @@ -0,0 +1,6 @@ +=========== +Aggregation +=========== + +.. kernel-doc:: net/mac80211/sta_info.h + :functions: sta_ampdu_mlme tid_ampdu_tx tid_ampdu_rx diff --git a/Documentation/80211/mac80211-developers-guide/internals/index.rst b/Documentation/80211/mac80211-developers-guide/internals/index.rst new file mode 100644 index 0000000..e49997c --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/internals/index.rst @@ -0,0 +1,16 @@ +========= +Internals +========= + +TBD + +This part of the book describes mac80211 internals. + +.. toctree:: + + key-handling + receive-processing + transmit-processing + station-info-handling + aggregation + synchronisation diff --git a/Documentation/80211/mac80211-developers-guide/internals/key-handling.rst b/Documentation/80211/mac80211-developers-guide/internals/key-handling.rst new file mode 100644 index 0000000..0882971 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/internals/key-handling.rst @@ -0,0 +1,14 @@ +============ +Key handling +============ + +Key handling basics +=================== + +.. kernel-doc:: net/mac80211/key.c + :doc: Key handling basics + +MORE TBD +======== + +TBD diff --git a/Documentation/80211/mac80211-developers-guide/internals/receive-processing.rst b/Documentation/80211/mac80211-developers-guide/internals/receive-processing.rst new file mode 100644 index 0000000..2dc3f77 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/internals/receive-processing.rst @@ -0,0 +1,5 @@ +================== +Receive processing +================== + +TBD diff --git a/Documentation/80211/mac80211-developers-guide/internals/station-info-handling.rst b/Documentation/80211/mac80211-developers-guide/internals/station-info-handling.rst new file mode 100644 index 0000000..f4b6943 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/internals/station-info-handling.rst @@ -0,0 +1,15 @@ +===================== +Station info handling +===================== + +Programming information +======================= + +.. kernel-doc:: net/mac80211/sta_info.h + :functions: sta_info ieee80211_sta_info_flags + +STA information lifetime rules +============================== + +.. kernel-doc:: net/mac80211/sta_info.c + :doc: STA information lifetime rules diff --git a/Documentation/80211/mac80211-developers-guide/internals/synchronisation.rst b/Documentation/80211/mac80211-developers-guide/internals/synchronisation.rst new file mode 100644 index 0000000..251a2cc --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/internals/synchronisation.rst @@ -0,0 +1,7 @@ +=============== +Synchronisation +=============== + +TBD + +Locking, lots of RCU diff --git a/Documentation/80211/mac80211-developers-guide/internals/transmit-processing.rst b/Documentation/80211/mac80211-developers-guide/internals/transmit-processing.rst new file mode 100644 index 0000000..df9c094 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/internals/transmit-processing.rst @@ -0,0 +1,3 @@ +=================== +Transmit processing +=================== diff --git a/Documentation/80211/mac80211-developers-guide/rate-control/index.rst b/Documentation/80211/mac80211-developers-guide/rate-control/index.rst new file mode 100644 index 0000000..e31c5c2 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/rate-control/index.rst @@ -0,0 +1,12 @@ +====================== +Rate control interface +====================== + +TBD + +This part of the book describes the rate control algorithm interface +and how it relates to mac80211 and drivers. + +.. toctree:: + + rate-control-api diff --git a/Documentation/80211/mac80211-developers-guide/rate-control/rate-control-api.rst b/Documentation/80211/mac80211-developers-guide/rate-control/rate-control-api.rst new file mode 100644 index 0000000..381f2c9 --- /dev/null +++ b/Documentation/80211/mac80211-developers-guide/rate-control/rate-control-api.rst @@ -0,0 +1,8 @@ +================ +Rate Control API +================ + +TBD + +.. kernel-doc:: include/net/mac80211.h + :functions: ieee80211_start_tx_ba_session ieee80211_start_tx_ba_cb_irqsafe ieee80211_stop_tx_ba_session ieee80211_stop_tx_ba_cb_irqsafe ieee80211_rate_control_changed ieee80211_tx_rate_control rate_control_send_low diff --git a/Documentation/DocBook/80211.tmpl b/Documentation/DocBook/80211.tmpl deleted file mode 100644 index 800fe7a..0000000 --- a/Documentation/DocBook/80211.tmpl +++ /dev/null @@ -1,584 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE set PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" - "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []> -<set> - <setinfo> - <title>The 802.11 subsystems – for kernel developers</title> - <subtitle> - Explaining wireless 802.11 networking in the Linux kernel - </subtitle> - - <copyright> - <year>2007-2009</year> - <holder>Johannes Berg</holder> - </copyright> - - <authorgroup> - <author> - <firstname>Johannes</firstname> - <surname>Berg</surname> - <affiliation> - <address><email>johannes@xxxxxxxxxxxxxxxx</email></address> - </affiliation> - </author> - </authorgroup> - - <legalnotice> - <para> - This documentation is free software; you can redistribute - it and/or modify it under the terms of the GNU General Public - License version 2 as published by the Free Software Foundation. - </para> - <para> - This documentation is distributed in the hope that it will be - useful, but WITHOUT ANY WARRANTY; without even the implied - warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - See the GNU General Public License for more details. - </para> - <para> - You should have received a copy of the GNU General Public - License along with this documentation; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, - MA 02111-1307 USA - </para> - <para> - For more details see the file COPYING in the source - distribution of Linux. - </para> - </legalnotice> - - <abstract> - <para> - These books attempt to give a description of the - various subsystems that play a role in 802.11 wireless - networking in Linux. Since these books are for kernel - developers they attempts to document the structures - and functions used in the kernel as well as giving a - higher-level overview. - </para> - <para> - The reader is expected to be familiar with the 802.11 - standard as published by the IEEE in 802.11-2007 (or - possibly later versions). References to this standard - will be given as "802.11-2007 8.1.5". - </para> - </abstract> - </setinfo> - <book id="cfg80211-developers-guide"> - <bookinfo> - <title>The cfg80211 subsystem</title> - - <abstract> -!Pinclude/net/cfg80211.h Introduction - </abstract> - </bookinfo> - <chapter> - <title>Device registration</title> -!Pinclude/net/cfg80211.h Device registration -!Finclude/net/cfg80211.h ieee80211_channel_flags -!Finclude/net/cfg80211.h ieee80211_channel -!Finclude/net/cfg80211.h ieee80211_rate_flags -!Finclude/net/cfg80211.h ieee80211_rate -!Finclude/net/cfg80211.h ieee80211_sta_ht_cap -!Finclude/net/cfg80211.h ieee80211_supported_band -!Finclude/net/cfg80211.h cfg80211_signal_type -!Finclude/net/cfg80211.h wiphy_params_flags -!Finclude/net/cfg80211.h wiphy_flags -!Finclude/net/cfg80211.h wiphy -!Finclude/net/cfg80211.h wireless_dev -!Finclude/net/cfg80211.h wiphy_new -!Finclude/net/cfg80211.h wiphy_register -!Finclude/net/cfg80211.h wiphy_unregister -!Finclude/net/cfg80211.h wiphy_free - -!Finclude/net/cfg80211.h wiphy_name -!Finclude/net/cfg80211.h wiphy_dev -!Finclude/net/cfg80211.h wiphy_priv -!Finclude/net/cfg80211.h priv_to_wiphy -!Finclude/net/cfg80211.h set_wiphy_dev -!Finclude/net/cfg80211.h wdev_priv -!Finclude/net/cfg80211.h ieee80211_iface_limit -!Finclude/net/cfg80211.h ieee80211_iface_combination -!Finclude/net/cfg80211.h cfg80211_check_combinations - </chapter> - <chapter> - <title>Actions and configuration</title> -!Pinclude/net/cfg80211.h Actions and configuration -!Finclude/net/cfg80211.h cfg80211_ops -!Finclude/net/cfg80211.h vif_params -!Finclude/net/cfg80211.h key_params -!Finclude/net/cfg80211.h survey_info_flags -!Finclude/net/cfg80211.h survey_info -!Finclude/net/cfg80211.h cfg80211_beacon_data -!Finclude/net/cfg80211.h cfg80211_ap_settings -!Finclude/net/cfg80211.h station_parameters -!Finclude/net/cfg80211.h rate_info_flags -!Finclude/net/cfg80211.h rate_info -!Finclude/net/cfg80211.h station_info -!Finclude/net/cfg80211.h monitor_flags -!Finclude/net/cfg80211.h mpath_info_flags -!Finclude/net/cfg80211.h mpath_info -!Finclude/net/cfg80211.h bss_parameters -!Finclude/net/cfg80211.h ieee80211_txq_params -!Finclude/net/cfg80211.h cfg80211_crypto_settings -!Finclude/net/cfg80211.h cfg80211_auth_request -!Finclude/net/cfg80211.h cfg80211_assoc_request -!Finclude/net/cfg80211.h cfg80211_deauth_request -!Finclude/net/cfg80211.h cfg80211_disassoc_request -!Finclude/net/cfg80211.h cfg80211_ibss_params -!Finclude/net/cfg80211.h cfg80211_connect_params -!Finclude/net/cfg80211.h cfg80211_pmksa -!Finclude/net/cfg80211.h cfg80211_rx_mlme_mgmt -!Finclude/net/cfg80211.h cfg80211_auth_timeout -!Finclude/net/cfg80211.h cfg80211_rx_assoc_resp -!Finclude/net/cfg80211.h cfg80211_assoc_timeout -!Finclude/net/cfg80211.h cfg80211_tx_mlme_mgmt -!Finclude/net/cfg80211.h cfg80211_ibss_joined -!Finclude/net/cfg80211.h cfg80211_connect_result -!Finclude/net/cfg80211.h cfg80211_connect_bss -!Finclude/net/cfg80211.h cfg80211_connect_timeout -!Finclude/net/cfg80211.h cfg80211_roamed -!Finclude/net/cfg80211.h cfg80211_disconnected -!Finclude/net/cfg80211.h cfg80211_ready_on_channel -!Finclude/net/cfg80211.h cfg80211_remain_on_channel_expired -!Finclude/net/cfg80211.h cfg80211_new_sta -!Finclude/net/cfg80211.h cfg80211_rx_mgmt -!Finclude/net/cfg80211.h cfg80211_mgmt_tx_status -!Finclude/net/cfg80211.h cfg80211_cqm_rssi_notify -!Finclude/net/cfg80211.h cfg80211_cqm_pktloss_notify -!Finclude/net/cfg80211.h cfg80211_michael_mic_failure - </chapter> - <chapter> - <title>Scanning and BSS list handling</title> -!Pinclude/net/cfg80211.h Scanning and BSS list handling -!Finclude/net/cfg80211.h cfg80211_ssid -!Finclude/net/cfg80211.h cfg80211_scan_request -!Finclude/net/cfg80211.h cfg80211_scan_done -!Finclude/net/cfg80211.h cfg80211_bss -!Finclude/net/cfg80211.h cfg80211_inform_bss -!Finclude/net/cfg80211.h cfg80211_inform_bss_frame_data -!Finclude/net/cfg80211.h cfg80211_inform_bss_data -!Finclude/net/cfg80211.h cfg80211_unlink_bss -!Finclude/net/cfg80211.h cfg80211_find_ie -!Finclude/net/cfg80211.h ieee80211_bss_get_ie - </chapter> - <chapter> - <title>Utility functions</title> -!Pinclude/net/cfg80211.h Utility functions -!Finclude/net/cfg80211.h ieee80211_channel_to_frequency -!Finclude/net/cfg80211.h ieee80211_frequency_to_channel -!Finclude/net/cfg80211.h ieee80211_get_channel -!Finclude/net/cfg80211.h ieee80211_get_response_rate -!Finclude/net/cfg80211.h ieee80211_hdrlen -!Finclude/net/cfg80211.h ieee80211_get_hdrlen_from_skb -!Finclude/net/cfg80211.h ieee80211_radiotap_iterator - </chapter> - <chapter> - <title>Data path helpers</title> -!Pinclude/net/cfg80211.h Data path helpers -!Finclude/net/cfg80211.h ieee80211_data_to_8023 -!Finclude/net/cfg80211.h ieee80211_data_from_8023 -!Finclude/net/cfg80211.h ieee80211_amsdu_to_8023s -!Finclude/net/cfg80211.h cfg80211_classify8021d - </chapter> - <chapter> - <title>Regulatory enforcement infrastructure</title> -!Pinclude/net/cfg80211.h Regulatory enforcement infrastructure -!Finclude/net/cfg80211.h regulatory_hint -!Finclude/net/cfg80211.h wiphy_apply_custom_regulatory -!Finclude/net/cfg80211.h freq_reg_info - </chapter> - <chapter> - <title>RFkill integration</title> -!Pinclude/net/cfg80211.h RFkill integration -!Finclude/net/cfg80211.h wiphy_rfkill_set_hw_state -!Finclude/net/cfg80211.h wiphy_rfkill_start_polling -!Finclude/net/cfg80211.h wiphy_rfkill_stop_polling - </chapter> - <chapter> - <title>Test mode</title> -!Pinclude/net/cfg80211.h Test mode -!Finclude/net/cfg80211.h cfg80211_testmode_alloc_reply_skb -!Finclude/net/cfg80211.h cfg80211_testmode_reply -!Finclude/net/cfg80211.h cfg80211_testmode_alloc_event_skb -!Finclude/net/cfg80211.h cfg80211_testmode_event - </chapter> - </book> - <book id="mac80211-developers-guide"> - <bookinfo> - <title>The mac80211 subsystem</title> - <abstract> -!Pinclude/net/mac80211.h Introduction -!Pinclude/net/mac80211.h Warning - </abstract> - </bookinfo> - - <toc></toc> - - <!-- - Generally, this document shall be ordered by increasing complexity. - It is important to note that readers should be able to read only - the first few sections to get a working driver and only advanced - usage should require reading the full document. - --> - - <part> - <title>The basic mac80211 driver interface</title> - <partintro> - <para> - You should read and understand the information contained - within this part of the book while implementing a driver. - In some chapters, advanced usage is noted, that may be - skipped at first. - </para> - <para> - This part of the book only covers station and monitor mode - functionality, additional information required to implement - the other modes is covered in the second part of the book. - </para> - </partintro> - - <chapter id="basics"> - <title>Basic hardware handling</title> - <para>TBD</para> - <para> - This chapter shall contain information on getting a hw - struct allocated and registered with mac80211. - </para> - <para> - Since it is required to allocate rates/modes before registering - a hw struct, this chapter shall also contain information on setting - up the rate/mode structs. - </para> - <para> - Additionally, some discussion about the callbacks and - the general programming model should be in here, including - the definition of ieee80211_ops which will be referred to - a lot. - </para> - <para> - Finally, a discussion of hardware capabilities should be done - with references to other parts of the book. - </para> - <!-- intentionally multiple !F lines to get proper order --> -!Finclude/net/mac80211.h ieee80211_hw -!Finclude/net/mac80211.h ieee80211_hw_flags -!Finclude/net/mac80211.h SET_IEEE80211_DEV -!Finclude/net/mac80211.h SET_IEEE80211_PERM_ADDR -!Finclude/net/mac80211.h ieee80211_ops -!Finclude/net/mac80211.h ieee80211_alloc_hw -!Finclude/net/mac80211.h ieee80211_register_hw -!Finclude/net/mac80211.h ieee80211_unregister_hw -!Finclude/net/mac80211.h ieee80211_free_hw - </chapter> - - <chapter id="phy-handling"> - <title>PHY configuration</title> - <para>TBD</para> - <para> - This chapter should describe PHY handling including - start/stop callbacks and the various structures used. - </para> -!Finclude/net/mac80211.h ieee80211_conf -!Finclude/net/mac80211.h ieee80211_conf_flags - </chapter> - - <chapter id="iface-handling"> - <title>Virtual interfaces</title> - <para>TBD</para> - <para> - This chapter should describe virtual interface basics - that are relevant to the driver (VLANs, MGMT etc are not.) - It should explain the use of the add_iface/remove_iface - callbacks as well as the interface configuration callbacks. - </para> - <para>Things related to AP mode should be discussed there.</para> - <para> - Things related to supporting multiple interfaces should be - in the appropriate chapter, a BIG FAT note should be here about - this though and the recommendation to allow only a single - interface in STA mode at first! - </para> -!Finclude/net/mac80211.h ieee80211_vif - </chapter> - - <chapter id="rx-tx"> - <title>Receive and transmit processing</title> - <sect1> - <title>what should be here</title> - <para>TBD</para> - <para> - This should describe the receive and transmit - paths in mac80211/the drivers as well as - transmit status handling. - </para> - </sect1> - <sect1> - <title>Frame format</title> -!Pinclude/net/mac80211.h Frame format - </sect1> - <sect1> - <title>Packet alignment</title> -!Pnet/mac80211/rx.c Packet alignment - </sect1> - <sect1> - <title>Calling into mac80211 from interrupts</title> -!Pinclude/net/mac80211.h Calling mac80211 from interrupts - </sect1> - <sect1> - <title>functions/definitions</title> -!Finclude/net/mac80211.h ieee80211_rx_status -!Finclude/net/mac80211.h mac80211_rx_flags -!Finclude/net/mac80211.h mac80211_tx_info_flags -!Finclude/net/mac80211.h mac80211_tx_control_flags -!Finclude/net/mac80211.h mac80211_rate_control_flags -!Finclude/net/mac80211.h ieee80211_tx_rate -!Finclude/net/mac80211.h ieee80211_tx_info -!Finclude/net/mac80211.h ieee80211_tx_info_clear_status -!Finclude/net/mac80211.h ieee80211_rx -!Finclude/net/mac80211.h ieee80211_rx_ni -!Finclude/net/mac80211.h ieee80211_rx_irqsafe -!Finclude/net/mac80211.h ieee80211_tx_status -!Finclude/net/mac80211.h ieee80211_tx_status_ni -!Finclude/net/mac80211.h ieee80211_tx_status_irqsafe -!Finclude/net/mac80211.h ieee80211_rts_get -!Finclude/net/mac80211.h ieee80211_rts_duration -!Finclude/net/mac80211.h ieee80211_ctstoself_get -!Finclude/net/mac80211.h ieee80211_ctstoself_duration -!Finclude/net/mac80211.h ieee80211_generic_frame_duration -!Finclude/net/mac80211.h ieee80211_wake_queue -!Finclude/net/mac80211.h ieee80211_stop_queue -!Finclude/net/mac80211.h ieee80211_wake_queues -!Finclude/net/mac80211.h ieee80211_stop_queues -!Finclude/net/mac80211.h ieee80211_queue_stopped - </sect1> - </chapter> - - <chapter id="filters"> - <title>Frame filtering</title> -!Pinclude/net/mac80211.h Frame filtering -!Finclude/net/mac80211.h ieee80211_filter_flags - </chapter> - - <chapter id="workqueue"> - <title>The mac80211 workqueue</title> -!Pinclude/net/mac80211.h mac80211 workqueue -!Finclude/net/mac80211.h ieee80211_queue_work -!Finclude/net/mac80211.h ieee80211_queue_delayed_work - </chapter> - </part> - - <part id="advanced"> - <title>Advanced driver interface</title> - <partintro> - <para> - Information contained within this part of the book is - of interest only for advanced interaction of mac80211 - with drivers to exploit more hardware capabilities and - improve performance. - </para> - </partintro> - - <chapter id="led-support"> - <title>LED support</title> - <para> - Mac80211 supports various ways of blinking LEDs. Wherever possible, - device LEDs should be exposed as LED class devices and hooked up to - the appropriate trigger, which will then be triggered appropriately - by mac80211. - </para> -!Finclude/net/mac80211.h ieee80211_get_tx_led_name -!Finclude/net/mac80211.h ieee80211_get_rx_led_name -!Finclude/net/mac80211.h ieee80211_get_assoc_led_name -!Finclude/net/mac80211.h ieee80211_get_radio_led_name -!Finclude/net/mac80211.h ieee80211_tpt_blink -!Finclude/net/mac80211.h ieee80211_tpt_led_trigger_flags -!Finclude/net/mac80211.h ieee80211_create_tpt_led_trigger - </chapter> - - <chapter id="hardware-crypto-offload"> - <title>Hardware crypto acceleration</title> -!Pinclude/net/mac80211.h Hardware crypto acceleration - <!-- intentionally multiple !F lines to get proper order --> -!Finclude/net/mac80211.h set_key_cmd -!Finclude/net/mac80211.h ieee80211_key_conf -!Finclude/net/mac80211.h ieee80211_key_flags -!Finclude/net/mac80211.h ieee80211_get_tkip_p1k -!Finclude/net/mac80211.h ieee80211_get_tkip_p1k_iv -!Finclude/net/mac80211.h ieee80211_get_tkip_p2k - </chapter> - - <chapter id="powersave"> - <title>Powersave support</title> -!Pinclude/net/mac80211.h Powersave support - </chapter> - - <chapter id="beacon-filter"> - <title>Beacon filter support</title> -!Pinclude/net/mac80211.h Beacon filter support -!Finclude/net/mac80211.h ieee80211_beacon_loss - </chapter> - - <chapter id="qos"> - <title>Multiple queues and QoS support</title> - <para>TBD</para> -!Finclude/net/mac80211.h ieee80211_tx_queue_params - </chapter> - - <chapter id="AP"> - <title>Access point mode support</title> - <para>TBD</para> - <para>Some parts of the if_conf should be discussed here instead</para> - <para> - Insert notes about VLAN interfaces with hw crypto here or - in the hw crypto chapter. - </para> - <section id="ps-client"> - <title>support for powersaving clients</title> -!Pinclude/net/mac80211.h AP support for powersaving clients -!Finclude/net/mac80211.h ieee80211_get_buffered_bc -!Finclude/net/mac80211.h ieee80211_beacon_get -!Finclude/net/mac80211.h ieee80211_sta_eosp -!Finclude/net/mac80211.h ieee80211_frame_release_type -!Finclude/net/mac80211.h ieee80211_sta_ps_transition -!Finclude/net/mac80211.h ieee80211_sta_ps_transition_ni -!Finclude/net/mac80211.h ieee80211_sta_set_buffered -!Finclude/net/mac80211.h ieee80211_sta_block_awake - </section> - </chapter> - - <chapter id="multi-iface"> - <title>Supporting multiple virtual interfaces</title> - <para>TBD</para> - <para> - Note: WDS with identical MAC address should almost always be OK - </para> - <para> - Insert notes about having multiple virtual interfaces with - different MAC addresses here, note which configurations are - supported by mac80211, add notes about supporting hw crypto - with it. - </para> -!Finclude/net/mac80211.h ieee80211_iterate_active_interfaces -!Finclude/net/mac80211.h ieee80211_iterate_active_interfaces_atomic - </chapter> - - <chapter id="station-handling"> - <title>Station handling</title> - <para>TODO</para> -!Finclude/net/mac80211.h ieee80211_sta -!Finclude/net/mac80211.h sta_notify_cmd -!Finclude/net/mac80211.h ieee80211_find_sta -!Finclude/net/mac80211.h ieee80211_find_sta_by_ifaddr - </chapter> - - <chapter id="hardware-scan-offload"> - <title>Hardware scan offload</title> - <para>TBD</para> -!Finclude/net/mac80211.h ieee80211_scan_completed - </chapter> - - <chapter id="aggregation"> - <title>Aggregation</title> - <sect1> - <title>TX A-MPDU aggregation</title> -!Pnet/mac80211/agg-tx.c TX A-MPDU aggregation -!Cnet/mac80211/agg-tx.c - </sect1> - <sect1> - <title>RX A-MPDU aggregation</title> -!Pnet/mac80211/agg-rx.c RX A-MPDU aggregation -!Cnet/mac80211/agg-rx.c -!Finclude/net/mac80211.h ieee80211_ampdu_mlme_action - </sect1> - </chapter> - - <chapter id="smps"> - <title>Spatial Multiplexing Powersave (SMPS)</title> -!Pinclude/net/mac80211.h Spatial multiplexing power save -!Finclude/net/mac80211.h ieee80211_request_smps -!Finclude/net/mac80211.h ieee80211_smps_mode - </chapter> - </part> - - <part id="rate-control"> - <title>Rate control interface</title> - <partintro> - <para>TBD</para> - <para> - This part of the book describes the rate control algorithm - interface and how it relates to mac80211 and drivers. - </para> - </partintro> - <chapter id="ratecontrol-api"> - <title>Rate Control API</title> - <para>TBD</para> -!Finclude/net/mac80211.h ieee80211_start_tx_ba_session -!Finclude/net/mac80211.h ieee80211_start_tx_ba_cb_irqsafe -!Finclude/net/mac80211.h ieee80211_stop_tx_ba_session -!Finclude/net/mac80211.h ieee80211_stop_tx_ba_cb_irqsafe -!Finclude/net/mac80211.h ieee80211_rate_control_changed -!Finclude/net/mac80211.h ieee80211_tx_rate_control -!Finclude/net/mac80211.h rate_control_send_low - </chapter> - </part> - - <part id="internal"> - <title>Internals</title> - <partintro> - <para>TBD</para> - <para> - This part of the book describes mac80211 internals. - </para> - </partintro> - - <chapter id="key-handling"> - <title>Key handling</title> - <sect1> - <title>Key handling basics</title> -!Pnet/mac80211/key.c Key handling basics - </sect1> - <sect1> - <title>MORE TBD</title> - <para>TBD</para> - </sect1> - </chapter> - - <chapter id="rx-processing"> - <title>Receive processing</title> - <para>TBD</para> - </chapter> - - <chapter id="tx-processing"> - <title>Transmit processing</title> - <para>TBD</para> - </chapter> - - <chapter id="sta-info"> - <title>Station info handling</title> - <sect1> - <title>Programming information</title> -!Fnet/mac80211/sta_info.h sta_info -!Fnet/mac80211/sta_info.h ieee80211_sta_info_flags - </sect1> - <sect1> - <title>STA information lifetime rules</title> -!Pnet/mac80211/sta_info.c STA information lifetime rules - </sect1> - </chapter> - - <chapter id="aggregation-internals"> - <title>Aggregation</title> -!Fnet/mac80211/sta_info.h sta_ampdu_mlme -!Fnet/mac80211/sta_info.h tid_ampdu_tx -!Fnet/mac80211/sta_info.h tid_ampdu_rx - </chapter> - - <chapter id="synchronisation"> - <title>Synchronisation</title> - <para>TBD</para> - <para>Locking, lots of RCU</para> - </chapter> - </part> - </book> -</set> diff --git a/Documentation/DocBook/Makefile b/Documentation/DocBook/Makefile index 64460a8..5f4775c 100644 --- a/Documentation/DocBook/Makefile +++ b/Documentation/DocBook/Makefile @@ -12,7 +12,7 @@ DOCBOOKS := z8530book.xml device-drivers.xml \ kernel-api.xml filesystems.xml lsm.xml usb.xml kgdb.xml \ gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \ genericirq.xml s390-drivers.xml uio-howto.xml scsi.xml \ - 80211.xml debugobjects.xml sh.xml regulator.xml \ + debugobjects.xml sh.xml regulator.xml \ alsa-driver-api.xml writing-an-alsa-driver.xml \ tracepoint.xml w1.xml \ writing_musb_glue_layer.xml crypto-API.xml iio.xml diff --git a/Documentation/index.rst b/Documentation/index.rst index e0fc729..1947a32 100644 --- a/Documentation/index.rst +++ b/Documentation/index.rst @@ -19,6 +19,7 @@ Contents: media/dvb-drivers/index media/v4l-drivers/index gpu/index + 80211/index Indices and tables ================== -- 2.10.0
Attachment:
pgpiYl4TJ82xd.pgp
Description: OpenPGP digital signature