diff options
Diffstat (limited to 'Documentation')
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 @@ | |||
1 | What: ip_queue | ||
2 | Date: finally removed in kernel v3.5.0 | ||
3 | Contact: Pablo Neira Ayuso <pablo@netfilter.org> | ||
4 | Description: | ||
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 | |||
9 | Users: | ||
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 @@ | |||
1 | What: /sys/bus/hsi | ||
2 | Date: April 2012 | ||
3 | KernelVersion: 3.4 | ||
4 | Contact: Carlos Chinea <carlos.chinea@nokia.com> | ||
5 | Description: | ||
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 | |||
14 | What: /sys/bus/hsi/devices/.../modalias | ||
15 | Date: April 2012 | ||
16 | KernelVersion: 3.4 | ||
17 | Contact: Carlos Chinea <carlos.chinea@nokia.com> | ||
18 | Description: 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 | ||
17 | What: /sys/class/net/<mesh_iface>/mesh/bridge_loop_avoidance | ||
18 | Date: November 2011 | ||
19 | Contact: Simon Wunderlich <siwu@hrz.tu-chemnitz.de> | ||
20 | Description: | ||
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 | |||
17 | What: /sys/class/net/<mesh_iface>/mesh/fragmentation | 26 | What: /sys/class/net/<mesh_iface>/mesh/fragmentation |
18 | Date: October 2010 | 27 | Date: October 2010 |
19 | Contact: Andreas Langer <an.langer@gmx.de> | 28 | Contact: 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 | |||
3 | ARM Cortex-A7 and Cortex-A15 have a per-core architected timer, which | ||
4 | provides per-cpu timers. | ||
5 | |||
6 | The 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 | |||
17 | Example: | ||
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 | ||
3 | SATA nodes are defined to describe on-chip Serial ATA controllers. | 3 | SATA nodes are defined to describe on-chip Serial ATA controllers. |
4 | Each SATA controller should have its own node. | 4 | Each SATA controller should have its own node. |
5 | 5 | ||
6 | Required properties: | 6 | Required 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 @@ | |||
1 | Properties for an MDIO bus multiplexer/switch controlled by GPIO pins. | ||
2 | |||
3 | This is a special case of a MDIO bus multiplexer. One or more GPIO | ||
4 | lines are used to control which child bus is connected. | ||
5 | |||
6 | Required 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 | |||
12 | Example : | ||
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 @@ | |||
1 | Common MDIO bus multiplexer/switch properties. | ||
2 | |||
3 | An MDIO bus multiplexer/switch will have several child busses that are | ||
4 | numbered uniquely in a device dependent manner. The nodes for an MDIO | ||
5 | bus multiplexer/switch will have one child node for each child bus. | ||
6 | |||
7 | Required properties: | ||
8 | - mdio-parent-bus : phandle to the parent MDIO bus. | ||
9 | - #address-cells = <1>; | ||
10 | - #size-cells = <0>; | ||
11 | |||
12 | Optional properties: | ||
13 | - Other properties specific to the multiplexer/switch hardware. | ||
14 | |||
15 | Required properties for child nodes: | ||
16 | - #address-cells = <1>; | ||
17 | - #size-cells = <0>; | ||
18 | - reg : The sub-bus number. | ||
19 | |||
20 | |||
21 | Example : | ||
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 |
10 | If this property is missing, the default assumed is Active low. | 10 | If 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 | ||
12 | Any property defined as part of the core regulator | 14 | Any property defined as part of the core regulator |
13 | binding, defined in regulator.txt, can also be used. | 15 | binding, 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 @@ | |||
1 | TPS62360 Voltage regulators | ||
2 | |||
3 | Required 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 | |||
11 | Optional 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 | |||
25 | Any property defined as part of the core regulator binding, defined in | ||
26 | regulator.txt, can also be used. | ||
27 | |||
28 | Example: | ||
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 @@ | |||
1 | TPS6586x family of regulators | ||
2 | |||
3 | Required 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 | |||
12 | Each regulator is defined using the standard binding for regulators. | ||
13 | |||
14 | Example: | ||
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 @@ | |||
3 | Required properties: | 3 | Required properties: |
4 | - compatible : "fsl,sgtl5000". | 4 | - compatible : "fsl,sgtl5000". |
5 | 5 | ||
6 | - reg : the I2C address of the device | ||
7 | |||
6 | Example: | 8 | Example: |
7 | 9 | ||
8 | codec: sgtl5000@0a { | 10 | codec: 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 | ||
280 | CLOCK | ||
281 | devm_clk_get() | ||
282 | devm_clk_put() | ||
283 | |||
280 | PINCTRL | 284 | PINCTRL |
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 | |||
539 | Why: setitimer is not returning -EFAULT if user pointer is NULL. This | 539 | Why: setitimer is not returning -EFAULT if user pointer is NULL. This |
540 | violates the spec. | 540 | violates the spec. |
541 | Who: Sasikantha Babu <sasikanth.v19@gmail.com> | 541 | Who: Sasikantha Babu <sasikanth.v19@gmail.com> |
542 | |||
543 | ---------------------------- | ||
544 | |||
545 | What: V4L2_CID_HCENTER, V4L2_CID_VCENTER V4L2 controls | ||
546 | When: 3.7 | ||
547 | Why: 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. | ||
551 | Who: 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 @@ | |||
1 | 00-INDEX | 1 | 00-INDEX |
2 | - this file | 2 | - this file |
3 | 3c359.txt | ||
4 | - information on the 3Com TokenLink Velocity XL (3c5359) driver. | ||
5 | 3c505.txt | 3 | 3c505.txt |
6 | - information on the 3Com EtherLink Plus (3c505) driver. | 4 | - information on the 3Com EtherLink Plus (3c505) driver. |
7 | 3c509.txt | 5 | 3c509.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_*). |
143 | nfc.txt | 141 | nfc.txt |
144 | - The Linux Near Field Communication (NFS) subsystem. | 142 | - The Linux Near Field Communication (NFS) subsystem. |
145 | olympic.txt | ||
146 | - IBM PCI Pit/Pit-Phy/Olympic Token Ring driver info. | ||
147 | openvswitch.txt | 143 | openvswitch.txt |
148 | - Open vSwitch developer documentation. | 144 | - Open vSwitch developer documentation. |
149 | operstates.txt | 145 | operstates.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. |
185 | smc9.txt | 181 | smc9.txt |
186 | - the driver for SMC's 9000 series of Ethernet cards | 182 | - the driver for SMC's 9000 series of Ethernet cards |
187 | smctr.txt | ||
188 | - SMC TokenCard TokenRing Linux driver info. | ||
189 | spider-net.txt | 183 | spider-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). |
191 | stmmac.txt | 185 | stmmac.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. |
201 | tlan.txt | 195 | tlan.txt |
202 | - ThunderLAN (Compaq Netelligent 10/100, Olicom OC-2xxx) driver info. | 196 | - ThunderLAN (Compaq Netelligent 10/100, Olicom OC-2xxx) driver info. |
203 | tms380tr.txt | ||
204 | - SysKonnect Token Ring ISA/PCI adapter driver info. | ||
205 | tproxy.txt | 197 | tproxy.txt |
206 | - Transparent proxy support user guide. | 198 | - Transparent proxy support user guide. |
207 | tuntap.txt | 199 | tuntap.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 | |||
2 | 3COM PCI TOKEN LINK VELOCITY XL TOKEN RING CARDS README | ||
3 | |||
4 | Release 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 | |||
11 | Thanks: | ||
12 | Terry Murphy from 3Com for tech docs and support, | ||
13 | Adam D. Ligas for testing the driver. | ||
14 | |||
15 | Note: | ||
16 | This driver will NOT work with the 3C339 Token Ring cards, you need | ||
17 | to use the tms380 driver instead. | ||
18 | |||
19 | Options: | ||
20 | |||
21 | The driver accepts three options: ringspeed, pkt_buf_sz and message_level. | ||
22 | |||
23 | These options can be specified differently for each card found. | ||
24 | |||
25 | ringspeed: Has one of three settings 0 (default), 4 or 16. 0 will | ||
26 | make the card autosense the ringspeed and join at the appropriate speed, | ||
27 | this will be the default option for most people. 4 or 16 allow you to | ||
28 | explicitly force the card to operate at a certain speed. The card will fail | ||
29 | if you try to insert it at the wrong speed. (Although some hubs will allow | ||
30 | this so be *very* careful). The main purpose for explicitly setting the ring | ||
31 | speed is for when the card is first on the ring. In autosense mode, if the card | ||
32 | cannot detect any active monitors on the ring it will open at the same speed as | ||
33 | its last opening. This can be hazardous if this speed does not match the speed | ||
34 | you want the ring to operate at. | ||
35 | |||
36 | pkt_buf_sz: This is this initial receive buffer allocation size. This will | ||
37 | default to 4096 if no value is entered. You may increase performance of the | ||
38 | driver by setting this to a value larger than the network packet size, although | ||
39 | the driver now re-sizes buffers based on MTU settings as well. | ||
40 | |||
41 | message_level: Controls level of messages created by the driver. Defaults to 0: | ||
42 | which only displays start-up and critical messages. Presently any non-zero | ||
43 | value will display all soft messages as well. NB This does not turn | ||
44 | debugging messages on, that must be done by modified the source code. | ||
45 | |||
46 | Variable MTU size: | ||
47 | |||
48 | The driver can handle a MTU size up to either 4500 or 18000 depending upon | ||
49 | ring speed. The driver also changes the size of the receive buffers as part | ||
50 | of the mtu re-sizing, so if you set mtu = 18000, you will need to be able | ||
51 | to allocate 16 * (sk_buff with 18000 buffer size) call it 18500 bytes per ring | ||
52 | position = 296,000 bytes of memory space, plus of course anything | ||
53 | necessary for the tx sk_buff's. Remember this is per card, so if you are | ||
54 | building routers, gateway's etc, you could start to use a lot of memory | ||
55 | real fast. | ||
56 | |||
57 | 2/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 | ||
31 | Large portions of this documentation were heavily borrowed from the guide | 30 | Large 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 | |||
3 | BATMAN-ADV | 1 | BATMAN-ADV |
4 | ---------- | 2 | ---------- |
5 | 3 | ||
@@ -67,18 +65,19 @@ To deactivate an interface you have to write "none" into its | |||
67 | All mesh wide settings can be found in batman's own interface | 65 | All mesh wide settings can be found in batman's own interface |
68 | folder: | 66 | folder: |
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 | ||
76 | There is a special folder for debugging information: | 76 | There 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 | ||
83 | Some of the files contain all sort of status information regard- | 82 | Some of the files contain all sort of status information regard- |
84 | ing the mesh network. For example, you can view the table of | 83 | ing the mesh network. For example, you can view the table of |
@@ -202,12 +201,13 @@ abled during run time. Following log_levels are defined: | |||
202 | 1 - Enable messages related to routing / flooding / broadcasting | 201 | 1 - Enable messages related to routing / flooding / broadcasting |
203 | 2 - Enable messages related to route added / changed / deleted | 202 | 2 - Enable messages related to route added / changed / deleted |
204 | 4 - Enable messages related to translation table operations | 203 | 4 - Enable messages related to translation table operations |
205 | 7 - Enable all messages | 204 | 8 - Enable messages related to bridge loop avoidance |
205 | 15 - enable all messages | ||
206 | 206 | ||
207 | The debug output can be changed at runtime using the file | 207 | The 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 | ||
212 | will enable debug messages for when routes change. | 212 | will 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 | ||
12 | The intent is to enable the use of different models of FORE adapters at the | 12 | The intent is to enable the use of different models of FORE adapters at the |
13 | same time, by hosts that have several bus interfaces (such as PCI+SBUS, | 13 | same time, by hosts that have several bus interfaces (such as PCI+SBUS, |
14 | PCI+MCA or PCI+EISA). | 14 | or PCI+EISA). |
15 | 15 | ||
16 | Only PCI and SBUS devices are currently supported by the driver, but support | 16 | Only PCI and SBUS devices are currently supported by the driver, but support |
17 | for other bus interfaces such as EISA should not be too hard to add (this may | 17 | for other bus interfaces such as EISA should not be too hard to add. |
18 | be more tricky for the MCA bus, though, as FORE made some MCA-specific | ||
19 | modifications to the adapter's AALI interface). | ||
20 | 18 | ||
21 | 19 | ||
22 | Firmware Copyright Notice | 20 | Firmware 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 | ||
5 | Introduction | 5 | Introduction |
6 | ============ | 6 | ============ |
7 | The IEEE 802.15.4 working group focuses on standartization of bottom | ||
8 | two layers: Medium Accsess Control (MAC) and Physical (PHY). And there | ||
9 | are 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 | ||
8 | The Linux-ZigBee project goal is to provide complete implementation | 13 | The Linux-ZigBee project goal is to provide complete implementation |
9 | of IEEE 802.15.4 / ZigBee / 6LoWPAN protocols. IEEE 802.15.4 is a stack | 14 | of IEEE 802.15.4 and 6LoWPAN protocols. IEEE 802.15.4 is a stack |
10 | of protocols for organizing Low-Rate Wireless Personal Area Networks. | 15 | of protocols for organizing Low-Rate Wireless Personal Area Networks. |
11 | 16 | ||
12 | Currently only IEEE 802.15.4 layer is implemented. We have chosen | 17 | The stack is composed of three main parts: |
13 | to 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, |
14 | to 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 |
15 | for 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 | ||
18 | Socket API | 25 | Socket API |
@@ -29,15 +36,6 @@ or git tree at git://linux-zigbee.git.sourceforge.net/gitroot/linux-zigbee). | |||
29 | One can use SOCK_RAW for passing raw data towards device xmit function. YMMV. | 36 | One can use SOCK_RAW for passing raw data towards device xmit function. YMMV. |
30 | 37 | ||
31 | 38 | ||
32 | MLME - MAC Level Management | ||
33 | ============================ | ||
34 | |||
35 | Most of IEEE 802.15.4 MLME interfaces are directly mapped on netlink commands. | ||
36 | See the include/net/nl802154.h header. Our userspace tools package | ||
37 | (see above) provides CLI configuration utility for radio interfaces and simple | ||
38 | coordinator for IEEE 802.15.4 networks as an example users of MLME protocol. | ||
39 | |||
40 | |||
41 | Kernel side | 39 | Kernel side |
42 | ============= | 40 | ============= |
43 | 41 | ||
@@ -51,6 +49,15 @@ Like with WiFi, there are several types of devices implementing IEEE 802.15.4. | |||
51 | Those types of devices require different approach to be hooked into Linux kernel. | 49 | Those types of devices require different approach to be hooked into Linux kernel. |
52 | 50 | ||
53 | 51 | ||
52 | MLME - MAC Level Management | ||
53 | ============================ | ||
54 | |||
55 | Most of IEEE 802.15.4 MLME interfaces are directly mapped on netlink commands. | ||
56 | See the include/net/nl802154.h header. Our userspace tools package | ||
57 | (see above) provides CLI configuration utility for radio interfaces and simple | ||
58 | coordinator for IEEE 802.15.4 networks as an example users of MLME protocol. | ||
59 | |||
60 | |||
54 | HardMAC | 61 | HardMAC |
55 | ======= | 62 | ======= |
56 | 63 | ||
@@ -73,11 +80,47 @@ We provide an example of simple HardMAC driver at drivers/ieee802154/fakehard.c | |||
73 | SoftMAC | 80 | SoftMAC |
74 | ======= | 81 | ======= |
75 | 82 | ||
76 | We are going to provide intermediate layer implementing IEEE 802.15.4 MAC | 83 | The MAC is the middle layer in the IEEE 802.15.4 Linux stack. This moment it |
77 | in software. This is currently WIP. | 84 | provides interface for drivers registration and management of slave interfaces. |
85 | |||
86 | NOTE: Currently the only monitor device type is supported - it's IEEE 802.15.4 | ||
87 | stack interface for network sniffers (e.g. WireShark). | ||
88 | |||
89 | This layer is going to be extended soon. | ||
78 | 90 | ||
79 | See header include/net/mac802154.h and several drivers in drivers/ieee802154/. | 91 | See header include/net/mac802154.h and several drivers in drivers/ieee802154/. |
80 | 92 | ||
93 | |||
94 | Device drivers API | ||
95 | ================== | ||
96 | |||
97 | The 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 | |||
111 | Moreover IEEE 802.15.4 device operations structure should be filled. | ||
112 | |||
113 | Fake drivers | ||
114 | ============ | ||
115 | |||
116 | In addition there are two drivers available which simulate real devices with | ||
117 | HardMAC (fakehard) and SoftMAC (fakelb - IEEE 802.15.4 loopback driver) | ||
118 | interfaces. This option provides possibility to test and debug stack without | ||
119 | usage of real hardware. | ||
120 | |||
121 | See sources in drivers/ieee802154 folder for more details. | ||
122 | |||
123 | |||
81 | 6LoWPAN Linux implementation | 124 | 6LoWPAN 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 | ||
152 | tcp_allowed_congestion_control - STRING | 152 | tcp_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 | |||
190 | tcp_dsack - BOOLEAN | 190 | tcp_dsack - BOOLEAN |
191 | Allows TCP to send "duplicate" SACKs. | 191 | Allows TCP to send "duplicate" SACKs. |
192 | 192 | ||
193 | tcp_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 | |||
193 | tcp_ecn - INTEGER | 207 | tcp_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 | ||
415 | tcp_sack - BOOLEAN | 429 | tcp_sack - BOOLEAN |
416 | Enable select acknowledgments (SACKS). | 430 | Enable select acknowledgments (SACKS). |
@@ -1287,13 +1301,22 @@ bridge-nf-call-ip6tables - BOOLEAN | |||
1287 | bridge-nf-filter-vlan-tagged - BOOLEAN | 1301 | bridge-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 | ||
1292 | bridge-nf-filter-pppoe-tagged - BOOLEAN | 1306 | bridge-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 | ||
1311 | bridge-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 | ||
1298 | proc/sys/net/sctp/* Variables: | 1321 | proc/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/* |
1487 | dev_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/* |
1494 | max_dgram_qlen - INTEGER | 1514 | max_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 | |||
23 | end note | 23 | end note |
24 | end | 24 | end |
25 | 25 | ||
26 | mac80211->driver: config(channel, non-HT) | 26 | mac80211->driver: config(channel, channel type) |
27 | mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap) | 27 | mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap) |
28 | mac80211->driver: sta_state(AP, exists) | 28 | mac80211->driver: sta_state(AP, exists) |
29 | 29 | ||
@@ -51,7 +51,7 @@ note over mac80211,driver: cleanup like for authenticate | |||
51 | end | 51 | end |
52 | 52 | ||
53 | alt not previously authenticated (FT) | 53 | alt not previously authenticated (FT) |
54 | mac80211->driver: config(channel, non-HT) | 54 | mac80211->driver: config(channel, channel type) |
55 | mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap) | 55 | mac80211->driver: bss_info_changed(set BSSID, basic rate bitmap) |
56 | mac80211->driver: sta_state(AP, exists) | 56 | mac80211->driver: sta_state(AP, exists) |
57 | mac80211->driver: sta_state(AP, authenticated) | 57 | mac80211->driver: sta_state(AP, authenticated) |
@@ -67,10 +67,6 @@ end | |||
67 | 67 | ||
68 | mac80211->driver: set up QoS parameters | 68 | mac80211->driver: set up QoS parameters |
69 | 69 | ||
70 | alt is HT channel | ||
71 | mac80211->driver: config(channel, HT params) | ||
72 | end | ||
73 | |||
74 | mac80211->driver: bss_info_changed(QoS, HT, associated with AID) | 70 | mac80211->driver: bss_info_changed(QoS, HT, associated with AID) |
75 | mac80211->userspace: associated | 71 | mac80211->userspace: associated |
76 | 72 | ||
@@ -95,5 +91,5 @@ mac80211->driver: sta_state(AP,exists) | |||
95 | mac80211->driver: sta_state(AP,not-exists) | 91 | mac80211->driver: sta_state(AP,not-exists) |
96 | mac80211->driver: turn off powersave | 92 | mac80211->driver: turn off powersave |
97 | mac80211->driver: bss_info_changed(clear BSSID, not associated, no QoS, ...) | 93 | mac80211->driver: bss_info_changed(clear BSSID, not associated, no QoS, ...) |
98 | mac80211->driver: config(non-HT channel type) | 94 | mac80211->driver: config(channel type to non-HT) |
99 | mac80211->userspace: disconnected | 95 | mac80211->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 | |||
2 | IBM PCI Pit/Pit-Phy/Olympic CHIPSET BASED TOKEN RING CARDS README | ||
3 | |||
4 | Release 0.2.0 - Release | ||
5 | June 8th 1999 Peter De Schrijver & Mike Phillips | ||
6 | Release 0.9.C - Release | ||
7 | April 18th 2001 Mike Phillips | ||
8 | |||
9 | Thanks: | ||
10 | Erik De Cock, Adrian Bridgett and Frank Fiene for their | ||
11 | patience and testing. | ||
12 | Donald Champion for the cardbus support | ||
13 | Kyle Lucke for the dma api changes. | ||
14 | Jonathon Bitner for hardware support. | ||
15 | Everybody on linux-tr for their continued support. | ||
16 | |||
17 | Options: | ||
18 | |||
19 | The driver accepts four options: ringspeed, pkt_buf_sz, | ||
20 | message_level and network_monitor. | ||
21 | |||
22 | These options can be specified differently for each card found. | ||
23 | |||
24 | ringspeed: Has one of three settings 0 (default), 4 or 16. 0 will | ||
25 | make the card autosense the ringspeed and join at the appropriate speed, | ||
26 | this will be the default option for most people. 4 or 16 allow you to | ||
27 | explicitly force the card to operate at a certain speed. The card will fail | ||
28 | if you try to insert it at the wrong speed. (Although some hubs will allow | ||
29 | this so be *very* careful). The main purpose for explicitly setting the ring | ||
30 | speed is for when the card is first on the ring. In autosense mode, if the card | ||
31 | cannot detect any active monitors on the ring it will not open, so you must | ||
32 | re-init the card at the appropriate speed. Unfortunately at present the only | ||
33 | way of doing this is rmmod and insmod which is a bit tough if it is compiled | ||
34 | in the kernel. | ||
35 | |||
36 | pkt_buf_sz: This is this initial receive buffer allocation size. This will | ||
37 | default to 4096 if no value is entered. You may increase performance of the | ||
38 | driver by setting this to a value larger than the network packet size, although | ||
39 | the driver now re-sizes buffers based on MTU settings as well. | ||
40 | |||
41 | message_level: Controls level of messages created by the driver. Defaults to 0: | ||
42 | which only displays start-up and critical messages. Presently any non-zero | ||
43 | value will display all soft messages as well. NB This does not turn | ||
44 | debugging messages on, that must be done by modified the source code. | ||
45 | |||
46 | network_monitor: Any non-zero value will provide a quasi network monitoring | ||
47 | mode. All unexpected MAC frames (beaconing etc.) will be received | ||
48 | by the driver and the source and destination addresses printed. | ||
49 | Also an entry will be added in /proc/net called olympic_tr%d, where tr%d | ||
50 | is the registered device name, i.e tr0, tr1, etc. This displays low | ||
51 | level information about the configuration of the ring and the adapter. | ||
52 | This feature has been designed for network administrators to assist in | ||
53 | the diagnosis of network / ring problems. (This used to OLYMPIC_NETWORK_MONITOR, | ||
54 | but has now changed to allow each adapter to be configured differently and | ||
55 | to alleviate the necessity to re-compile olympic to turn the option on). | ||
56 | |||
57 | Multi-card: | ||
58 | |||
59 | The driver will detect multiple cards and will work with shared interrupts, | ||
60 | each card is assigned the next token ring device, i.e. tr0 , tr1, tr2. The | ||
61 | driver should also happily reside in the system with other drivers. It has | ||
62 | been tested with ibmtr.c running, and I personally have had one Olicom PCI | ||
63 | card and two IBM olympic cards (all on the same interrupt), all running | ||
64 | together. | ||
65 | |||
66 | Variable MTU size: | ||
67 | |||
68 | The driver can handle a MTU size up to either 4500 or 18000 depending upon | ||
69 | ring speed. The driver also changes the size of the receive buffers as part | ||
70 | of the mtu re-sizing, so if you set mtu = 18000, you will need to be able | ||
71 | to allocate 16 * (sk_buff with 18000 buffer size) call it 18500 bytes per ring | ||
72 | position = 296,000 bytes of memory space, plus of course anything | ||
73 | necessary for the tx sk_buff's. Remember this is per card, so if you are | ||
74 | building routers, gateway's etc, you could start to use a lot of memory | ||
75 | real fast. | ||
76 | |||
77 | |||
78 | 6/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 @@ | |||
1 | Text File for the SMC TokenCard TokenRing Linux driver (smctr.c). | ||
2 | By Jay Schulist <jschlst@samba.org> | ||
3 | |||
4 | The Linux SMC Token Ring driver works with the SMC TokenCard Elite (8115T) | ||
5 | ISA and SMC TokenCard Elite/A (8115T/A) MCA adapters. | ||
6 | |||
7 | Latest information on this driver can be obtained on the Linux-SNA WWW site. | ||
8 | Please point your browser to: http://www.linux-sna.org | ||
9 | |||
10 | This driver is rather simple to use. Select Y to Token Ring adapter support | ||
11 | in the kernel configuration. A choice for SMC Token Ring adapters will | ||
12 | appear. This drives supports all SMC ISA/MCA adapters. Choose this | ||
13 | option. I personally recommend compiling the driver as a module (M), but if you | ||
14 | you would like to compile it statically answer Y instead. | ||
15 | |||
16 | This driver supports multiple adapters without the need to load multiple copies | ||
17 | of the driver. You should be able to load up to 7 adapters without any kernel | ||
18 | modifications, if you are in need of more please contact the maintainer of this | ||
19 | driver. | ||
20 | |||
21 | Load the driver either by lilo/loadlin or as a module. When a module using the | ||
22 | following command will suffice for most: | ||
23 | |||
24 | # modprobe smctr | ||
25 | smctr.c: v1.00 12/6/99 by jschlst@samba.org | ||
26 | tr0: SMC TokenCard 8115T at Io 0x300, Irq 10, Rom 0xd8000, Ram 0xcc000. | ||
27 | |||
28 | Now just setup the device via ifconfig and set and routes you may have. After | ||
29 | this you are ready to start sending some tokens. | ||
30 | |||
31 | Errata: | ||
32 | 1). For anyone wondering where to pick up the SMC adapters please browse | ||
33 | to http://www.smc.com | ||
34 | |||
35 | 2). 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 | |||
43 | 3). 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 | |||
63 | This driver is under the GNU General Public License. Its Firmware image is | ||
64 | included as an initialized C-array and is licensed by SMC to the Linux | ||
65 | users of this driver. However no warranty about its fitness is expressed or | ||
66 | implied 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 | ||
163 | The we have: | 166 | For 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 | |||
184 | For DMA engine we have the following internal fields that should be | ||
185 | tuned according to the HW capabilities. | ||
186 | |||
187 | struct stmmac_dma_cfg { | ||
188 | int pbl; | ||
189 | int fixed_burst; | ||
190 | int burst_len_supported; | ||
191 | }; | ||
192 | |||
193 | Where: | ||
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 | |||
180 | Below an example how the structures above are using on ST platforms. | 202 | Below 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 @@ | |||
1 | Text file for the Linux SysKonnect Token Ring ISA/PCI Adapter Driver. | ||
2 | Text file by: Jay Schulist <jschlst@samba.org> | ||
3 | |||
4 | The Linux SysKonnect Token Ring driver works with the SysKonnect TR4/16(+) ISA, | ||
5 | SysKonnect TR4/16(+) PCI, SysKonnect TR4/16 PCI, and older revisions of the | ||
6 | SK NET TR4/16 ISA card. | ||
7 | |||
8 | Latest information on this driver can be obtained on the Linux-SNA WWW site. | ||
9 | Please point your browser to: | ||
10 | http://www.linux-sna.org | ||
11 | |||
12 | Many thanks to Christoph Goos for his excellent work on this driver and | ||
13 | SysKonnect for donating the adapters to Linux-SNA for the testing and | ||
14 | maintenance of this device driver. | ||
15 | |||
16 | Important information to be noted: | ||
17 | 1. Adapters can be slow to open (~20 secs) and close (~5 secs), please be | ||
18 | patient. | ||
19 | 2. 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 | |||
23 | This driver is rather simple to use. Select Y to Token Ring adapter support | ||
24 | in the kernel configuration. A choice for SysKonnect Token Ring adapters will | ||
25 | appear. This drives supports all SysKonnect ISA and PCI adapters. Choose this | ||
26 | option. I personally recommend compiling the driver as a module (M), but if you | ||
27 | you would like to compile it statically answer Y instead. | ||
28 | |||
29 | This driver supports multiple adapters without the need to load multiple copies | ||
30 | of the driver. You should be able to load up to 7 adapters without any kernel | ||
31 | modifications, if you are in need of more please contact the maintainer of this | ||
32 | driver. | ||
33 | |||
34 | Load the driver either by lilo/loadlin or as a module. When a module using the | ||
35 | following command will suffice for most: | ||
36 | |||
37 | # modprobe sktr | ||
38 | |||
39 | This will produce output similar to the following: (Output is user specific) | ||
40 | |||
41 | sktr.c: v1.01 08/29/97 by Christoph Goos | ||
42 | tr0: SK NET TR 4/16 PCI found at 0x6100, using IRQ 17. | ||
43 | tr1: SK NET TR 4/16 PCI found at 0x6200, using IRQ 16. | ||
44 | tr2: SK NET TR 4/16 ISA found at 0xa20, using IRQ 10 and DMA 5. | ||
45 | |||
46 | Now just setup the device via ifconfig and set and routes you may have. After | ||
47 | this you are ready to start sending some tokens. | ||
48 | |||
49 | Errata: | ||
50 | For anyone wondering where to pick up the SysKonnect adapters please browse | ||
51 | to http://www.syskonnect.com | ||
52 | |||
53 | This driver is under the GNU General Public License. Its Firmware image is | ||
54 | included as an initialized C-array and is licensed by SysKonnect to the Linux | ||
55 | users of this driver. However no warranty about its fitness is expressed or | ||
56 | implied by SysKonnect. | ||
57 | |||
58 | Below 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 | |||
74 | UÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿ | ||
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 | þ þ | ||
90 | AÄÄÄÄÄÄÄÄÄÄÄÄ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 @@ | |||
1 | HCI backend for NFC Core | ||
2 | |||
3 | Author: Eric Lapuyade, Samuel Ortiz | ||
4 | Contact: eric.lapuyade@intel.com, samuel.ortiz@intel.com | ||
5 | |||
6 | General | ||
7 | ------- | ||
8 | |||
9 | The HCI layer implements much of the ETSI TS 102 622 V10.2.0 specification. It | ||
10 | enables easy writing of HCI-based NFC drivers. The HCI layer runs as an NFC Core | ||
11 | backend, implementing an abstract nfc device and translating NFC Core API | ||
12 | to HCI commands and events. | ||
13 | |||
14 | HCI | ||
15 | --- | ||
16 | |||
17 | HCI registers as an nfc device with NFC Core. Requests coming from userspace are | ||
18 | routed through netlink sockets to NFC Core and then to HCI. From this point, | ||
19 | they are translated in a sequence of HCI commands sent to the HCI layer in the | ||
20 | host controller (the chip). The sending context blocks while waiting for the | ||
21 | response to arrive. | ||
22 | HCI events can also be received from the host controller. They will be handled | ||
23 | and a translation will be forwarded to NFC Core as needed. | ||
24 | HCI uses 2 execution contexts: | ||
25 | - one if for executing commands : nfc_hci_msg_tx_work(). Only one command | ||
26 | can be executing at any given moment. | ||
27 | - one if for dispatching received events and responses : nfc_hci_msg_rx_work() | ||
28 | |||
29 | HCI Session initialization: | ||
30 | --------------------------- | ||
31 | |||
32 | The Session initialization is an HCI standard which must unfortunately | ||
33 | support proprietary gates. This is the reason why the driver will pass a list | ||
34 | of proprietary gates that must be part of the session. HCI will ensure all | ||
35 | those gates have pipes connected when the hci device is set up. | ||
36 | |||
37 | HCI Gates and Pipes | ||
38 | ------------------- | ||
39 | |||
40 | A gate defines the 'port' where some service can be found. In order to access | ||
41 | a service, one must create a pipe to that gate and open it. In this | ||
42 | implementation, pipes are totally hidden. The public API only knows gates. | ||
43 | This is consistent with the driver need to send commands to proprietary gates | ||
44 | without knowing the pipe connected to it. | ||
45 | |||
46 | Driver interface | ||
47 | ---------------- | ||
48 | |||
49 | A driver would normally register itself with HCI and provide the following | ||
50 | entry points: | ||
51 | |||
52 | struct 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 | |||
61 | open() and close() shall turn the hardware on and off. xmit() shall simply | ||
62 | write a frame to the chip. start_poll() is an optional entrypoint that shall | ||
63 | set the hardware in polling mode. This must be implemented only if the hardware | ||
64 | uses proprietary gates or a mechanism slightly different from the HCI standard. | ||
65 | target_from_gate() is another optional entrypoint to return the protocols | ||
66 | corresponding to a proprietary gate. | ||
67 | |||
68 | On the rx path, the driver is responsible to push incoming HCP frames to HCI | ||
69 | using nfc_hci_recv_frame(). HCI will take care of re-aggregation and handling | ||
70 | This must be done from a context that can sleep. | ||
71 | |||
72 | SHDLC | ||
73 | ----- | ||
74 | |||
75 | Most chips use shdlc to ensure integrity and delivery ordering of the HCP | ||
76 | frames between the host controller (the chip) and hosts (entities connected | ||
77 | to the chip, like the cpu). In order to simplify writing the driver, an shdlc | ||
78 | layer is available for use by the driver. | ||
79 | When used, the driver actually registers with shdlc, and shdlc will register | ||
80 | with HCI. HCI sees shdlc as the driver and thus send its HCP frames | ||
81 | through shdlc->xmit. | ||
82 | SHDLC adds a new execution context (nfc_shdlc_sm_work()) to run its state | ||
83 | machine and handle both its rx and tx path. | ||
84 | |||
85 | Included Drivers | ||
86 | ---------------- | ||
87 | |||
88 | An HCI based driver for an NXP PN544, connected through I2C bus, and using | ||
89 | shdlc is included. | ||
90 | |||
91 | Execution Contexts | ||
92 | ------------------ | ||
93 | |||
94 | The execution contexts are the following: | ||
95 | - IRQ handler (IRQH): | ||
96 | fast, cannot sleep. stores incoming frames into an shdlc rx queue | ||
97 | |||
98 | - SHDLC State Machine worker (SMW) | ||
99 | handles shdlc rx & tx queues. Dispatches HCI cmd responses. | ||
100 | |||
101 | - HCI Tx Cmd worker (MSGTXWQ) | ||
102 | Serialize execution of HCI commands. Complete execution in case of resp timeout. | ||
103 | |||
104 | - HCI Rx worker (MSGRXWQ) | ||
105 | Dispatches incoming HCI commands or events. | ||
106 | |||
107 | - Syscall context from a userspace call (SYSCALL) | ||
108 | Any entrypoint in HCI called from NFC Core | ||
109 | |||
110 | Workflow executing an HCI command (using shdlc) | ||
111 | ----------------------------------------------- | ||
112 | |||
113 | Executing an HCI command can easily be performed synchronously using the | ||
114 | following API: | ||
115 | |||
116 | int 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 | |||
119 | The API must be invoked from a context that can sleep. Most of the time, this | ||
120 | will be the syscall context. skb will return the result that was received in | ||
121 | the response. | ||
122 | |||
123 | Internally, execution is asynchronous. So all this API does is to enqueue the | ||
124 | HCI command, setup a local wait queue on stack, and wait_event() for completion. | ||
125 | The wait is not interruptible because it is guaranteed that the command will | ||
126 | complete after some short timeout anyway. | ||
127 | |||
128 | MSGTXWQ context will then be scheduled and invoke nfc_hci_msg_tx_work(). | ||
129 | This function will dequeue the next pending command and send its HCP fragments | ||
130 | to the lower layer which happens to be shdlc. It will then start a timer to be | ||
131 | able to complete the command with a timeout error if no response arrive. | ||
132 | |||
133 | SMW context gets scheduled and invokes nfc_shdlc_sm_work(). This function | ||
134 | handles shdlc framing in and out. It uses the driver xmit to send frames and | ||
135 | receives incoming frames in an skb queue filled from the driver IRQ handler. | ||
136 | SHDLC I(nformation) frames payload are HCP fragments. They are agregated to | ||
137 | form complete HCI frames, which can be a response, command, or event. | ||
138 | |||
139 | HCI Responses are dispatched immediately from this context to unblock | ||
140 | waiting command execution. Reponse processing involves invoking the completion | ||
141 | callback that was provided by nfc_hci_msg_tx_work() when it sent the command. | ||
142 | The completion callback will then wake the syscall context. | ||
143 | |||
144 | Workflow receiving an HCI event or command | ||
145 | ------------------------------------------ | ||
146 | |||
147 | HCI commands or events are not dispatched from SMW context. Instead, they are | ||
148 | queued to HCI rx_queue and will be dispatched from HCI rx worker | ||
149 | context (MSGRXWQ). This is done this way to allow a cmd or event handler | ||
150 | to also execute other commands (for example, handling the | ||
151 | NFC_HCI_EVT_TARGET_DISCOVERED event from PN544 requires to issue an | ||
152 | ANY_GET_PARAMETER to the reader A gate to get information on the target | ||
153 | that was discovered). | ||
154 | |||
155 | Typically, 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 | ||
10 | II. How does it work? | 10 | II. How does it work? |
11 | 11 | ||
12 | There are four per-task flags used for that, PF_NOFREEZE, PF_FROZEN, TIF_FREEZE | 12 | There are three per-task flags used for that, PF_NOFREEZE, PF_FROZEN |
13 | and PF_FREEZER_SKIP (the last one is auxiliary). The tasks that have | 13 | and PF_FREEZER_SKIP (the last one is auxiliary). The tasks that have |
14 | PF_NOFREEZE unset (all user space processes and some kernel threads) are | 14 | PF_NOFREEZE unset (all user space processes and some kernel threads) are |
15 | regarded as 'freezable' and treated in a special way before the system enters a | 15 | regarded 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 | |||
17 | we only consider hibernation, but the description also applies to suspend). | 17 | we only consider hibernation, but the description also applies to suspend). |
18 | 18 | ||
19 | Namely, as the first step of the hibernation procedure the function | 19 | Namely, as the first step of the hibernation procedure the function |
20 | freeze_processes() (defined in kernel/power/process.c) is called. It executes | 20 | freeze_processes() (defined in kernel/power/process.c) is called. A system-wide |
21 | try_to_freeze_tasks() that sets TIF_FREEZE for all of the freezable tasks and | 21 | variable system_freezing_cnt (as opposed to a per-task flag) is used to indicate |
22 | either wakes them up, if they are kernel threads, or sends fake signals to them, | 22 | whether the system is to undergo a freezing operation. And freeze_processes() |
23 | if they are user space processes. A task that has TIF_FREEZE set, should react | 23 | sets this variable. After this, it executes try_to_freeze_tasks() that sends a |
24 | to it by calling the function called __refrigerator() (defined in | 24 | fake signal to all user space processes, and wakes up all the kernel threads. |
25 | kernel/freezer.c), which sets the task's PF_FROZEN flag, changes its state | 25 | All freezable tasks must react to that by calling try_to_freeze(), which |
26 | to TASK_UNINTERRUPTIBLE and makes it loop until PF_FROZEN is cleared for it. | 26 | results in a call to __refrigerator() (defined in kernel/freezer.c), which sets |
27 | Then, we say that the task is 'frozen' and therefore the set of functions | 27 | the task's PF_FROZEN flag, changes its state to TASK_UNINTERRUPTIBLE and makes |
28 | handling this mechanism is referred to as 'the freezer' (these functions are | 28 | it loop until PF_FROZEN is cleared for it. Then, we say that the task is |
29 | defined 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 |
30 | User space processes are generally frozen before kernel threads. | 30 | to as 'the freezer' (these functions are defined in kernel/power/process.c, |
31 | kernel/freezer.c & include/linux/freezer.h). User space processes are generally | ||
32 | frozen 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 |
33 | try_to_freeze() function (defined in include/linux/freezer.h), that checks | 35 | try_to_freeze() function (defined in include/linux/freezer.h), that checks |
34 | the task's TIF_FREEZE flag and makes the task enter __refrigerator() if the | 36 | if the task is to be frozen and makes the task enter __refrigerator(). |
35 | flag is set. | ||
36 | 37 | ||
37 | For user space processes try_to_freeze() is called automatically from the | 38 | For user space processes try_to_freeze() is called automatically from the |
38 | signal-handling code, but the freezable kernel threads need to call it | 39 | signal-handling code, but the freezable kernel threads need to call it |
39 | explicitly in suitable places or use the wait_event_freezable() or | 40 | explicitly in suitable places or use the wait_event_freezable() or |
40 | wait_event_freezable_timeout() macros (defined in include/linux/freezer.h) | 41 | wait_event_freezable_timeout() macros (defined in include/linux/freezer.h) |
41 | that combine interruptible sleep with checking if TIF_FREEZE is set and calling | 42 | that combine interruptible sleep with checking if the task is to be frozen and |
42 | try_to_freeze(). The main loop of a freezable kernel thread may look like the | 43 | calling try_to_freeze(). The main loop of a freezable kernel thread may look |
43 | following one: | 44 | like 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 | ||
55 | If a freezable kernel thread fails to call try_to_freeze() after the freezer has | 56 | If a freezable kernel thread fails to call try_to_freeze() after the freezer has |
56 | set TIF_FREEZE for it, the freezing of tasks will fail and the entire | 57 | initiated a freezing operation, the freezing of tasks will fail and the entire |
57 | hibernation operation will be cancelled. For this reason, freezable kernel | 58 | hibernation operation will be cancelled. For this reason, freezable kernel |
58 | threads must call try_to_freeze() somewhere or use one of the | 59 | threads must call try_to_freeze() somewhere or use one of the |
59 | wait_event_freezable() and wait_event_freezable_timeout() macros. | 60 | wait_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 | |||
11 | Drivers can register a regulator by calling :- | 11 | Drivers can register a regulator by calling :- |
12 | 12 | ||
13 | struct regulator_dev *regulator_register(struct regulator_desc *regulator_desc, | 13 | struct 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 | ||
17 | This will register the regulators capabilities and operations to the regulator | 16 | This will register the regulators capabilities and operations to the regulator |
18 | core. | 17 | core. |
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 | ||
124 | The key service provides a number of features besides keys: | 124 | The 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 @@ | |||
1 | BTFIXUP | ||
2 | ------- | ||
3 | |||
4 | To build new kernels you have to issue "make image". The ready kernel | ||
5 | in ELF format is placed in arch/sparc/boot/image. Explanation is below. | ||
6 | |||
7 | BTFIXUP is a unique feature of Linux/sparc among other architectures, | ||
8 | developed by Jakub Jelinek (I think... Obviously David S. Miller took | ||
9 | part, too). It allows to boot the same kernel at different | ||
10 | sub-architectures, such as sun4c, sun4m, sun4d, where SunOS uses | ||
11 | different kernels. This feature is convinient for people who you move | ||
12 | disks between boxes and for distrution builders. | ||
13 | |||
14 | To function, BTFIXUP must link the kernel "in the draft" first, | ||
15 | analyze the result, write a special stub code based on that, and | ||
16 | build the final kernel with the stub (btfix.o). | ||
17 | |||
18 | Kai Germaschewski improved the build system of the kernel in the 2.5 series | ||
19 | significantly. Unfortunately, the traditional way of running the draft | ||
20 | linking from architecture specific Makefile before the actual linking | ||
21 | by generic Makefile is nearly impossible to support properly in the | ||
22 | new build system. Therefore, the way we integrate BTFIXUP with the | ||
23 | build system was changed in 2.5.40. Now, generic Makefile performs | ||
24 | the draft linking and stores the result in file vmlinux. Architecture | ||
25 | specific post-processing invokes BTFIXUP machinery and final linking | ||
26 | in the same way as other architectures do bootstraps. | ||
27 | |||
28 | Implications of that change are as follows. | ||
29 | |||
30 | 1. 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 | |||
35 | 2. 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 | |||
39 | 3. 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 | |||
43 | 4. Since we are compliant with Kai's build system now, make -j is permitted. | ||
44 | |||
45 | -- Pete Zaitcev | ||
46 | zaitcev@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 | ||
46 | dev_weight | ||
47 | -------------- | ||
48 | |||
49 | The maximum number of packets that kernel can handle on a NAPI interrupt, | ||
50 | it's a Per-CPU variable. | ||
51 | Default: 64 | ||
52 | |||
46 | rmem_default | 53 | rmem_default |
47 | ------------ | 54 | ------------ |
48 | 55 | ||