aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation')
-rw-r--r--Documentation/ABI/removed/ip_queue9
-rw-r--r--Documentation/ABI/testing/sysfs-bus-hsi19
-rw-r--r--Documentation/ABI/testing/sysfs-class-net-mesh9
-rw-r--r--Documentation/DocBook/80211.tmpl2
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-nv12m.xml2
-rw-r--r--Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml2
-rw-r--r--Documentation/devicetree/bindings/arm/arch_timer.txt27
-rw-r--r--Documentation/devicetree/bindings/ata/ahci-platform.txt (renamed from Documentation/devicetree/bindings/ata/calxeda-sata.txt)5
-rw-r--r--Documentation/devicetree/bindings/net/mdio-mux-gpio.txt127
-rw-r--r--Documentation/devicetree/bindings/net/mdio-mux.txt136
-rw-r--r--Documentation/devicetree/bindings/regulator/fixed-regulator.txt5
-rw-r--r--Documentation/devicetree/bindings/regulator/tps62360-regulator.txt44
-rw-r--r--Documentation/devicetree/bindings/regulator/tps6586x.txt97
-rw-r--r--Documentation/devicetree/bindings/sound/sgtl5000.txt2
-rw-r--r--Documentation/driver-model/devres.txt4
-rw-r--r--Documentation/feature-removal-schedule.txt10
-rw-r--r--Documentation/filesystems/proc.txt1
-rw-r--r--Documentation/kernel-parameters.txt3
-rw-r--r--Documentation/networking/00-INDEX8
-rw-r--r--Documentation/networking/3c359.txt58
-rw-r--r--Documentation/networking/3c509.txt1
-rw-r--r--Documentation/networking/batman-adv.txt22
-rw-r--r--Documentation/networking/fore200e.txt6
-rw-r--r--Documentation/networking/ieee802154.txt75
-rw-r--r--Documentation/networking/ip-sysctl.txt36
-rw-r--r--Documentation/networking/mac80211-auth-assoc-deauth.txt10
-rw-r--r--Documentation/networking/olympic.txt79
-rw-r--r--Documentation/networking/smctr.txt66
-rw-r--r--Documentation/networking/stmmac.txt29
-rw-r--r--Documentation/networking/tms380tr.txt147
-rw-r--r--Documentation/nfc/nfc-hci.txt155
-rw-r--r--Documentation/power/freezing-of-tasks.txt37
-rw-r--r--Documentation/power/regulator/regulator.txt3
-rw-r--r--Documentation/security/keys.txt14
-rw-r--r--Documentation/sparc/README-2.546
-rw-r--r--Documentation/sysctl/net.txt7
36 files changed, 819 insertions, 484 deletions
diff --git a/Documentation/ABI/removed/ip_queue b/Documentation/ABI/removed/ip_queue
new file mode 100644
index 000000000000..3243613bc2d2
--- /dev/null
+++ b/Documentation/ABI/removed/ip_queue
@@ -0,0 +1,9 @@
1What: ip_queue
2Date: finally removed in kernel v3.5.0
3Contact: Pablo Neira Ayuso <pablo@netfilter.org>
4Description:
5 ip_queue has been replaced by nfnetlink_queue which provides
6 more advanced queueing mechanism to user-space. The ip_queue
7 module was already announced to become obsolete years ago.
8
9Users:
diff --git a/Documentation/ABI/testing/sysfs-bus-hsi b/Documentation/ABI/testing/sysfs-bus-hsi
new file mode 100644
index 000000000000..1b1b282a99e1
--- /dev/null
+++ b/Documentation/ABI/testing/sysfs-bus-hsi
@@ -0,0 +1,19 @@
1What: /sys/bus/hsi
2Date: April 2012
3KernelVersion: 3.4
4Contact: Carlos Chinea <carlos.chinea@nokia.com>
5Description:
6 High Speed Synchronous Serial Interface (HSI) is a
7 serial interface mainly used for connecting application
8 engines (APE) with cellular modem engines (CMT) in cellular
9 handsets.
10 The bus will be populated with devices (hsi_clients) representing
11 the protocols available in the system. Bus drivers implement
12 those protocols.
13
14What: /sys/bus/hsi/devices/.../modalias
15Date: April 2012
16KernelVersion: 3.4
17Contact: Carlos Chinea <carlos.chinea@nokia.com>
18Description: Stores the same MODALIAS value emitted by uevent
19 Format: hsi:<hsi_client device name>
diff --git a/Documentation/ABI/testing/sysfs-class-net-mesh b/Documentation/ABI/testing/sysfs-class-net-mesh
index b218e0f8bdb3..c81fe89c4c46 100644
--- a/Documentation/ABI/testing/sysfs-class-net-mesh
+++ b/Documentation/ABI/testing/sysfs-class-net-mesh
@@ -14,6 +14,15 @@ Description:
14 mesh will be sent using multiple interfaces at the 14 mesh will be sent using multiple interfaces at the
15 same time (if available). 15 same time (if available).
16 16
17What: /sys/class/net/<mesh_iface>/mesh/bridge_loop_avoidance
18Date: November 2011
19Contact: Simon Wunderlich <siwu@hrz.tu-chemnitz.de>
20Description:
21 Indicates whether the bridge loop avoidance feature
22 is enabled. This feature detects and avoids loops
23 between the mesh and devices bridged with the soft
24 interface <mesh_iface>.
25
17What: /sys/class/net/<mesh_iface>/mesh/fragmentation 26What: /sys/class/net/<mesh_iface>/mesh/fragmentation
18Date: October 2010 27Date: October 2010
19Contact: Andreas Langer <an.langer@gmx.de> 28Contact: Andreas Langer <an.langer@gmx.de>
diff --git a/Documentation/DocBook/80211.tmpl b/Documentation/DocBook/80211.tmpl
index c5ac6929c41c..f3e214f9e256 100644
--- a/Documentation/DocBook/80211.tmpl
+++ b/Documentation/DocBook/80211.tmpl
@@ -516,7 +516,7 @@
516!Finclude/net/mac80211.h ieee80211_start_tx_ba_cb_irqsafe 516!Finclude/net/mac80211.h ieee80211_start_tx_ba_cb_irqsafe
517!Finclude/net/mac80211.h ieee80211_stop_tx_ba_session 517!Finclude/net/mac80211.h ieee80211_stop_tx_ba_session
518!Finclude/net/mac80211.h ieee80211_stop_tx_ba_cb_irqsafe 518!Finclude/net/mac80211.h ieee80211_stop_tx_ba_cb_irqsafe
519!Finclude/net/mac80211.h rate_control_changed 519!Finclude/net/mac80211.h ieee80211_rate_control_changed
520!Finclude/net/mac80211.h ieee80211_tx_rate_control 520!Finclude/net/mac80211.h ieee80211_tx_rate_control
521!Finclude/net/mac80211.h rate_control_send_low 521!Finclude/net/mac80211.h rate_control_send_low
522 </chapter> 522 </chapter>
diff --git a/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml b/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml
index 3fd3ce5df270..5274c24d11e0 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-nv12m.xml
@@ -1,6 +1,6 @@
1 <refentry id="V4L2-PIX-FMT-NV12M"> 1 <refentry id="V4L2-PIX-FMT-NV12M">
2 <refmeta> 2 <refmeta>
3 <refentrytitle>V4L2_PIX_FMT_NV12M ('NV12M')</refentrytitle> 3 <refentrytitle>V4L2_PIX_FMT_NV12M ('NM12')</refentrytitle>
4 &manvol; 4 &manvol;
5 </refmeta> 5 </refmeta>
6 <refnamediv> 6 <refnamediv>
diff --git a/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml b/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml
index 9957863daf18..60308f1eefdf 100644
--- a/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml
+++ b/Documentation/DocBook/media/v4l/pixfmt-yuv420m.xml
@@ -1,6 +1,6 @@
1 <refentry id="V4L2-PIX-FMT-YUV420M"> 1 <refentry id="V4L2-PIX-FMT-YUV420M">
2 <refmeta> 2 <refmeta>
3 <refentrytitle>V4L2_PIX_FMT_YUV420M ('YU12M')</refentrytitle> 3 <refentrytitle>V4L2_PIX_FMT_YUV420M ('YM12')</refentrytitle>
4 &manvol; 4 &manvol;
5 </refmeta> 5 </refmeta>
6 <refnamediv> 6 <refnamediv>
diff --git a/Documentation/devicetree/bindings/arm/arch_timer.txt b/Documentation/devicetree/bindings/arm/arch_timer.txt
new file mode 100644
index 000000000000..52478c83d0cc
--- /dev/null
+++ b/Documentation/devicetree/bindings/arm/arch_timer.txt
@@ -0,0 +1,27 @@
1* ARM architected timer
2
3ARM Cortex-A7 and Cortex-A15 have a per-core architected timer, which
4provides per-cpu timers.
5
6The timer is attached to a GIC to deliver its per-processor interrupts.
7
8** Timer node properties:
9
10- compatible : Should at least contain "arm,armv7-timer".
11
12- interrupts : Interrupt list for secure, non-secure, virtual and
13 hypervisor timers, in that order.
14
15- clock-frequency : The frequency of the main counter, in Hz. Optional.
16
17Example:
18
19 timer {
20 compatible = "arm,cortex-a15-timer",
21 "arm,armv7-timer";
22 interrupts = <1 13 0xf08>,
23 <1 14 0xf08>,
24 <1 11 0xf08>,
25 <1 10 0xf08>;
26 clock-frequency = <100000000>;
27 };
diff --git a/Documentation/devicetree/bindings/ata/calxeda-sata.txt b/Documentation/devicetree/bindings/ata/ahci-platform.txt
index 79caa5651f53..8bb8a76d42e8 100644
--- a/Documentation/devicetree/bindings/ata/calxeda-sata.txt
+++ b/Documentation/devicetree/bindings/ata/ahci-platform.txt
@@ -1,10 +1,10 @@
1* Calxeda SATA Controller 1* AHCI SATA Controller
2 2
3SATA nodes are defined to describe on-chip Serial ATA controllers. 3SATA nodes are defined to describe on-chip Serial ATA controllers.
4Each SATA controller should have its own node. 4Each SATA controller should have its own node.
5 5
6Required properties: 6Required properties:
7- compatible : compatible list, contains "calxeda,hb-ahci" 7- compatible : compatible list, contains "calxeda,hb-ahci" or "snps,spear-ahci"
8- interrupts : <interrupt mapping for SATA IRQ> 8- interrupts : <interrupt mapping for SATA IRQ>
9- reg : <registers mapping> 9- reg : <registers mapping>
10 10
@@ -14,4 +14,3 @@ Example:
14 reg = <0xffe08000 0x1000>; 14 reg = <0xffe08000 0x1000>;
15 interrupts = <115>; 15 interrupts = <115>;
16 }; 16 };
17
diff --git a/Documentation/devicetree/bindings/net/mdio-mux-gpio.txt b/Documentation/devicetree/bindings/net/mdio-mux-gpio.txt
new file mode 100644
index 000000000000..79384113c2b0
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/mdio-mux-gpio.txt
@@ -0,0 +1,127 @@
1Properties for an MDIO bus multiplexer/switch controlled by GPIO pins.
2
3This is a special case of a MDIO bus multiplexer. One or more GPIO
4lines are used to control which child bus is connected.
5
6Required properties in addition to the generic multiplexer properties:
7
8- compatible : mdio-mux-gpio.
9- gpios : GPIO specifiers for each GPIO line. One or more must be specified.
10
11
12Example :
13
14 /* The parent MDIO bus. */
15 smi1: mdio@1180000001900 {
16 compatible = "cavium,octeon-3860-mdio";
17 #address-cells = <1>;
18 #size-cells = <0>;
19 reg = <0x11800 0x00001900 0x0 0x40>;
20 };
21
22 /*
23 An NXP sn74cbtlv3253 dual 1-of-4 switch controlled by a
24 pair of GPIO lines. Child busses 2 and 3 populated with 4
25 PHYs each.
26 */
27 mdio-mux {
28 compatible = "mdio-mux-gpio";
29 gpios = <&gpio1 3 0>, <&gpio1 4 0>;
30 mdio-parent-bus = <&smi1>;
31 #address-cells = <1>;
32 #size-cells = <0>;
33
34 mdio@2 {
35 reg = <2>;
36 #address-cells = <1>;
37 #size-cells = <0>;
38
39 phy11: ethernet-phy@1 {
40 reg = <1>;
41 compatible = "marvell,88e1149r";
42 marvell,reg-init = <3 0x10 0 0x5777>,
43 <3 0x11 0 0x00aa>,
44 <3 0x12 0 0x4105>,
45 <3 0x13 0 0x0a60>;
46 interrupt-parent = <&gpio>;
47 interrupts = <10 8>; /* Pin 10, active low */
48 };
49 phy12: ethernet-phy@2 {
50 reg = <2>;
51 compatible = "marvell,88e1149r";
52 marvell,reg-init = <3 0x10 0 0x5777>,
53 <3 0x11 0 0x00aa>,
54 <3 0x12 0 0x4105>,
55 <3 0x13 0 0x0a60>;
56 interrupt-parent = <&gpio>;
57 interrupts = <10 8>; /* Pin 10, active low */
58 };
59 phy13: ethernet-phy@3 {
60 reg = <3>;
61 compatible = "marvell,88e1149r";
62 marvell,reg-init = <3 0x10 0 0x5777>,
63 <3 0x11 0 0x00aa>,
64 <3 0x12 0 0x4105>,
65 <3 0x13 0 0x0a60>;
66 interrupt-parent = <&gpio>;
67 interrupts = <10 8>; /* Pin 10, active low */
68 };
69 phy14: ethernet-phy@4 {
70 reg = <4>;
71 compatible = "marvell,88e1149r";
72 marvell,reg-init = <3 0x10 0 0x5777>,
73 <3 0x11 0 0x00aa>,
74 <3 0x12 0 0x4105>,
75 <3 0x13 0 0x0a60>;
76 interrupt-parent = <&gpio>;
77 interrupts = <10 8>; /* Pin 10, active low */
78 };
79 };
80
81 mdio@3 {
82 reg = <3>;
83 #address-cells = <1>;
84 #size-cells = <0>;
85
86 phy21: ethernet-phy@1 {
87 reg = <1>;
88 compatible = "marvell,88e1149r";
89 marvell,reg-init = <3 0x10 0 0x5777>,
90 <3 0x11 0 0x00aa>,
91 <3 0x12 0 0x4105>,
92 <3 0x13 0 0x0a60>;
93 interrupt-parent = <&gpio>;
94 interrupts = <12 8>; /* Pin 12, active low */
95 };
96 phy22: ethernet-phy@2 {
97 reg = <2>;
98 compatible = "marvell,88e1149r";
99 marvell,reg-init = <3 0x10 0 0x5777>,
100 <3 0x11 0 0x00aa>,
101 <3 0x12 0 0x4105>,
102 <3 0x13 0 0x0a60>;
103 interrupt-parent = <&gpio>;
104 interrupts = <12 8>; /* Pin 12, active low */
105 };
106 phy23: ethernet-phy@3 {
107 reg = <3>;
108 compatible = "marvell,88e1149r";
109 marvell,reg-init = <3 0x10 0 0x5777>,
110 <3 0x11 0 0x00aa>,
111 <3 0x12 0 0x4105>,
112 <3 0x13 0 0x0a60>;
113 interrupt-parent = <&gpio>;
114 interrupts = <12 8>; /* Pin 12, active low */
115 };
116 phy24: ethernet-phy@4 {
117 reg = <4>;
118 compatible = "marvell,88e1149r";
119 marvell,reg-init = <3 0x10 0 0x5777>,
120 <3 0x11 0 0x00aa>,
121 <3 0x12 0 0x4105>,
122 <3 0x13 0 0x0a60>;
123 interrupt-parent = <&gpio>;
124 interrupts = <12 8>; /* Pin 12, active low */
125 };
126 };
127 };
diff --git a/Documentation/devicetree/bindings/net/mdio-mux.txt b/Documentation/devicetree/bindings/net/mdio-mux.txt
new file mode 100644
index 000000000000..f65606f8d632
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/mdio-mux.txt
@@ -0,0 +1,136 @@
1Common MDIO bus multiplexer/switch properties.
2
3An MDIO bus multiplexer/switch will have several child busses that are
4numbered uniquely in a device dependent manner. The nodes for an MDIO
5bus multiplexer/switch will have one child node for each child bus.
6
7Required properties:
8- mdio-parent-bus : phandle to the parent MDIO bus.
9- #address-cells = <1>;
10- #size-cells = <0>;
11
12Optional properties:
13- Other properties specific to the multiplexer/switch hardware.
14
15Required properties for child nodes:
16- #address-cells = <1>;
17- #size-cells = <0>;
18- reg : The sub-bus number.
19
20
21Example :
22
23 /* The parent MDIO bus. */
24 smi1: mdio@1180000001900 {
25 compatible = "cavium,octeon-3860-mdio";
26 #address-cells = <1>;
27 #size-cells = <0>;
28 reg = <0x11800 0x00001900 0x0 0x40>;
29 };
30
31 /*
32 An NXP sn74cbtlv3253 dual 1-of-4 switch controlled by a
33 pair of GPIO lines. Child busses 2 and 3 populated with 4
34 PHYs each.
35 */
36 mdio-mux {
37 compatible = "mdio-mux-gpio";
38 gpios = <&gpio1 3 0>, <&gpio1 4 0>;
39 mdio-parent-bus = <&smi1>;
40 #address-cells = <1>;
41 #size-cells = <0>;
42
43 mdio@2 {
44 reg = <2>;
45 #address-cells = <1>;
46 #size-cells = <0>;
47
48 phy11: ethernet-phy@1 {
49 reg = <1>;
50 compatible = "marvell,88e1149r";
51 marvell,reg-init = <3 0x10 0 0x5777>,
52 <3 0x11 0 0x00aa>,
53 <3 0x12 0 0x4105>,
54 <3 0x13 0 0x0a60>;
55 interrupt-parent = <&gpio>;
56 interrupts = <10 8>; /* Pin 10, active low */
57 };
58 phy12: ethernet-phy@2 {
59 reg = <2>;
60 compatible = "marvell,88e1149r";
61 marvell,reg-init = <3 0x10 0 0x5777>,
62 <3 0x11 0 0x00aa>,
63 <3 0x12 0 0x4105>,
64 <3 0x13 0 0x0a60>;
65 interrupt-parent = <&gpio>;
66 interrupts = <10 8>; /* Pin 10, active low */
67 };
68 phy13: ethernet-phy@3 {
69 reg = <3>;
70 compatible = "marvell,88e1149r";
71 marvell,reg-init = <3 0x10 0 0x5777>,
72 <3 0x11 0 0x00aa>,
73 <3 0x12 0 0x4105>,
74 <3 0x13 0 0x0a60>;
75 interrupt-parent = <&gpio>;
76 interrupts = <10 8>; /* Pin 10, active low */
77 };
78 phy14: ethernet-phy@4 {
79 reg = <4>;
80 compatible = "marvell,88e1149r";
81 marvell,reg-init = <3 0x10 0 0x5777>,
82 <3 0x11 0 0x00aa>,
83 <3 0x12 0 0x4105>,
84 <3 0x13 0 0x0a60>;
85 interrupt-parent = <&gpio>;
86 interrupts = <10 8>; /* Pin 10, active low */
87 };
88 };
89
90 mdio@3 {
91 reg = <3>;
92 #address-cells = <1>;
93 #size-cells = <0>;
94
95 phy21: ethernet-phy@1 {
96 reg = <1>;
97 compatible = "marvell,88e1149r";
98 marvell,reg-init = <3 0x10 0 0x5777>,
99 <3 0x11 0 0x00aa>,
100 <3 0x12 0 0x4105>,
101 <3 0x13 0 0x0a60>;
102 interrupt-parent = <&gpio>;
103 interrupts = <12 8>; /* Pin 12, active low */
104 };
105 phy22: ethernet-phy@2 {
106 reg = <2>;
107 compatible = "marvell,88e1149r";
108 marvell,reg-init = <3 0x10 0 0x5777>,
109 <3 0x11 0 0x00aa>,
110 <3 0x12 0 0x4105>,
111 <3 0x13 0 0x0a60>;
112 interrupt-parent = <&gpio>;
113 interrupts = <12 8>; /* Pin 12, active low */
114 };
115 phy23: ethernet-phy@3 {
116 reg = <3>;
117 compatible = "marvell,88e1149r";
118 marvell,reg-init = <3 0x10 0 0x5777>,
119 <3 0x11 0 0x00aa>,
120 <3 0x12 0 0x4105>,
121 <3 0x13 0 0x0a60>;
122 interrupt-parent = <&gpio>;
123 interrupts = <12 8>; /* Pin 12, active low */
124 };
125 phy24: ethernet-phy@4 {
126 reg = <4>;
127 compatible = "marvell,88e1149r";
128 marvell,reg-init = <3 0x10 0 0x5777>,
129 <3 0x11 0 0x00aa>,
130 <3 0x12 0 0x4105>,
131 <3 0x13 0 0x0a60>;
132 interrupt-parent = <&gpio>;
133 interrupts = <12 8>; /* Pin 12, active low */
134 };
135 };
136 };
diff --git a/Documentation/devicetree/bindings/regulator/fixed-regulator.txt b/Documentation/devicetree/bindings/regulator/fixed-regulator.txt
index 9cf57fd042d2..2f5b6b1ba15f 100644
--- a/Documentation/devicetree/bindings/regulator/fixed-regulator.txt
+++ b/Documentation/devicetree/bindings/regulator/fixed-regulator.txt
@@ -8,6 +8,8 @@ Optional properties:
8- startup-delay-us: startup time in microseconds 8- startup-delay-us: startup time in microseconds
9- enable-active-high: Polarity of GPIO is Active high 9- enable-active-high: Polarity of GPIO is Active high
10If this property is missing, the default assumed is Active low. 10If this property is missing, the default assumed is Active low.
11- gpio-open-drain: GPIO is open drain type.
12 If this property is missing then default assumption is false.
11 13
12Any property defined as part of the core regulator 14Any property defined as part of the core regulator
13binding, defined in regulator.txt, can also be used. 15binding, defined in regulator.txt, can also be used.
@@ -25,5 +27,6 @@ Example:
25 gpio = <&gpio1 16 0>; 27 gpio = <&gpio1 16 0>;
26 startup-delay-us = <70000>; 28 startup-delay-us = <70000>;
27 enable-active-high; 29 enable-active-high;
28 regulator-boot-on 30 regulator-boot-on;
31 gpio-open-drain;
29 }; 32 };
diff --git a/Documentation/devicetree/bindings/regulator/tps62360-regulator.txt b/Documentation/devicetree/bindings/regulator/tps62360-regulator.txt
new file mode 100644
index 000000000000..c8ca6b8f6582
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/tps62360-regulator.txt
@@ -0,0 +1,44 @@
1TPS62360 Voltage regulators
2
3Required properties:
4- compatible: Must be one of the following.
5 "ti,tps62360"
6 "ti,tps62361",
7 "ti,tps62362",
8 "ti,tps62363",
9- reg: I2C slave address
10
11Optional properties:
12- ti,enable-vout-discharge: Enable output discharge. This is boolean value.
13- ti,enable-pull-down: Enable pull down. This is boolean value.
14- ti,vsel0-gpio: GPIO for controlling VSEL0 line.
15 If this property is missing, then assume that there is no GPIO
16 for vsel0 control.
17- ti,vsel1-gpio: Gpio for controlling VSEL1 line.
18 If this property is missing, then assume that there is no GPIO
19 for vsel1 control.
20- ti,vsel0-state-high: Inital state of vsel0 input is high.
21 If this property is missing, then assume the state as low (0).
22- ti,vsel1-state-high: Inital state of vsel1 input is high.
23 If this property is missing, then assume the state as low (0).
24
25Any property defined as part of the core regulator binding, defined in
26regulator.txt, can also be used.
27
28Example:
29
30 abc: tps62360 {
31 compatible = "ti,tps62361";
32 reg = <0x60>;
33 regulator-name = "tps62361-vout";
34 regulator-min-microvolt = <500000>;
35 regulator-max-microvolt = <1500000>;
36 regulator-boot-on
37 ti,vsel0-gpio = <&gpio1 16 0>;
38 ti,vsel1-gpio = <&gpio1 17 0>;
39 ti,vsel0-state-high;
40 ti,vsel1-state-high;
41 ti,enable-pull-down;
42 ti,enable-force-pwm;
43 ti,enable-vout-discharge;
44 };
diff --git a/Documentation/devicetree/bindings/regulator/tps6586x.txt b/Documentation/devicetree/bindings/regulator/tps6586x.txt
new file mode 100644
index 000000000000..0fcabaa3baa3
--- /dev/null
+++ b/Documentation/devicetree/bindings/regulator/tps6586x.txt
@@ -0,0 +1,97 @@
1TPS6586x family of regulators
2
3Required properties:
4- compatible: "ti,tps6586x"
5- reg: I2C slave address
6- interrupts: the interrupt outputs of the controller
7- #gpio-cells: number of cells to describe a GPIO
8- gpio-controller: mark the device as a GPIO controller
9- regulators: list of regulators provided by this controller, must be named
10 after their hardware counterparts: sm[0-2], ldo[0-9] and ldo_rtc
11
12Each regulator is defined using the standard binding for regulators.
13
14Example:
15
16 pmu: tps6586x@34 {
17 compatible = "ti,tps6586x";
18 reg = <0x34>;
19 interrupts = <0 88 0x4>;
20
21 #gpio-cells = <2>;
22 gpio-controller;
23
24 regulators {
25 sm0_reg: sm0 {
26 regulator-min-microvolt = < 725000>;
27 regulator-max-microvolt = <1500000>;
28 regulator-boot-on;
29 regulator-always-on;
30 };
31
32 sm1_reg: sm1 {
33 regulator-min-microvolt = < 725000>;
34 regulator-max-microvolt = <1500000>;
35 regulator-boot-on;
36 regulator-always-on;
37 };
38
39 sm2_reg: sm2 {
40 regulator-min-microvolt = <3000000>;
41 regulator-max-microvolt = <4550000>;
42 regulator-boot-on;
43 regulator-always-on;
44 };
45
46 ldo0_reg: ldo0 {
47 regulator-name = "PCIE CLK";
48 regulator-min-microvolt = <3300000>;
49 regulator-max-microvolt = <3300000>;
50 };
51
52 ldo1_reg: ldo1 {
53 regulator-min-microvolt = < 725000>;
54 regulator-max-microvolt = <1500000>;
55 };
56
57 ldo2_reg: ldo2 {
58 regulator-min-microvolt = < 725000>;
59 regulator-max-microvolt = <1500000>;
60 };
61
62 ldo3_reg: ldo3 {
63 regulator-min-microvolt = <1250000>;
64 regulator-max-microvolt = <3300000>;
65 };
66
67 ldo4_reg: ldo4 {
68 regulator-min-microvolt = <1700000>;
69 regulator-max-microvolt = <2475000>;
70 };
71
72 ldo5_reg: ldo5 {
73 regulator-min-microvolt = <1250000>;
74 regulator-max-microvolt = <3300000>;
75 };
76
77 ldo6_reg: ldo6 {
78 regulator-min-microvolt = <1250000>;
79 regulator-max-microvolt = <3300000>;
80 };
81
82 ldo7_reg: ldo7 {
83 regulator-min-microvolt = <1250000>;
84 regulator-max-microvolt = <3300000>;
85 };
86
87 ldo8_reg: ldo8 {
88 regulator-min-microvolt = <1250000>;
89 regulator-max-microvolt = <3300000>;
90 };
91
92 ldo9_reg: ldo9 {
93 regulator-min-microvolt = <1250000>;
94 regulator-max-microvolt = <3300000>;
95 };
96 };
97 };
diff --git a/Documentation/devicetree/bindings/sound/sgtl5000.txt b/Documentation/devicetree/bindings/sound/sgtl5000.txt
index 2c3cd413f042..9cc44449508d 100644
--- a/Documentation/devicetree/bindings/sound/sgtl5000.txt
+++ b/Documentation/devicetree/bindings/sound/sgtl5000.txt
@@ -3,6 +3,8 @@
3Required properties: 3Required properties:
4- compatible : "fsl,sgtl5000". 4- compatible : "fsl,sgtl5000".
5 5
6- reg : the I2C address of the device
7
6Example: 8Example:
7 9
8codec: sgtl5000@0a { 10codec: sgtl5000@0a {
diff --git a/Documentation/driver-model/devres.txt b/Documentation/driver-model/devres.txt
index ef4fa7b423d2..950856bd2e39 100644
--- a/Documentation/driver-model/devres.txt
+++ b/Documentation/driver-model/devres.txt
@@ -277,6 +277,10 @@ REGULATOR
277 devm_regulator_put() 277 devm_regulator_put()
278 devm_regulator_bulk_get() 278 devm_regulator_bulk_get()
279 279
280CLOCK
281 devm_clk_get()
282 devm_clk_put()
283
280PINCTRL 284PINCTRL
281 devm_pinctrl_get() 285 devm_pinctrl_get()
282 devm_pinctrl_put() 286 devm_pinctrl_put()
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt
index 03ca210406ed..e4b57756b9f5 100644
--- a/Documentation/feature-removal-schedule.txt
+++ b/Documentation/feature-removal-schedule.txt
@@ -539,3 +539,13 @@ When: 3.6
539Why: setitimer is not returning -EFAULT if user pointer is NULL. This 539Why: setitimer is not returning -EFAULT if user pointer is NULL. This
540 violates the spec. 540 violates the spec.
541Who: Sasikantha Babu <sasikanth.v19@gmail.com> 541Who: Sasikantha Babu <sasikanth.v19@gmail.com>
542
543----------------------------
544
545What: V4L2_CID_HCENTER, V4L2_CID_VCENTER V4L2 controls
546When: 3.7
547Why: The V4L2_CID_VCENTER, V4L2_CID_HCENTER controls have been deprecated
548 for about 4 years and they are not used by any mainline driver.
549 There are newer controls (V4L2_CID_PAN*, V4L2_CID_TILT*) that provide
550 similar functionality.
551Who: Sylwester Nawrocki <sylvester.nawrocki@gmail.com>
diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt
index b7413cb46dcb..ef088e55ab2e 100644
--- a/Documentation/filesystems/proc.txt
+++ b/Documentation/filesystems/proc.txt
@@ -996,7 +996,6 @@ Table 1-9: Network info in /proc/net
996 snmp SNMP data 996 snmp SNMP data
997 sockstat Socket statistics 997 sockstat Socket statistics
998 tcp TCP sockets 998 tcp TCP sockets
999 tr_rif Token ring RIF routing table
1000 udp UDP sockets 999 udp UDP sockets
1001 unix UNIX domain sockets 1000 unix UNIX domain sockets
1002 wireless Wireless interface data (Wavelan etc) 1001 wireless Wireless interface data (Wavelan etc)
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt
index c1601e5a8b71..f995195409fd 100644
--- a/Documentation/kernel-parameters.txt
+++ b/Documentation/kernel-parameters.txt
@@ -2161,6 +2161,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
2161 on: Turn realloc on 2161 on: Turn realloc on
2162 realloc same as realloc=on 2162 realloc same as realloc=on
2163 noari do not use PCIe ARI. 2163 noari do not use PCIe ARI.
2164 pcie_scan_all Scan all possible PCIe devices. Otherwise we
2165 only look for one device below a PCIe downstream
2166 port.
2164 2167
2165 pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power 2168 pcie_aspm= [PCIE] Forcibly enable or disable PCIe Active State Power
2166 Management. 2169 Management.
diff --git a/Documentation/networking/00-INDEX b/Documentation/networking/00-INDEX
index 9ad9ddeb384c..2cc3c7733a2f 100644
--- a/Documentation/networking/00-INDEX
+++ b/Documentation/networking/00-INDEX
@@ -1,7 +1,5 @@
100-INDEX 100-INDEX
2 - this file 2 - this file
33c359.txt
4 - information on the 3Com TokenLink Velocity XL (3c5359) driver.
53c505.txt 33c505.txt
6 - information on the 3Com EtherLink Plus (3c505) driver. 4 - information on the 3Com EtherLink Plus (3c505) driver.
73c509.txt 53c509.txt
@@ -142,8 +140,6 @@ netif-msg.txt
142 - Design of the network interface message level setting (NETIF_MSG_*). 140 - Design of the network interface message level setting (NETIF_MSG_*).
143nfc.txt 141nfc.txt
144 - The Linux Near Field Communication (NFS) subsystem. 142 - The Linux Near Field Communication (NFS) subsystem.
145olympic.txt
146 - IBM PCI Pit/Pit-Phy/Olympic Token Ring driver info.
147openvswitch.txt 143openvswitch.txt
148 - Open vSwitch developer documentation. 144 - Open vSwitch developer documentation.
149operstates.txt 145operstates.txt
@@ -184,8 +180,6 @@ skfp.txt
184 - SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info. 180 - SysKonnect FDDI (SK-5xxx, Compaq Netelligent) driver info.
185smc9.txt 181smc9.txt
186 - the driver for SMC's 9000 series of Ethernet cards 182 - the driver for SMC's 9000 series of Ethernet cards
187smctr.txt
188 - SMC TokenCard TokenRing Linux driver info.
189spider-net.txt 183spider-net.txt
190 - README for the Spidernet Driver (as found in PS3 / Cell BE). 184 - README for the Spidernet Driver (as found in PS3 / Cell BE).
191stmmac.txt 185stmmac.txt
@@ -200,8 +194,6 @@ tcp-thin.txt
200 - kernel tuning options for low rate 'thin' TCP streams. 194 - kernel tuning options for low rate 'thin' TCP streams.
201tlan.txt 195tlan.txt
202 - ThunderLAN (Compaq Netelligent 10/100, Olicom OC-2xxx) driver info. 196 - ThunderLAN (Compaq Netelligent 10/100, Olicom OC-2xxx) driver info.
203tms380tr.txt
204 - SysKonnect Token Ring ISA/PCI adapter driver info.
205tproxy.txt 197tproxy.txt
206 - Transparent proxy support user guide. 198 - Transparent proxy support user guide.
207tuntap.txt 199tuntap.txt
diff --git a/Documentation/networking/3c359.txt b/Documentation/networking/3c359.txt
deleted file mode 100644
index dadfe8147ab8..000000000000
--- a/Documentation/networking/3c359.txt
+++ /dev/null
@@ -1,58 +0,0 @@
1
23COM PCI TOKEN LINK VELOCITY XL TOKEN RING CARDS README
3
4Release 0.9.0 - Release
5 Jul 17th 2000 Mike Phillips
6
7 1.2.0 - Final
8 Feb 17th 2002 Mike Phillips
9 Updated for submission to the 2.4.x kernel.
10
11Thanks:
12 Terry Murphy from 3Com for tech docs and support,
13 Adam D. Ligas for testing the driver.
14
15Note:
16 This driver will NOT work with the 3C339 Token Ring cards, you need
17to use the tms380 driver instead.
18
19Options:
20
21The driver accepts three options: ringspeed, pkt_buf_sz and message_level.
22
23These options can be specified differently for each card found.
24
25ringspeed: Has one of three settings 0 (default), 4 or 16. 0 will
26make the card autosense the ringspeed and join at the appropriate speed,
27this will be the default option for most people. 4 or 16 allow you to
28explicitly force the card to operate at a certain speed. The card will fail
29if you try to insert it at the wrong speed. (Although some hubs will allow
30this so be *very* careful). The main purpose for explicitly setting the ring
31speed is for when the card is first on the ring. In autosense mode, if the card
32cannot detect any active monitors on the ring it will open at the same speed as
33its last opening. This can be hazardous if this speed does not match the speed
34you want the ring to operate at.
35
36pkt_buf_sz: This is this initial receive buffer allocation size. This will
37default to 4096 if no value is entered. You may increase performance of the
38driver by setting this to a value larger than the network packet size, although
39the driver now re-sizes buffers based on MTU settings as well.
40
41message_level: Controls level of messages created by the driver. Defaults to 0:
42which only displays start-up and critical messages. Presently any non-zero
43value will display all soft messages as well. NB This does not turn
44debugging messages on, that must be done by modified the source code.
45
46Variable MTU size:
47
48The driver can handle a MTU size up to either 4500 or 18000 depending upon
49ring speed. The driver also changes the size of the receive buffers as part
50of the mtu re-sizing, so if you set mtu = 18000, you will need to be able
51to allocate 16 * (sk_buff with 18000 buffer size) call it 18500 bytes per ring
52position = 296,000 bytes of memory space, plus of course anything
53necessary for the tx sk_buff's. Remember this is per card, so if you are
54building routers, gateway's etc, you could start to use a lot of memory
55real fast.
56
572/17/02 Mike Phillips
58
diff --git a/Documentation/networking/3c509.txt b/Documentation/networking/3c509.txt
index dcc9eaf59395..fbf722e15ac3 100644
--- a/Documentation/networking/3c509.txt
+++ b/Documentation/networking/3c509.txt
@@ -25,7 +25,6 @@ models:
25 3c509B (later revision of the ISA card; supports full-duplex) 25 3c509B (later revision of the ISA card; supports full-duplex)
26 3c589 (PCMCIA) 26 3c589 (PCMCIA)
27 3c589B (later revision of the 3c589; supports full-duplex) 27 3c589B (later revision of the 3c589; supports full-duplex)
28 3c529 (MCA)
29 3c579 (EISA) 28 3c579 (EISA)
30 29
31Large portions of this documentation were heavily borrowed from the guide 30Large portions of this documentation were heavily borrowed from the guide
diff --git a/Documentation/networking/batman-adv.txt b/Documentation/networking/batman-adv.txt
index 221ad0cdf11f..75a592365af9 100644
--- a/Documentation/networking/batman-adv.txt
+++ b/Documentation/networking/batman-adv.txt
@@ -1,5 +1,3 @@
1[state: 21-08-2011]
2
3BATMAN-ADV 1BATMAN-ADV
4---------- 2----------
5 3
@@ -67,18 +65,19 @@ To deactivate an interface you have to write "none" into its
67All mesh wide settings can be found in batman's own interface 65All mesh wide settings can be found in batman's own interface
68folder: 66folder:
69 67
70# ls /sys/class/net/bat0/mesh/ 68# ls /sys/class/net/bat0/mesh/
71# aggregated_ogms fragmentation gw_sel_class vis_mode 69# aggregated_ogms gw_bandwidth log_level
72# ap_isolation gw_bandwidth hop_penalty 70# ap_isolation gw_mode orig_interval
73# bonding gw_mode orig_interval 71# bonding gw_sel_class routing_algo
72# bridge_loop_avoidance hop_penalty vis_mode
73# fragmentation
74 74
75 75
76There is a special folder for debugging information: 76There is a special folder for debugging information:
77 77
78# ls /sys/kernel/debug/batman_adv/bat0/ 78# ls /sys/kernel/debug/batman_adv/bat0/
79# gateways socket transtable_global vis_data 79# bla_claim_table log socket transtable_local
80# originators softif_neigh transtable_local 80# gateways originators transtable_global vis_data
81
82 81
83Some of the files contain all sort of status information regard- 82Some of the files contain all sort of status information regard-
84ing the mesh network. For example, you can view the table of 83ing the mesh network. For example, you can view the table of
@@ -202,12 +201,13 @@ abled during run time. Following log_levels are defined:
2021 - Enable messages related to routing / flooding / broadcasting 2011 - Enable messages related to routing / flooding / broadcasting
2032 - Enable messages related to route added / changed / deleted 2022 - Enable messages related to route added / changed / deleted
2044 - Enable messages related to translation table operations 2034 - Enable messages related to translation table operations
2057 - Enable all messages 2048 - Enable messages related to bridge loop avoidance
20515 - enable all messages
206 206
207The debug output can be changed at runtime using the file 207The debug output can be changed at runtime using the file
208/sys/class/net/bat0/mesh/log_level. e.g. 208/sys/class/net/bat0/mesh/log_level. e.g.
209 209
210# echo 2 > /sys/class/net/bat0/mesh/log_level 210# echo 6 > /sys/class/net/bat0/mesh/log_level
211 211
212will enable debug messages for when routes change. 212will enable debug messages for when routes change.
213 213
diff --git a/Documentation/networking/fore200e.txt b/Documentation/networking/fore200e.txt
index f648eb265188..d52af53efdc5 100644
--- a/Documentation/networking/fore200e.txt
+++ b/Documentation/networking/fore200e.txt
@@ -11,12 +11,10 @@ i386, alpha (untested), powerpc, sparc and sparc64 archs.
11 11
12The intent is to enable the use of different models of FORE adapters at the 12The intent is to enable the use of different models of FORE adapters at the
13same time, by hosts that have several bus interfaces (such as PCI+SBUS, 13same time, by hosts that have several bus interfaces (such as PCI+SBUS,
14PCI+MCA or PCI+EISA). 14or PCI+EISA).
15 15
16Only PCI and SBUS devices are currently supported by the driver, but support 16Only PCI and SBUS devices are currently supported by the driver, but support
17for other bus interfaces such as EISA should not be too hard to add (this may 17for other bus interfaces such as EISA should not be too hard to add.
18be more tricky for the MCA bus, though, as FORE made some MCA-specific
19modifications to the adapter's AALI interface).
20 18
21 19
22Firmware Copyright Notice 20Firmware Copyright Notice
diff --git a/Documentation/networking/ieee802154.txt b/Documentation/networking/ieee802154.txt
index 1dc1c24a7547..703cf4370c79 100644
--- a/Documentation/networking/ieee802154.txt
+++ b/Documentation/networking/ieee802154.txt
@@ -4,15 +4,22 @@
4 4
5Introduction 5Introduction
6============ 6============
7The IEEE 802.15.4 working group focuses on standartization of bottom
8two layers: Medium Accsess Control (MAC) and Physical (PHY). And there
9are mainly two options available for upper layers:
10 - ZigBee - proprietary protocol from ZigBee Alliance
11 - 6LowPAN - IPv6 networking over low rate personal area networks
7 12
8The Linux-ZigBee project goal is to provide complete implementation 13The Linux-ZigBee project goal is to provide complete implementation
9of IEEE 802.15.4 / ZigBee / 6LoWPAN protocols. IEEE 802.15.4 is a stack 14of IEEE 802.15.4 and 6LoWPAN protocols. IEEE 802.15.4 is a stack
10of protocols for organizing Low-Rate Wireless Personal Area Networks. 15of protocols for organizing Low-Rate Wireless Personal Area Networks.
11 16
12Currently only IEEE 802.15.4 layer is implemented. We have chosen 17The stack is composed of three main parts:
13to use plain Berkeley socket API, the generic Linux networking stack 18 - IEEE 802.15.4 layer; We have chosen to use plain Berkeley socket API,
14to transfer IEEE 802.15.4 messages and a special protocol over genetlink 19 the generic Linux networking stack to transfer IEEE 802.15.4 messages
15for configuration/management 20 and a special protocol over genetlink for configuration/management
21 - MAC - provides access to shared channel and reliable data delivery
22 - PHY - represents device drivers
16 23
17 24
18Socket API 25Socket API
@@ -29,15 +36,6 @@ or git tree at git://linux-zigbee.git.sourceforge.net/gitroot/linux-zigbee).
29One can use SOCK_RAW for passing raw data towards device xmit function. YMMV. 36One can use SOCK_RAW for passing raw data towards device xmit function. YMMV.
30 37
31 38
32MLME - MAC Level Management
33============================
34
35Most of IEEE 802.15.4 MLME interfaces are directly mapped on netlink commands.
36See the include/net/nl802154.h header. Our userspace tools package
37(see above) provides CLI configuration utility for radio interfaces and simple
38coordinator for IEEE 802.15.4 networks as an example users of MLME protocol.
39
40
41Kernel side 39Kernel side
42============= 40=============
43 41
@@ -51,6 +49,15 @@ Like with WiFi, there are several types of devices implementing IEEE 802.15.4.
51Those types of devices require different approach to be hooked into Linux kernel. 49Those types of devices require different approach to be hooked into Linux kernel.
52 50
53 51
52MLME - MAC Level Management
53============================
54
55Most of IEEE 802.15.4 MLME interfaces are directly mapped on netlink commands.
56See the include/net/nl802154.h header. Our userspace tools package
57(see above) provides CLI configuration utility for radio interfaces and simple
58coordinator for IEEE 802.15.4 networks as an example users of MLME protocol.
59
60
54HardMAC 61HardMAC
55======= 62=======
56 63
@@ -73,11 +80,47 @@ We provide an example of simple HardMAC driver at drivers/ieee802154/fakehard.c
73SoftMAC 80SoftMAC
74======= 81=======
75 82
76We are going to provide intermediate layer implementing IEEE 802.15.4 MAC 83The MAC is the middle layer in the IEEE 802.15.4 Linux stack. This moment it
77in software. This is currently WIP. 84provides interface for drivers registration and management of slave interfaces.
85
86NOTE: Currently the only monitor device type is supported - it's IEEE 802.15.4
87stack interface for network sniffers (e.g. WireShark).
88
89This layer is going to be extended soon.
78 90
79See header include/net/mac802154.h and several drivers in drivers/ieee802154/. 91See header include/net/mac802154.h and several drivers in drivers/ieee802154/.
80 92
93
94Device drivers API
95==================
96
97The include/net/mac802154.h defines following functions:
98 - struct ieee802154_dev *ieee802154_alloc_device
99 (size_t priv_size, struct ieee802154_ops *ops):
100 allocation of IEEE 802.15.4 compatible device
101
102 - void ieee802154_free_device(struct ieee802154_dev *dev):
103 freeing allocated device
104
105 - int ieee802154_register_device(struct ieee802154_dev *dev):
106 register PHY in the system
107
108 - void ieee802154_unregister_device(struct ieee802154_dev *dev):
109 freeing registered PHY
110
111Moreover IEEE 802.15.4 device operations structure should be filled.
112
113Fake drivers
114============
115
116In addition there are two drivers available which simulate real devices with
117HardMAC (fakehard) and SoftMAC (fakelb - IEEE 802.15.4 loopback driver)
118interfaces. This option provides possibility to test and debug stack without
119usage of real hardware.
120
121See sources in drivers/ieee802154 folder for more details.
122
123
816LoWPAN Linux implementation 1246LoWPAN Linux implementation
82============================ 125============================
83 126
diff --git a/Documentation/networking/ip-sysctl.txt b/Documentation/networking/ip-sysctl.txt
index bd80ba5847d2..6f896b94abdc 100644
--- a/Documentation/networking/ip-sysctl.txt
+++ b/Documentation/networking/ip-sysctl.txt
@@ -147,7 +147,7 @@ tcp_adv_win_scale - INTEGER
147 (if tcp_adv_win_scale > 0) or bytes-bytes/2^(-tcp_adv_win_scale), 147 (if tcp_adv_win_scale > 0) or bytes-bytes/2^(-tcp_adv_win_scale),
148 if it is <= 0. 148 if it is <= 0.
149 Possible values are [-31, 31], inclusive. 149 Possible values are [-31, 31], inclusive.
150 Default: 2 150 Default: 1
151 151
152tcp_allowed_congestion_control - STRING 152tcp_allowed_congestion_control - STRING
153 Show/set the congestion control choices available to non-privileged 153 Show/set the congestion control choices available to non-privileged
@@ -190,6 +190,20 @@ tcp_cookie_size - INTEGER
190tcp_dsack - BOOLEAN 190tcp_dsack - BOOLEAN
191 Allows TCP to send "duplicate" SACKs. 191 Allows TCP to send "duplicate" SACKs.
192 192
193tcp_early_retrans - INTEGER
194 Enable Early Retransmit (ER), per RFC 5827. ER lowers the threshold
195 for triggering fast retransmit when the amount of outstanding data is
196 small and when no previously unsent data can be transmitted (such
197 that limited transmit could be used).
198 Possible values:
199 0 disables ER
200 1 enables ER
201 2 enables ER but delays fast recovery and fast retransmit
202 by a fourth of RTT. This mitigates connection falsely
203 recovers when network has a small degree of reordering
204 (less than 3 packets).
205 Default: 2
206
193tcp_ecn - INTEGER 207tcp_ecn - INTEGER
194 Enable Explicit Congestion Notification (ECN) in TCP. ECN is only 208 Enable Explicit Congestion Notification (ECN) in TCP. ECN is only
195 used when both ends of the TCP flow support it. It is useful to 209 used when both ends of the TCP flow support it. It is useful to
@@ -410,7 +424,7 @@ tcp_rmem - vector of 3 INTEGERs: min, default, max
410 net.core.rmem_max. Calling setsockopt() with SO_RCVBUF disables 424 net.core.rmem_max. Calling setsockopt() with SO_RCVBUF disables
411 automatic tuning of that socket's receive buffer size, in which 425 automatic tuning of that socket's receive buffer size, in which
412 case this value is ignored. 426 case this value is ignored.
413 Default: between 87380B and 4MB, depending on RAM size. 427 Default: between 87380B and 6MB, depending on RAM size.
414 428
415tcp_sack - BOOLEAN 429tcp_sack - BOOLEAN
416 Enable select acknowledgments (SACKS). 430 Enable select acknowledgments (SACKS).
@@ -1287,13 +1301,22 @@ bridge-nf-call-ip6tables - BOOLEAN
1287bridge-nf-filter-vlan-tagged - BOOLEAN 1301bridge-nf-filter-vlan-tagged - BOOLEAN
1288 1 : pass bridged vlan-tagged ARP/IP/IPv6 traffic to {arp,ip,ip6}tables. 1302 1 : pass bridged vlan-tagged ARP/IP/IPv6 traffic to {arp,ip,ip6}tables.
1289 0 : disable this. 1303 0 : disable this.
1290 Default: 1 1304 Default: 0
1291 1305
1292bridge-nf-filter-pppoe-tagged - BOOLEAN 1306bridge-nf-filter-pppoe-tagged - BOOLEAN
1293 1 : pass bridged pppoe-tagged IP/IPv6 traffic to {ip,ip6}tables. 1307 1 : pass bridged pppoe-tagged IP/IPv6 traffic to {ip,ip6}tables.
1294 0 : disable this. 1308 0 : disable this.
1295 Default: 1 1309 Default: 0
1296 1310
1311bridge-nf-pass-vlan-input-dev - BOOLEAN
1312 1: if bridge-nf-filter-vlan-tagged is enabled, try to find a vlan
1313 interface on the bridge and set the netfilter input device to the vlan.
1314 This allows use of e.g. "iptables -i br0.1" and makes the REDIRECT
1315 target work with vlan-on-top-of-bridge interfaces. When no matching
1316 vlan interface is found, or this switch is off, the input device is
1317 set to the bridge interface.
1318 0: disable bridge netfilter vlan interface lookup.
1319 Default: 0
1297 1320
1298proc/sys/net/sctp/* Variables: 1321proc/sys/net/sctp/* Variables:
1299 1322
@@ -1484,11 +1507,8 @@ addr_scope_policy - INTEGER
1484 1507
1485 1508
1486/proc/sys/net/core/* 1509/proc/sys/net/core/*
1487dev_weight - INTEGER 1510 Please see: Documentation/sysctl/net.txt for descriptions of these entries.
1488 The maximum number of packets that kernel can handle on a NAPI
1489 interrupt, it's a Per-CPU variable.
1490 1511
1491 Default: 64
1492 1512
1493/proc/sys/net/unix/* 1513/proc/sys/net/unix/*
1494max_dgram_qlen - INTEGER 1514max_dgram_qlen - INTEGER
diff --git a/Documentation/networking/mac80211-auth-assoc-deauth.txt b/Documentation/networking/mac80211-auth-assoc-deauth.txt
index e0a2aa585ca3..d7a15fe91bf7 100644
--- a/Documentation/networking/mac80211-auth-assoc-deauth.txt
+++ b/Documentation/networking/mac80211-auth-assoc-deauth.txt
@@ -23,7 +23,7 @@ BA session stop & deauth/disassoc frames
23end note 23end note
24end 24end
25 25
26mac80211->driver: config(channel, non-HT) 26mac80211->driver: config(channel, channel type)
27mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap) 27mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap)
28mac80211->driver: sta_state(AP, exists) 28mac80211->driver: sta_state(AP, exists)
29 29
@@ -51,7 +51,7 @@ note over mac80211,driver: cleanup like for authenticate
51end 51end
52 52
53alt not previously authenticated (FT) 53alt not previously authenticated (FT)
54mac80211->driver: config(channel, non-HT) 54mac80211->driver: config(channel, channel type)
55mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap) 55mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap)
56mac80211->driver: sta_state(AP, exists) 56mac80211->driver: sta_state(AP, exists)
57mac80211->driver: sta_state(AP, authenticated) 57mac80211->driver: sta_state(AP, authenticated)
@@ -67,10 +67,6 @@ end
67 67
68mac80211->driver: set up QoS parameters 68mac80211->driver: set up QoS parameters
69 69
70alt is HT channel
71mac80211->driver: config(channel, HT params)
72end
73
74mac80211->driver: bss_info_changed(QoS, HT, associated with AID) 70mac80211->driver: bss_info_changed(QoS, HT, associated with AID)
75mac80211->userspace: associated 71mac80211->userspace: associated
76 72
@@ -95,5 +91,5 @@ mac80211->driver: sta_state(AP,exists)
95mac80211->driver: sta_state(AP,not-exists) 91mac80211->driver: sta_state(AP,not-exists)
96mac80211->driver: turn off powersave 92mac80211->driver: turn off powersave
97mac80211->driver: bss_info_changed(clear BSSID, not associated, no QoS, ...) 93mac80211->driver: bss_info_changed(clear BSSID, not associated, no QoS, ...)
98mac80211->driver: config(non-HT channel type) 94mac80211->driver: config(channel type to non-HT)
99mac80211->userspace: disconnected 95mac80211->userspace: disconnected
diff --git a/Documentation/networking/olympic.txt b/Documentation/networking/olympic.txt
deleted file mode 100644
index b95b5bf96751..000000000000
--- a/Documentation/networking/olympic.txt
+++ /dev/null
@@ -1,79 +0,0 @@
1
2IBM PCI Pit/Pit-Phy/Olympic CHIPSET BASED TOKEN RING CARDS README
3
4Release 0.2.0 - Release
5 June 8th 1999 Peter De Schrijver & Mike Phillips
6Release 0.9.C - Release
7 April 18th 2001 Mike Phillips
8
9Thanks:
10Erik De Cock, Adrian Bridgett and Frank Fiene for their
11patience and testing.
12Donald Champion for the cardbus support
13Kyle Lucke for the dma api changes.
14Jonathon Bitner for hardware support.
15Everybody on linux-tr for their continued support.
16
17Options:
18
19The driver accepts four options: ringspeed, pkt_buf_sz,
20message_level and network_monitor.
21
22These options can be specified differently for each card found.
23
24ringspeed: Has one of three settings 0 (default), 4 or 16. 0 will
25make the card autosense the ringspeed and join at the appropriate speed,
26this will be the default option for most people. 4 or 16 allow you to
27explicitly force the card to operate at a certain speed. The card will fail
28if you try to insert it at the wrong speed. (Although some hubs will allow
29this so be *very* careful). The main purpose for explicitly setting the ring
30speed is for when the card is first on the ring. In autosense mode, if the card
31cannot detect any active monitors on the ring it will not open, so you must
32re-init the card at the appropriate speed. Unfortunately at present the only
33way of doing this is rmmod and insmod which is a bit tough if it is compiled
34in the kernel.
35
36pkt_buf_sz: This is this initial receive buffer allocation size. This will
37default to 4096 if no value is entered. You may increase performance of the
38driver by setting this to a value larger than the network packet size, although
39the driver now re-sizes buffers based on MTU settings as well.
40
41message_level: Controls level of messages created by the driver. Defaults to 0:
42which only displays start-up and critical messages. Presently any non-zero
43value will display all soft messages as well. NB This does not turn
44debugging messages on, that must be done by modified the source code.
45
46network_monitor: Any non-zero value will provide a quasi network monitoring
47mode. All unexpected MAC frames (beaconing etc.) will be received
48by the driver and the source and destination addresses printed.
49Also an entry will be added in /proc/net called olympic_tr%d, where tr%d
50is the registered device name, i.e tr0, tr1, etc. This displays low
51level information about the configuration of the ring and the adapter.
52This feature has been designed for network administrators to assist in
53the diagnosis of network / ring problems. (This used to OLYMPIC_NETWORK_MONITOR,
54but has now changed to allow each adapter to be configured differently and
55to alleviate the necessity to re-compile olympic to turn the option on).
56
57Multi-card:
58
59The driver will detect multiple cards and will work with shared interrupts,
60each card is assigned the next token ring device, i.e. tr0 , tr1, tr2. The
61driver should also happily reside in the system with other drivers. It has
62been tested with ibmtr.c running, and I personally have had one Olicom PCI
63card and two IBM olympic cards (all on the same interrupt), all running
64together.
65
66Variable MTU size:
67
68The driver can handle a MTU size up to either 4500 or 18000 depending upon
69ring speed. The driver also changes the size of the receive buffers as part
70of the mtu re-sizing, so if you set mtu = 18000, you will need to be able
71to allocate 16 * (sk_buff with 18000 buffer size) call it 18500 bytes per ring
72position = 296,000 bytes of memory space, plus of course anything
73necessary for the tx sk_buff's. Remember this is per card, so if you are
74building routers, gateway's etc, you could start to use a lot of memory
75real fast.
76
77
786/8/99 Peter De Schrijver and Mike Phillips
79
diff --git a/Documentation/networking/smctr.txt b/Documentation/networking/smctr.txt
deleted file mode 100644
index 9af25b810c1f..000000000000
--- a/Documentation/networking/smctr.txt
+++ /dev/null
@@ -1,66 +0,0 @@
1Text File for the SMC TokenCard TokenRing Linux driver (smctr.c).
2 By Jay Schulist <jschlst@samba.org>
3
4The Linux SMC Token Ring driver works with the SMC TokenCard Elite (8115T)
5ISA and SMC TokenCard Elite/A (8115T/A) MCA adapters.
6
7Latest information on this driver can be obtained on the Linux-SNA WWW site.
8Please point your browser to: http://www.linux-sna.org
9
10This driver is rather simple to use. Select Y to Token Ring adapter support
11in the kernel configuration. A choice for SMC Token Ring adapters will
12appear. This drives supports all SMC ISA/MCA adapters. Choose this
13option. I personally recommend compiling the driver as a module (M), but if you
14you would like to compile it statically answer Y instead.
15
16This driver supports multiple adapters without the need to load multiple copies
17of the driver. You should be able to load up to 7 adapters without any kernel
18modifications, if you are in need of more please contact the maintainer of this
19driver.
20
21Load the driver either by lilo/loadlin or as a module. When a module using the
22following command will suffice for most:
23
24# modprobe smctr
25smctr.c: v1.00 12/6/99 by jschlst@samba.org
26tr0: SMC TokenCard 8115T at Io 0x300, Irq 10, Rom 0xd8000, Ram 0xcc000.
27
28Now just setup the device via ifconfig and set and routes you may have. After
29this you are ready to start sending some tokens.
30
31Errata:
321). For anyone wondering where to pick up the SMC adapters please browse
33 to http://www.smc.com
34
352). If you are the first/only Token Ring Client on a Token Ring LAN, please
36 specify the ringspeed with the ringspeed=[4/16] module option. If no
37 ringspeed is specified the driver will attempt to autodetect the ring
38 speed and/or if the adapter is the first/only station on the ring take
39 the appropriate actions.
40
41 NOTE: Default ring speed is 16MB UTP.
42
433). PnP support for this adapter sucks. I recommend hard setting the
44 IO/MEM/IRQ by the jumpers on the adapter. If this is not possible
45 load the module with the following io=[ioaddr] mem=[mem_addr]
46 irq=[irq_num].
47
48 The following IRQ, IO, and MEM settings are supported.
49
50 IO ports:
51 0x200, 0x220, 0x240, 0x260, 0x280, 0x2A0, 0x2C0, 0x2E0, 0x300,
52 0x320, 0x340, 0x360, 0x380.
53
54 IRQs:
55 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15
56
57 Memory addresses:
58 0xA0000, 0xA4000, 0xA8000, 0xAC000, 0xB0000, 0xB4000,
59 0xB8000, 0xBC000, 0xC0000, 0xC4000, 0xC8000, 0xCC000,
60 0xD0000, 0xD4000, 0xD8000, 0xDC000, 0xE0000, 0xE4000,
61 0xE8000, 0xEC000, 0xF0000, 0xF4000, 0xF8000, 0xFC000
62
63This driver is under the GNU General Public License. Its Firmware image is
64included as an initialized C-array and is licensed by SMC to the Linux
65users of this driver. However no warranty about its fitness is expressed or
66implied by SMC.
diff --git a/Documentation/networking/stmmac.txt b/Documentation/networking/stmmac.txt
index d0aeeadd264b..ab1e8d7004c5 100644
--- a/Documentation/networking/stmmac.txt
+++ b/Documentation/networking/stmmac.txt
@@ -111,11 +111,12 @@ and detailed below as well:
111 int phy_addr; 111 int phy_addr;
112 int interface; 112 int interface;
113 struct stmmac_mdio_bus_data *mdio_bus_data; 113 struct stmmac_mdio_bus_data *mdio_bus_data;
114 int pbl; 114 struct stmmac_dma_cfg *dma_cfg;
115 int clk_csr; 115 int clk_csr;
116 int has_gmac; 116 int has_gmac;
117 int enh_desc; 117 int enh_desc;
118 int tx_coe; 118 int tx_coe;
119 int rx_coe;
119 int bugged_jumbo; 120 int bugged_jumbo;
120 int pmt; 121 int pmt;
121 int force_sf_dma_mode; 122 int force_sf_dma_mode;
@@ -136,10 +137,12 @@ Where:
136 o pbl: the Programmable Burst Length is maximum number of beats to 137 o pbl: the Programmable Burst Length is maximum number of beats to
137 be transferred in one DMA transaction. 138 be transferred in one DMA transaction.
138 GMAC also enables the 4xPBL by default. 139 GMAC also enables the 4xPBL by default.
139 o clk_csr: CSR Clock range selection. 140 o clk_csr: fixed CSR Clock range selection.
140 o has_gmac: uses the GMAC core. 141 o has_gmac: uses the GMAC core.
141 o enh_desc: if sets the MAC will use the enhanced descriptor structure. 142 o enh_desc: if sets the MAC will use the enhanced descriptor structure.
142 o tx_coe: core is able to perform the tx csum in HW. 143 o tx_coe: core is able to perform the tx csum in HW.
144 o rx_coe: the supports three check sum offloading engine types:
145 type_1, type_2 (full csum) and no RX coe.
143 o bugged_jumbo: some HWs are not able to perform the csum in HW for 146 o bugged_jumbo: some HWs are not able to perform the csum in HW for
144 over-sized frames due to limited buffer sizes. 147 over-sized frames due to limited buffer sizes.
145 Setting this flag the csum will be done in SW on 148 Setting this flag the csum will be done in SW on
@@ -160,7 +163,7 @@ Where:
160 o custom_cfg: this is a custom configuration that can be passed while 163 o custom_cfg: this is a custom configuration that can be passed while
161 initialising the resources. 164 initialising the resources.
162 165
163The we have: 166For MDIO bus The we have:
164 167
165 struct stmmac_mdio_bus_data { 168 struct stmmac_mdio_bus_data {
166 int bus_id; 169 int bus_id;
@@ -177,10 +180,28 @@ Where:
177 o irqs: list of IRQs, one per PHY. 180 o irqs: list of IRQs, one per PHY.
178 o probed_phy_irq: if irqs is NULL, use this for probed PHY. 181 o probed_phy_irq: if irqs is NULL, use this for probed PHY.
179 182
183
184For DMA engine we have the following internal fields that should be
185tuned according to the HW capabilities.
186
187struct stmmac_dma_cfg {
188 int pbl;
189 int fixed_burst;
190 int burst_len_supported;
191};
192
193Where:
194 o pbl: Programmable Burst Length
195 o fixed_burst: program the DMA to use the fixed burst mode
196 o burst_len: this is the value we put in the register
197 supported values are provided as macros in
198 linux/stmmac.h header file.
199
200---
201
180Below an example how the structures above are using on ST platforms. 202Below an example how the structures above are using on ST platforms.
181 203
182 static struct plat_stmmacenet_data stxYYY_ethernet_platform_data = { 204 static struct plat_stmmacenet_data stxYYY_ethernet_platform_data = {
183 .pbl = 32,
184 .has_gmac = 0, 205 .has_gmac = 0,
185 .enh_desc = 0, 206 .enh_desc = 0,
186 .fix_mac_speed = stxYYY_ethernet_fix_mac_speed, 207 .fix_mac_speed = stxYYY_ethernet_fix_mac_speed,
diff --git a/Documentation/networking/tms380tr.txt b/Documentation/networking/tms380tr.txt
deleted file mode 100644
index 1f73e13058df..000000000000
--- a/Documentation/networking/tms380tr.txt
+++ /dev/null
@@ -1,147 +0,0 @@
1Text file for the Linux SysKonnect Token Ring ISA/PCI Adapter Driver.
2 Text file by: Jay Schulist <jschlst@samba.org>
3
4The Linux SysKonnect Token Ring driver works with the SysKonnect TR4/16(+) ISA,
5SysKonnect TR4/16(+) PCI, SysKonnect TR4/16 PCI, and older revisions of the
6SK NET TR4/16 ISA card.
7
8Latest information on this driver can be obtained on the Linux-SNA WWW site.
9Please point your browser to:
10http://www.linux-sna.org
11
12Many thanks to Christoph Goos for his excellent work on this driver and
13SysKonnect for donating the adapters to Linux-SNA for the testing and
14maintenance of this device driver.
15
16Important information to be noted:
171. Adapters can be slow to open (~20 secs) and close (~5 secs), please be
18 patient.
192. This driver works very well when autoprobing for adapters. Why even
20 think about those nasty io/int/dma settings of modprobe when the driver
21 will do it all for you!
22
23This driver is rather simple to use. Select Y to Token Ring adapter support
24in the kernel configuration. A choice for SysKonnect Token Ring adapters will
25appear. This drives supports all SysKonnect ISA and PCI adapters. Choose this
26option. I personally recommend compiling the driver as a module (M), but if you
27you would like to compile it statically answer Y instead.
28
29This driver supports multiple adapters without the need to load multiple copies
30of the driver. You should be able to load up to 7 adapters without any kernel
31modifications, if you are in need of more please contact the maintainer of this
32driver.
33
34Load the driver either by lilo/loadlin or as a module. When a module using the
35following command will suffice for most:
36
37# modprobe sktr
38
39This will produce output similar to the following: (Output is user specific)
40
41sktr.c: v1.01 08/29/97 by Christoph Goos
42tr0: SK NET TR 4/16 PCI found at 0x6100, using IRQ 17.
43tr1: SK NET TR 4/16 PCI found at 0x6200, using IRQ 16.
44tr2: SK NET TR 4/16 ISA found at 0xa20, using IRQ 10 and DMA 5.
45
46Now just setup the device via ifconfig and set and routes you may have. After
47this you are ready to start sending some tokens.
48
49Errata:
50For anyone wondering where to pick up the SysKonnect adapters please browse
51to http://www.syskonnect.com
52
53This driver is under the GNU General Public License. Its Firmware image is
54included as an initialized C-array and is licensed by SysKonnect to the Linux
55users of this driver. However no warranty about its fitness is expressed or
56implied by SysKonnect.
57
58Below find attached the setting for the SK NET TR 4/16 ISA adapters
59-------------------------------------------------------------------
60
61 ***************************
62 *** C O N T E N T S ***
63 ***************************
64
65 1) Location of DIP-Switch W1
66 2) Default settings
67 3) DIP-Switch W1 description
68
69
70 ==============================================================
71 CHAPTER 1 LOCATION OF DIP-SWITCH
72 ==============================================================
73
74UÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
75þUÄÄÄÄÄÄ¿ UÄÄÄÄÄ¿ UÄÄÄ¿ þ
76þAÄÄÄÄÄÄU W1 AÄÄÄÄÄU UÄÄÄÄ¿ þ þ þ
77þUÄÄÄÄÄÄ¿ þ þ þ þ UÄÄÅ¿
78þAÄÄÄÄÄÄU UÄÄÄÄÄÄÄÄÄÄÄ¿ AÄÄÄÄU þ þ þ þþ
79þUÄÄÄÄÄÄ¿ þ þ UÄÄÄ¿ AÄÄÄU AÄÄÅU
80þAÄÄÄÄÄÄU þ TMS380C26 þ þ þ þ
81þUÄÄÄÄÄÄ¿ þ þ AÄÄÄU AÄ¿
82þAÄÄÄÄÄÄU þ þ þ þ
83þ AÄÄÄÄÄÄÄÄÄÄÄU þ þ
84þ þ þ
85þ AÄU
86þ þ
87þ þ
88þ þ
89þ þ
90AÄÄÄÄÄÄÄÄÄÄÄÄAÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄAÄÄAÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄAÄÄÄÄÄÄÄÄÄU
91 AÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄU AÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄU
92
93 ==============================================================
94 CHAPTER 2 DEFAULT SETTINGS
95 ==============================================================
96
97 W1 1 2 3 4 5 6 7 8
98 +------------------------------+
99 | ON X |
100 | OFF X X X X X X X |
101 +------------------------------+
102
103 W1.1 = ON Adapter drives address lines SA17..19
104 W1.2 - 1.5 = OFF BootROM disabled
105 W1.6 - 1.8 = OFF I/O address 0A20h
106
107 ==============================================================
108 CHAPTER 3 DIP SWITCH W1 DESCRIPTION
109 ==============================================================
110
111 UÄÄÄAÄÄÄAÄÄÄAÄÄÄAÄÄÄAÄÄÄAÄÄÄAÄÄÄ¿ ON
112 þ 1 þ 2 þ 3 þ 4 þ 5 þ 6 þ 7 þ 8 þ
113 AÄÄÄAÄÄÄAÄÄÄAÄÄÄAÄÄÄAÄÄÄAÄÄÄAÄÄÄU OFF
114 |AD | BootROM Addr. | I/O |
115 +-+-+-------+-------+-----+-----+
116 | | |
117 | | +------ 6 7 8
118 | | ON ON ON 1900h
119 | | ON ON OFF 0900h
120 | | ON OFF ON 1980h
121 | | ON OFF OFF 0980h
122 | | OFF ON ON 1b20h
123 | | OFF ON OFF 0b20h
124 | | OFF OFF ON 1a20h
125 | | OFF OFF OFF 0a20h (+)
126 | |
127 | |
128 | +-------- 2 3 4 5
129 | OFF x x x disabled (+)
130 | ON ON ON ON C0000
131 | ON ON ON OFF C4000
132 | ON ON OFF ON C8000
133 | ON ON OFF OFF CC000
134 | ON OFF ON ON D0000
135 | ON OFF ON OFF D4000
136 | ON OFF OFF ON D8000
137 | ON OFF OFF OFF DC000
138 |
139 |
140 +----- 1
141 OFF adapter does NOT drive SA<17..19>
142 ON adapter drives SA<17..19> (+)
143
144
145 (+) means default setting
146
147 ********************************
diff --git a/Documentation/nfc/nfc-hci.txt b/Documentation/nfc/nfc-hci.txt
new file mode 100644
index 000000000000..216b7254fcc3
--- /dev/null
+++ b/Documentation/nfc/nfc-hci.txt
@@ -0,0 +1,155 @@
1HCI backend for NFC Core
2
3Author: Eric Lapuyade, Samuel Ortiz
4Contact: eric.lapuyade@intel.com, samuel.ortiz@intel.com
5
6General
7-------
8
9The HCI layer implements much of the ETSI TS 102 622 V10.2.0 specification. It
10enables easy writing of HCI-based NFC drivers. The HCI layer runs as an NFC Core
11backend, implementing an abstract nfc device and translating NFC Core API
12to HCI commands and events.
13
14HCI
15---
16
17HCI registers as an nfc device with NFC Core. Requests coming from userspace are
18routed through netlink sockets to NFC Core and then to HCI. From this point,
19they are translated in a sequence of HCI commands sent to the HCI layer in the
20host controller (the chip). The sending context blocks while waiting for the
21response to arrive.
22HCI events can also be received from the host controller. They will be handled
23and a translation will be forwarded to NFC Core as needed.
24HCI uses 2 execution contexts:
25- one if for executing commands : nfc_hci_msg_tx_work(). Only one command
26can be executing at any given moment.
27- one if for dispatching received events and responses : nfc_hci_msg_rx_work()
28
29HCI Session initialization:
30---------------------------
31
32The Session initialization is an HCI standard which must unfortunately
33support proprietary gates. This is the reason why the driver will pass a list
34of proprietary gates that must be part of the session. HCI will ensure all
35those gates have pipes connected when the hci device is set up.
36
37HCI Gates and Pipes
38-------------------
39
40A gate defines the 'port' where some service can be found. In order to access
41a service, one must create a pipe to that gate and open it. In this
42implementation, pipes are totally hidden. The public API only knows gates.
43This is consistent with the driver need to send commands to proprietary gates
44without knowing the pipe connected to it.
45
46Driver interface
47----------------
48
49A driver would normally register itself with HCI and provide the following
50entry points:
51
52struct nfc_hci_ops {
53 int (*open)(struct nfc_hci_dev *hdev);
54 void (*close)(struct nfc_hci_dev *hdev);
55 int (*xmit)(struct nfc_hci_dev *hdev, struct sk_buff *skb);
56 int (*start_poll)(struct nfc_hci_dev *hdev, u32 protocols);
57 int (*target_from_gate)(struct nfc_hci_dev *hdev, u8 gate,
58 struct nfc_target *target);
59};
60
61open() and close() shall turn the hardware on and off. xmit() shall simply
62write a frame to the chip. start_poll() is an optional entrypoint that shall
63set the hardware in polling mode. This must be implemented only if the hardware
64uses proprietary gates or a mechanism slightly different from the HCI standard.
65target_from_gate() is another optional entrypoint to return the protocols
66corresponding to a proprietary gate.
67
68On the rx path, the driver is responsible to push incoming HCP frames to HCI
69using nfc_hci_recv_frame(). HCI will take care of re-aggregation and handling
70This must be done from a context that can sleep.
71
72SHDLC
73-----
74
75Most chips use shdlc to ensure integrity and delivery ordering of the HCP
76frames between the host controller (the chip) and hosts (entities connected
77to the chip, like the cpu). In order to simplify writing the driver, an shdlc
78layer is available for use by the driver.
79When used, the driver actually registers with shdlc, and shdlc will register
80with HCI. HCI sees shdlc as the driver and thus send its HCP frames
81through shdlc->xmit.
82SHDLC adds a new execution context (nfc_shdlc_sm_work()) to run its state
83machine and handle both its rx and tx path.
84
85Included Drivers
86----------------
87
88An HCI based driver for an NXP PN544, connected through I2C bus, and using
89shdlc is included.
90
91Execution Contexts
92------------------
93
94The execution contexts are the following:
95- IRQ handler (IRQH):
96fast, cannot sleep. stores incoming frames into an shdlc rx queue
97
98- SHDLC State Machine worker (SMW)
99handles shdlc rx & tx queues. Dispatches HCI cmd responses.
100
101- HCI Tx Cmd worker (MSGTXWQ)
102Serialize execution of HCI commands. Complete execution in case of resp timeout.
103
104- HCI Rx worker (MSGRXWQ)
105Dispatches incoming HCI commands or events.
106
107- Syscall context from a userspace call (SYSCALL)
108Any entrypoint in HCI called from NFC Core
109
110Workflow executing an HCI command (using shdlc)
111-----------------------------------------------
112
113Executing an HCI command can easily be performed synchronously using the
114following API:
115
116int nfc_hci_send_cmd (struct nfc_hci_dev *hdev, u8 gate, u8 cmd,
117 const u8 *param, size_t param_len, struct sk_buff **skb)
118
119The API must be invoked from a context that can sleep. Most of the time, this
120will be the syscall context. skb will return the result that was received in
121the response.
122
123Internally, execution is asynchronous. So all this API does is to enqueue the
124HCI command, setup a local wait queue on stack, and wait_event() for completion.
125The wait is not interruptible because it is guaranteed that the command will
126complete after some short timeout anyway.
127
128MSGTXWQ context will then be scheduled and invoke nfc_hci_msg_tx_work().
129This function will dequeue the next pending command and send its HCP fragments
130to the lower layer which happens to be shdlc. It will then start a timer to be
131able to complete the command with a timeout error if no response arrive.
132
133SMW context gets scheduled and invokes nfc_shdlc_sm_work(). This function
134handles shdlc framing in and out. It uses the driver xmit to send frames and
135receives incoming frames in an skb queue filled from the driver IRQ handler.
136SHDLC I(nformation) frames payload are HCP fragments. They are agregated to
137form complete HCI frames, which can be a response, command, or event.
138
139HCI Responses are dispatched immediately from this context to unblock
140waiting command execution. Reponse processing involves invoking the completion
141callback that was provided by nfc_hci_msg_tx_work() when it sent the command.
142The completion callback will then wake the syscall context.
143
144Workflow receiving an HCI event or command
145------------------------------------------
146
147HCI commands or events are not dispatched from SMW context. Instead, they are
148queued to HCI rx_queue and will be dispatched from HCI rx worker
149context (MSGRXWQ). This is done this way to allow a cmd or event handler
150to also execute other commands (for example, handling the
151NFC_HCI_EVT_TARGET_DISCOVERED event from PN544 requires to issue an
152ANY_GET_PARAMETER to the reader A gate to get information on the target
153that was discovered).
154
155Typically, such an event will be propagated to NFC Core from MSGRXWQ context.
diff --git a/Documentation/power/freezing-of-tasks.txt b/Documentation/power/freezing-of-tasks.txt
index ec715cd78fbb..6ec291ea1c78 100644
--- a/Documentation/power/freezing-of-tasks.txt
+++ b/Documentation/power/freezing-of-tasks.txt
@@ -9,7 +9,7 @@ architectures).
9 9
10II. How does it work? 10II. How does it work?
11 11
12There are four per-task flags used for that, PF_NOFREEZE, PF_FROZEN, TIF_FREEZE 12There are three per-task flags used for that, PF_NOFREEZE, PF_FROZEN
13and PF_FREEZER_SKIP (the last one is auxiliary). The tasks that have 13and PF_FREEZER_SKIP (the last one is auxiliary). The tasks that have
14PF_NOFREEZE unset (all user space processes and some kernel threads) are 14PF_NOFREEZE unset (all user space processes and some kernel threads) are
15regarded as 'freezable' and treated in a special way before the system enters a 15regarded as 'freezable' and treated in a special way before the system enters a
@@ -17,30 +17,31 @@ suspend state as well as before a hibernation image is created (in what follows
17we only consider hibernation, but the description also applies to suspend). 17we only consider hibernation, but the description also applies to suspend).
18 18
19Namely, as the first step of the hibernation procedure the function 19Namely, as the first step of the hibernation procedure the function
20freeze_processes() (defined in kernel/power/process.c) is called. It executes 20freeze_processes() (defined in kernel/power/process.c) is called. A system-wide
21try_to_freeze_tasks() that sets TIF_FREEZE for all of the freezable tasks and 21variable system_freezing_cnt (as opposed to a per-task flag) is used to indicate
22either wakes them up, if they are kernel threads, or sends fake signals to them, 22whether the system is to undergo a freezing operation. And freeze_processes()
23if they are user space processes. A task that has TIF_FREEZE set, should react 23sets this variable. After this, it executes try_to_freeze_tasks() that sends a
24to it by calling the function called __refrigerator() (defined in 24fake signal to all user space processes, and wakes up all the kernel threads.
25kernel/freezer.c), which sets the task's PF_FROZEN flag, changes its state 25All freezable tasks must react to that by calling try_to_freeze(), which
26to TASK_UNINTERRUPTIBLE and makes it loop until PF_FROZEN is cleared for it. 26results in a call to __refrigerator() (defined in kernel/freezer.c), which sets
27Then, we say that the task is 'frozen' and therefore the set of functions 27the task's PF_FROZEN flag, changes its state to TASK_UNINTERRUPTIBLE and makes
28handling this mechanism is referred to as 'the freezer' (these functions are 28it loop until PF_FROZEN is cleared for it. Then, we say that the task is
29defined in kernel/power/process.c, kernel/freezer.c & include/linux/freezer.h). 29'frozen' and therefore the set of functions handling this mechanism is referred
30User space processes are generally frozen before kernel threads. 30to as 'the freezer' (these functions are defined in kernel/power/process.c,
31kernel/freezer.c & include/linux/freezer.h). User space processes are generally
32frozen before kernel threads.
31 33
32__refrigerator() must not be called directly. Instead, use the 34__refrigerator() must not be called directly. Instead, use the
33try_to_freeze() function (defined in include/linux/freezer.h), that checks 35try_to_freeze() function (defined in include/linux/freezer.h), that checks
34the task's TIF_FREEZE flag and makes the task enter __refrigerator() if the 36if the task is to be frozen and makes the task enter __refrigerator().
35flag is set.
36 37
37For user space processes try_to_freeze() is called automatically from the 38For user space processes try_to_freeze() is called automatically from the
38signal-handling code, but the freezable kernel threads need to call it 39signal-handling code, but the freezable kernel threads need to call it
39explicitly in suitable places or use the wait_event_freezable() or 40explicitly in suitable places or use the wait_event_freezable() or
40wait_event_freezable_timeout() macros (defined in include/linux/freezer.h) 41wait_event_freezable_timeout() macros (defined in include/linux/freezer.h)
41that combine interruptible sleep with checking if TIF_FREEZE is set and calling 42that combine interruptible sleep with checking if the task is to be frozen and
42try_to_freeze(). The main loop of a freezable kernel thread may look like the 43calling try_to_freeze(). The main loop of a freezable kernel thread may look
43following one: 44like the following one:
44 45
45 set_freezable(); 46 set_freezable();
46 do { 47 do {
@@ -53,7 +54,7 @@ following one:
53(from drivers/usb/core/hub.c::hub_thread()). 54(from drivers/usb/core/hub.c::hub_thread()).
54 55
55If a freezable kernel thread fails to call try_to_freeze() after the freezer has 56If a freezable kernel thread fails to call try_to_freeze() after the freezer has
56set TIF_FREEZE for it, the freezing of tasks will fail and the entire 57initiated a freezing operation, the freezing of tasks will fail and the entire
57hibernation operation will be cancelled. For this reason, freezable kernel 58hibernation operation will be cancelled. For this reason, freezable kernel
58threads must call try_to_freeze() somewhere or use one of the 59threads must call try_to_freeze() somewhere or use one of the
59wait_event_freezable() and wait_event_freezable_timeout() macros. 60wait_event_freezable() and wait_event_freezable_timeout() macros.
diff --git a/Documentation/power/regulator/regulator.txt b/Documentation/power/regulator/regulator.txt
index e272d9909e39..13902778ae44 100644
--- a/Documentation/power/regulator/regulator.txt
+++ b/Documentation/power/regulator/regulator.txt
@@ -11,8 +11,7 @@ Registration
11Drivers can register a regulator by calling :- 11Drivers can register a regulator by calling :-
12 12
13struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, 13struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc,
14 struct device *dev, struct regulator_init_data *init_data, 14 const struct regulator_config *config);
15 void *driver_data, struct device_node *of_node);
16 15
17This will register the regulators capabilities and operations to the regulator 16This will register the regulators capabilities and operations to the regulator
18core. 17core.
diff --git a/Documentation/security/keys.txt b/Documentation/security/keys.txt
index 787717091421..d389acd31e19 100644
--- a/Documentation/security/keys.txt
+++ b/Documentation/security/keys.txt
@@ -123,7 +123,7 @@ KEY SERVICE OVERVIEW
123 123
124The key service provides a number of features besides keys: 124The key service provides a number of features besides keys:
125 125
126 (*) The key service defines two special key types: 126 (*) The key service defines three special key types:
127 127
128 (+) "keyring" 128 (+) "keyring"
129 129
@@ -137,6 +137,18 @@ The key service provides a number of features besides keys:
137 blobs of data. These can be created, updated and read by userspace, 137 blobs of data. These can be created, updated and read by userspace,
138 and aren't intended for use by kernel services. 138 and aren't intended for use by kernel services.
139 139
140 (+) "logon"
141
142 Like a "user" key, a "logon" key has a payload that is an arbitrary
143 blob of data. It is intended as a place to store secrets which are
144 accessible to the kernel but not to userspace programs.
145
146 The description can be arbitrary, but must be prefixed with a non-zero
147 length string that describes the key "subclass". The subclass is
148 separated from the rest of the description by a ':'. "logon" keys can
149 be created and updated from userspace, but the payload is only
150 readable from kernel space.
151
140 (*) Each process subscribes to three keyrings: a thread-specific keyring, a 152 (*) Each process subscribes to three keyrings: a thread-specific keyring, a
141 process-specific keyring, and a session-specific keyring. 153 process-specific keyring, and a session-specific keyring.
142 154
diff --git a/Documentation/sparc/README-2.5 b/Documentation/sparc/README-2.5
deleted file mode 100644
index 806fe490a56d..000000000000
--- a/Documentation/sparc/README-2.5
+++ /dev/null
@@ -1,46 +0,0 @@
1BTFIXUP
2-------
3
4To build new kernels you have to issue "make image". The ready kernel
5in ELF format is placed in arch/sparc/boot/image. Explanation is below.
6
7BTFIXUP is a unique feature of Linux/sparc among other architectures,
8developed by Jakub Jelinek (I think... Obviously David S. Miller took
9part, too). It allows to boot the same kernel at different
10sub-architectures, such as sun4c, sun4m, sun4d, where SunOS uses
11different kernels. This feature is convinient for people who you move
12disks between boxes and for distrution builders.
13
14To function, BTFIXUP must link the kernel "in the draft" first,
15analyze the result, write a special stub code based on that, and
16build the final kernel with the stub (btfix.o).
17
18Kai Germaschewski improved the build system of the kernel in the 2.5 series
19significantly. Unfortunately, the traditional way of running the draft
20linking from architecture specific Makefile before the actual linking
21by generic Makefile is nearly impossible to support properly in the
22new build system. Therefore, the way we integrate BTFIXUP with the
23build system was changed in 2.5.40. Now, generic Makefile performs
24the draft linking and stores the result in file vmlinux. Architecture
25specific post-processing invokes BTFIXUP machinery and final linking
26in the same way as other architectures do bootstraps.
27
28Implications of that change are as follows.
29
301. Hackers must type "make image" now, instead of just "make", in the same
31 way as s390 people do now. It is analogous to "make bzImage" on i386.
32 This does NOT affect sparc64, you continue to use "make" to build sparc64
33 kernels.
34
352. vmlinux is not the final kernel, so RPM builders have to adjust
36 their spec files (if they delivered vmlinux for debugging).
37 System.map generated for vmlinux is still valid.
38
393. Scripts that produce a.out images have to be changed. First, if they
40 invoke make, they have to use "make image". Second, they have to pick up
41 the new kernel in arch/sparc/boot/image instead of vmlinux.
42
434. Since we are compliant with Kai's build system now, make -j is permitted.
44
45-- Pete Zaitcev
46zaitcev@yahoo.com
diff --git a/Documentation/sysctl/net.txt b/Documentation/sysctl/net.txt
index 3201a7097e4d..98335b7a5337 100644
--- a/Documentation/sysctl/net.txt
+++ b/Documentation/sysctl/net.txt
@@ -43,6 +43,13 @@ Values :
43 1 - enable the JIT 43 1 - enable the JIT
44 2 - enable the JIT and ask the compiler to emit traces on kernel log. 44 2 - enable the JIT and ask the compiler to emit traces on kernel log.
45 45
46dev_weight
47--------------
48
49The maximum number of packets that kernel can handle on a NAPI interrupt,
50it's a Per-CPU variable.
51Default: 64
52
46rmem_default 53rmem_default
47------------ 54------------
48 55