Commit adaf2a46 authored by Lorenzo "Palinuro" Faletra's avatar Lorenzo "Palinuro" Faletra
Browse files

Import Upstream version 4.9.6

parent 01d1cd63
*.c diff=cpp
*.h diff=cpp
......@@ -75,6 +75,8 @@ Jean Tourrilhes <jt@hpl.hp.com>
Jeff Garzik <jgarzik@pretzel.yyz.us>
Jens Axboe <axboe@suse.de>
Jens Osterkamp <Jens.Osterkamp@de.ibm.com>
Johan Hovold <johan@kernel.org> <jhovold@gmail.com>
Johan Hovold <johan@kernel.org> <johan@hovoldconsulting.com>
John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
John Stultz <johnstul@us.ibm.com>
<josh@joshtriplett.org> <josh@freedesktop.org>
......@@ -125,6 +127,7 @@ Peter Oruba <peter@oruba.de>
Peter Oruba <peter.oruba@amd.com>
Pratyush Anand <pratyush.anand@gmail.com> <pratyush.anand@st.com>
Praveen BP <praveenbp@ti.com>
Qais Yousef <qsyousef@gmail.com> <qais.yousef@imgtec.com>
Rajesh Shah <rajesh.shah@intel.com>
Ralf Baechle <ralf@linux-mips.org>
Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
......@@ -160,6 +163,7 @@ Valdis Kletnieks <Valdis.Kletnieks@vt.edu>
Viresh Kumar <vireshk@kernel.org> <viresh.kumar@st.com>
Viresh Kumar <vireshk@kernel.org> <viresh.linux@gmail.com>
Viresh Kumar <vireshk@kernel.org> <viresh.kumar2@arm.com>
Vlad Dogaru <ddvlad@gmail.com> <vlad.dogaru@intel.com>
Vladimir Davydov <vdavydov.dev@gmail.com> <vdavydov@virtuozzo.com>
Vladimir Davydov <vdavydov.dev@gmail.com> <vdavydov@parallels.com>
Takashi YOSHII <takashi.yoshii.zj@renesas.com>
......
......@@ -9,7 +9,7 @@
Linus
----------
M: Matt Mackal
N: Matt Mackal
E: mpm@selenic.com
D: SLOB slab allocator
......@@ -1090,6 +1090,10 @@ S: 6350 Stoneridge Mall Road
S: Pleasanton, CA 94588
S: USA
N: Dmitry Eremin-Solenikov
E: dbaryshkov@gmail.com
D: Power Supply Maintainer from v3.14 - v3.15
N: Doug Evans
E: dje@cygnus.com
D: Wrote Xenix FS (part of standard kernel since 0.99.15)
......@@ -1860,10 +1864,11 @@ S: The Netherlands
N: Martin Kepplinger
E: martink@posteo.de
E: martin.kepplinger@theobroma-systems.com
E: martin.kepplinger@ginzinger.com
W: http://www.martinkepplinger.com
D: mma8452 accelerators iio driver
D: Kernel cleanups
D: pegasus_notetaker input driver
D: Kernel fixes and cleanups
S: Garnisonstraße 26
S: 4020 Linz
S: Austria
......@@ -1905,7 +1910,7 @@ S: Ra'annana, Israel
N: Andi Kleen
E: andi@firstfloor.org
U: http://www.halobates.de
W: http://www.halobates.de
D: network, x86, NUMA, various hacks
S: Schwalbenstr. 96
S: 85551 Ottobrunn
......@@ -1944,6 +1949,11 @@ E: kraxel@bytesex.org
E: kraxel@suse.de
D: video4linux, bttv, vesafb, some scsi, misc fixes
N: Hans J. Koch
D: USERSPACE I/O, MAX6650
D: Hans passed away in June 2016, and will be greatly missed.
W: https://lwn.net/Articles/691000/
N: Harald Koenig
E: koenig@tat.physik.uni-tuebingen.de
D: XFree86 (S3), DCF77, some kernel hacks and fixes
......@@ -2079,8 +2089,8 @@ D: ST Microelectronics SPEAr13xx PCI host bridge driver
D: Synopsys Designware PCI host bridge driver
N: Gabor Kuti
M: seasons@falcon.sch.bme.hu
M: seasons@makosteszta.sote.hu
E: seasons@falcon.sch.bme.hu
E: seasons@makosteszta.sote.hu
D: Original author of software suspend
N: Jaroslav Kysela
......@@ -2287,11 +2297,11 @@ D: Initial implementation of VC's, pty's and select()
N: Pavel Machek
E: pavel@ucw.cz
D: Softcursor for vga, hypertech cdrom support, vcsa bugfix, nbd
P: 4096R/92DFCE96 4FA7 9EEF FCD4 C44F C585 B8C7 C060 2241 92DF CE96
D: Softcursor for vga, hypertech cdrom support, vcsa bugfix, nbd,
D: sun4/330 port, capabilities for elf, speedup for rm on ext2, USB,
D: work on suspend-to-ram/disk, killing duplicates from ioctl32
S: Volkova 1131
S: 198 00 Praha 9
D: work on suspend-to-ram/disk, killing duplicates from ioctl32,
D: Altera SoCFPGA and Nokia N900 support.
S: Czech Republic
N: Paul Mackerras
......@@ -3518,6 +3528,10 @@ S: 145 Howard St.
S: Northborough, MA 01532
S: USA
N: Doug Thompson
E: dougthompson@xmission.com
D: EDAC
N: Tommy Thorn
E: Tommy.Thorn@irisa.fr
W: http://www.irisa.fr/prive/thorn/index.html
......@@ -3654,6 +3668,10 @@ S: Obere Heerbergstrasse 17
S: 97078 Wuerzburg
S: Germany
N: Jason Uhlenkott
E: juhlenko@akamai.com
D: I3000 EDAC driver
N: Greg Ungerer
E: gerg@snapgear.com
D: uClinux kernel hacker
......@@ -3691,7 +3709,7 @@ S: Germany
N: Geert Uytterhoeven
E: geert@linux-m68k.org
W: http://users.telenet.be/geertu/
P: 1024/862678A6 C51D 361C 0BD1 4C90 B275 C553 6EEA 11BA 8626 78A6
P: 4096R/4804B4BC3F55EEFB 750D 82B0 A781 5431 5E25 925B 4804 B4BC 3F55 EEFB
D: m68k/Amiga and PPC/CHRP Longtrail coordinator
D: Frame buffer device and XF68_FBDev maintainer
D: m68k IDE maintainer
......
......@@ -46,7 +46,8 @@ IRQ.txt
Intel-IOMMU.txt
- basic info on the Intel IOMMU virtualization support.
Makefile
- some files in Documentation dir are actually sample code to build
- This file does nothing. Removing it breaks make htmldocs and
make distclean.
ManagementStyle
- how to (attempt to) manage kernel hackers.
RCU/
......
==================
cfg80211 subsystem
==================
Device registration
===================
.. kernel-doc:: include/net/cfg80211.h
:doc: Device registration
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_channel_flags
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_channel
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_rate_flags
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_rate
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_sta_ht_cap
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_supported_band
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_signal_type
.. kernel-doc:: include/net/cfg80211.h
:functions: wiphy_params_flags
.. kernel-doc:: include/net/cfg80211.h
:functions: wiphy_flags
.. kernel-doc:: include/net/cfg80211.h
:functions: wiphy
.. kernel-doc:: include/net/cfg80211.h
:functions: wireless_dev
.. kernel-doc:: include/net/cfg80211.h
:functions: wiphy_new
.. kernel-doc:: include/net/cfg80211.h
:functions: wiphy_register
.. kernel-doc:: include/net/cfg80211.h
:functions: wiphy_unregister
.. kernel-doc:: include/net/cfg80211.h
:functions: wiphy_free
.. kernel-doc:: include/net/cfg80211.h
:functions: wiphy_name
.. kernel-doc:: include/net/cfg80211.h
:functions: wiphy_dev
.. kernel-doc:: include/net/cfg80211.h
:functions: wiphy_priv
.. kernel-doc:: include/net/cfg80211.h
:functions: priv_to_wiphy
.. kernel-doc:: include/net/cfg80211.h
:functions: set_wiphy_dev
.. kernel-doc:: include/net/cfg80211.h
:functions: wdev_priv
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_iface_limit
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_iface_combination
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_check_combinations
Actions and configuration
=========================
.. kernel-doc:: include/net/cfg80211.h
:doc: Actions and configuration
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_ops
.. kernel-doc:: include/net/cfg80211.h
:functions: vif_params
.. kernel-doc:: include/net/cfg80211.h
:functions: key_params
.. kernel-doc:: include/net/cfg80211.h
:functions: survey_info_flags
.. kernel-doc:: include/net/cfg80211.h
:functions: survey_info
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_beacon_data
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_ap_settings
.. kernel-doc:: include/net/cfg80211.h
:functions: station_parameters
.. kernel-doc:: include/net/cfg80211.h
:functions: rate_info_flags
.. kernel-doc:: include/net/cfg80211.h
:functions: rate_info
.. kernel-doc:: include/net/cfg80211.h
:functions: station_info
.. kernel-doc:: include/net/cfg80211.h
:functions: monitor_flags
.. kernel-doc:: include/net/cfg80211.h
:functions: mpath_info_flags
.. kernel-doc:: include/net/cfg80211.h
:functions: mpath_info
.. kernel-doc:: include/net/cfg80211.h
:functions: bss_parameters
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_txq_params
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_crypto_settings
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_auth_request
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_assoc_request
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_deauth_request
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_disassoc_request
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_ibss_params
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_connect_params
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_pmksa
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_rx_mlme_mgmt
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_auth_timeout
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_rx_assoc_resp
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_assoc_timeout
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_tx_mlme_mgmt
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_ibss_joined
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_connect_result
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_connect_bss
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_connect_timeout
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_roamed
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_disconnected
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_ready_on_channel
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_remain_on_channel_expired
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_new_sta
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_rx_mgmt
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_mgmt_tx_status
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_cqm_rssi_notify
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_cqm_pktloss_notify
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_michael_mic_failure
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
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_scan_request
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_scan_done
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_bss
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_inform_bss
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_inform_bss_frame_data
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_inform_bss_data
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_unlink_bss
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_find_ie
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_bss_get_ie
Utility functions
=================
.. kernel-doc:: include/net/cfg80211.h
:doc: Utility functions
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_channel_to_frequency
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_frequency_to_channel
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_get_channel
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_get_response_rate
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_hdrlen
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_get_hdrlen_from_skb
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_radiotap_iterator
Data path helpers
=================
.. kernel-doc:: include/net/cfg80211.h
:doc: Data path helpers
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_data_to_8023
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_data_from_8023
.. kernel-doc:: include/net/cfg80211.h
:functions: ieee80211_amsdu_to_8023s
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_classify8021d
Regulatory enforcement infrastructure
=====================================
.. kernel-doc:: include/net/cfg80211.h
:doc: Regulatory enforcement infrastructure
.. kernel-doc:: include/net/cfg80211.h
:functions: regulatory_hint
.. kernel-doc:: include/net/cfg80211.h
:functions: wiphy_apply_custom_regulatory
.. kernel-doc:: include/net/cfg80211.h
:functions: freq_reg_info
RFkill integration
==================
.. kernel-doc:: include/net/cfg80211.h
:doc: RFkill integration
.. kernel-doc:: include/net/cfg80211.h
:functions: wiphy_rfkill_set_hw_state
.. kernel-doc:: include/net/cfg80211.h
:functions: wiphy_rfkill_start_polling
.. kernel-doc:: include/net/cfg80211.h
:functions: wiphy_rfkill_stop_polling
Test mode
=========
.. kernel-doc:: include/net/cfg80211.h
:doc: Test mode
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_testmode_alloc_reply_skb
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_testmode_reply
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_testmode_alloc_event_skb
.. kernel-doc:: include/net/cfg80211.h
:functions: cfg80211_testmode_event
# -*- coding: utf-8; mode: python -*-
project = "Linux 802.11 Driver Developer's Guide"
tags.add("subproject")
=====================================
Linux 802.11 Driver Developer's Guide
=====================================
.. toctree::
introduction
cfg80211
mac80211
mac80211-advanced
.. only:: subproject
Indices
=======
* :ref:`genindex`
============
Introduction
============
Explaining wireless 802.11 networking in the Linux kernel
Copyright 2007-2009 Johannes Berg
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".
=============================
mac80211 subsystem (advanced)
=============================
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.
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
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_get_rx_led_name
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_get_assoc_led_name
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_get_radio_led_name
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_tpt_blink
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_tpt_led_trigger_flags
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_create_tpt_led_trigger
Hardware crypto acceleration
============================
.. kernel-doc:: include/net/mac80211.h
:doc: Hardware crypto acceleration
.. kernel-doc:: include/net/mac80211.h
:functions: set_key_cmd
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_key_conf
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_key_flags
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_get_tkip_p1k
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_get_tkip_p1k_iv
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_get_tkip_p2k
Powersave support
=================
.. kernel-doc:: include/net/mac80211.h
:doc: Powersave support
Beacon filter support
=====================
.. kernel-doc:: include/net/mac80211.h
:doc: Beacon filter support
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_beacon_loss
Multiple queues and QoS support
===============================
TBD
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_tx_queue_params
Access point mode support
=========================
TBD
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
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_beacon_get
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_sta_eosp
.. kernel-doc:: include/net/mac80211.h
:functions: ieee80211_frame_release_type
.. kernel-doc:: include/net/mac80211.h