diff options
Diffstat (limited to 'Documentation')
52 files changed, 1251 insertions, 358 deletions
diff --git a/Documentation/ABI/testing/debugfs-ideapad b/Documentation/ABI/testing/debugfs-ideapad new file mode 100644 index 000000000000..7079c0b21030 --- /dev/null +++ b/Documentation/ABI/testing/debugfs-ideapad | |||
@@ -0,0 +1,19 @@ | |||
1 | What: /sys/kernel/debug/ideapad/cfg | ||
2 | Date: Sep 2011 | ||
3 | KernelVersion: 3.2 | ||
4 | Contact: Ike Panhc <ike.pan@canonical.com> | ||
5 | Description: | ||
6 | |||
7 | cfg shows the return value of _CFG method in VPC2004 device. It tells machine | ||
8 | capability and what graphic component within the machine. | ||
9 | |||
10 | |||
11 | What: /sys/kernel/debug/ideapad/status | ||
12 | Date: Sep 2011 | ||
13 | KernelVersion: 3.2 | ||
14 | Contact: Ike Panhc <ike.pan@canonical.com> | ||
15 | Description: | ||
16 | |||
17 | status shows infos we can read and tells its meaning and value. | ||
18 | |||
19 | |||
diff --git a/Documentation/ABI/testing/sysfs-block b/Documentation/ABI/testing/sysfs-block index c1eb41cb9876..2b5d56127fce 100644 --- a/Documentation/ABI/testing/sysfs-block +++ b/Documentation/ABI/testing/sysfs-block | |||
@@ -206,3 +206,16 @@ Description: | |||
206 | when a discarded area is read the discard_zeroes_data | 206 | when a discarded area is read the discard_zeroes_data |
207 | parameter will be set to one. Otherwise it will be 0 and | 207 | parameter will be set to one. Otherwise it will be 0 and |
208 | the result of reading a discarded area is undefined. | 208 | the result of reading a discarded area is undefined. |
209 | What: /sys/block/<disk>/alias | ||
210 | Date: Aug 2011 | ||
211 | Contact: Nao Nishijima <nao.nishijima.xt@hitachi.com> | ||
212 | Description: | ||
213 | A raw device name of a disk does not always point a same disk | ||
214 | each boot-up time. Therefore, users have to use persistent | ||
215 | device names, which udev creates when the kernel finds a disk, | ||
216 | instead of raw device name. However, kernel doesn't show those | ||
217 | persistent names on its messages (e.g. dmesg). | ||
218 | This file can store an alias of the disk and it would be | ||
219 | appeared in kernel messages if it is set. A disk can have an | ||
220 | alias which length is up to 255bytes. Users can use alphabets, | ||
221 | numbers, "-" and "_" in alias name. This file is writeonce. | ||
diff --git a/Documentation/ABI/testing/sysfs-platform-ideapad-laptop b/Documentation/ABI/testing/sysfs-platform-ideapad-laptop index ff53183c3848..814b01354c41 100644 --- a/Documentation/ABI/testing/sysfs-platform-ideapad-laptop +++ b/Documentation/ABI/testing/sysfs-platform-ideapad-laptop | |||
@@ -5,19 +5,4 @@ Contact: "Ike Panhc <ike.pan@canonical.com>" | |||
5 | Description: | 5 | Description: |
6 | Control the power of camera module. 1 means on, 0 means off. | 6 | Control the power of camera module. 1 means on, 0 means off. |
7 | 7 | ||
8 | What: /sys/devices/platform/ideapad/cfg | ||
9 | Date: Jun 2011 | ||
10 | KernelVersion: 3.1 | ||
11 | Contact: "Ike Panhc <ike.pan@canonical.com>" | ||
12 | Description: | ||
13 | Ideapad capability bits. | ||
14 | Bit 8-10: 1 - Intel graphic only | ||
15 | 2 - ATI graphic only | ||
16 | 3 - Nvidia graphic only | ||
17 | 4 - Intel and ATI graphic | ||
18 | 5 - Intel and Nvidia graphic | ||
19 | Bit 16: Bluetooth exist (1 for exist) | ||
20 | Bit 17: 3G exist (1 for exist) | ||
21 | Bit 18: Wifi exist (1 for exist) | ||
22 | Bit 19: Camera exist (1 for exist) | ||
23 | 8 | ||
diff --git a/Documentation/DocBook/media/dvb/dvbproperty.xml b/Documentation/DocBook/media/dvb/dvbproperty.xml index 207e1a5bf8f0..3bc8a61efe30 100644 --- a/Documentation/DocBook/media/dvb/dvbproperty.xml +++ b/Documentation/DocBook/media/dvb/dvbproperty.xml | |||
@@ -352,6 +352,7 @@ typedef enum fe_delivery_system { | |||
352 | SYS_CMMB, | 352 | SYS_CMMB, |
353 | SYS_DAB, | 353 | SYS_DAB, |
354 | SYS_DVBT2, | 354 | SYS_DVBT2, |
355 | SYS_TURBO, | ||
355 | } fe_delivery_system_t; | 356 | } fe_delivery_system_t; |
356 | </programlisting> | 357 | </programlisting> |
357 | </section> | 358 | </section> |
@@ -809,6 +810,8 @@ typedef enum fe_hierarchy { | |||
809 | <listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem> | 810 | <listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem> |
810 | <listitem><para><link linkend="DTV-SYMBOL-RATE"><constant>DTV_SYMBOL_RATE</constant></link></para></listitem> | 811 | <listitem><para><link linkend="DTV-SYMBOL-RATE"><constant>DTV_SYMBOL_RATE</constant></link></para></listitem> |
811 | <listitem><para><link linkend="DTV-INNER-FEC"><constant>DTV_INNER_FEC</constant></link></para></listitem> | 812 | <listitem><para><link linkend="DTV-INNER-FEC"><constant>DTV_INNER_FEC</constant></link></para></listitem> |
813 | <listitem><para><link linkend="DTV-VOLTAGE"><constant>DTV_VOLTAGE</constant></link></para></listitem> | ||
814 | <listitem><para><link linkend="DTV-TONE"><constant>DTV_TONE</constant></link></para></listitem> | ||
812 | </itemizedlist> | 815 | </itemizedlist> |
813 | <para>Future implementations might add those two missing parameters:</para> | 816 | <para>Future implementations might add those two missing parameters:</para> |
814 | <itemizedlist mark='opencircle'> | 817 | <itemizedlist mark='opencircle'> |
@@ -818,25 +821,18 @@ typedef enum fe_hierarchy { | |||
818 | </section> | 821 | </section> |
819 | <section id="dvbs2-params"> | 822 | <section id="dvbs2-params"> |
820 | <title>DVB-S2 delivery system</title> | 823 | <title>DVB-S2 delivery system</title> |
821 | <para>The following parameters are valid for DVB-S2:</para> | 824 | <para>In addition to all parameters valid for DVB-S, DVB-S2 supports the following parameters:</para> |
822 | <itemizedlist mark='opencircle'> | 825 | <itemizedlist mark='opencircle'> |
823 | <listitem><para><link linkend="DTV-API-VERSION"><constant>DTV_API_VERSION</constant></link></para></listitem> | 826 | <listitem><para><link linkend="DTV-MODULATION"><constant>DTV_MODULATION</constant></link></para></listitem> |
824 | <listitem><para><link linkend="DTV-DELIVERY-SYSTEM"><constant>DTV_DELIVERY_SYSTEM</constant></link></para></listitem> | ||
825 | <listitem><para><link linkend="DTV-TUNE"><constant>DTV_TUNE</constant></link></para></listitem> | ||
826 | <listitem><para><link linkend="DTV-CLEAR"><constant>DTV_CLEAR</constant></link></para></listitem> | ||
827 | <listitem><para><link linkend="DTV-FREQUENCY"><constant>DTV_FREQUENCY</constant></link></para></listitem> | ||
828 | <listitem><para><link linkend="DTV-INVERSION"><constant>DTV_INVERSION</constant></link></para></listitem> | ||
829 | <listitem><para><link linkend="DTV-SYMBOL-RATE"><constant>DTV_SYMBOL_RATE</constant></link></para></listitem> | ||
830 | <listitem><para><link linkend="DTV-INNER-FEC"><constant>DTV_INNER_FEC</constant></link></para></listitem> | ||
831 | <listitem><para><link linkend="DTV-VOLTAGE"><constant>DTV_VOLTAGE</constant></link></para></listitem> | ||
832 | <listitem><para><link linkend="DTV-TONE"><constant>DTV_TONE</constant></link></para></listitem> | ||
833 | <listitem><para><link linkend="DTV-PILOT"><constant>DTV_PILOT</constant></link></para></listitem> | 827 | <listitem><para><link linkend="DTV-PILOT"><constant>DTV_PILOT</constant></link></para></listitem> |
834 | <listitem><para><link linkend="DTV-ROLLOFF"><constant>DTV_ROLLOFF</constant></link></para></listitem> | 828 | <listitem><para><link linkend="DTV-ROLLOFF"><constant>DTV_ROLLOFF</constant></link></para></listitem> |
835 | </itemizedlist> | 829 | </itemizedlist> |
836 | <para>Future implementations might add those two missing parameters:</para> | 830 | </section> |
831 | <section id="turbo-params"> | ||
832 | <title>Turbo code delivery system</title> | ||
833 | <para>In addition to all parameters valid for DVB-S, turbo code supports the following parameters:</para> | ||
837 | <itemizedlist mark='opencircle'> | 834 | <itemizedlist mark='opencircle'> |
838 | <listitem><para><link linkend="DTV-DISEQC-MASTER"><constant>DTV_DISEQC_MASTER</constant></link></para></listitem> | 835 | <listitem><para><link linkend="DTV-MODULATION"><constant>DTV_MODULATION</constant></link></para></listitem> |
839 | <listitem><para><link linkend="DTV-DISEQC-SLAVE-REPLY"><constant>DTV_DISEQC_SLAVE_REPLY</constant></link></para></listitem> | ||
840 | </itemizedlist> | 836 | </itemizedlist> |
841 | </section> | 837 | </section> |
842 | <section id="isdbs-params"> | 838 | <section id="isdbs-params"> |
diff --git a/Documentation/DocBook/media/dvb/intro.xml b/Documentation/DocBook/media/dvb/intro.xml index c75dc7cc3e9b..170064a3dc8f 100644 --- a/Documentation/DocBook/media/dvb/intro.xml +++ b/Documentation/DocBook/media/dvb/intro.xml | |||
@@ -205,7 +205,7 @@ a partial path like:</para> | |||
205 | additional include file <emphasis | 205 | additional include file <emphasis |
206 | role="tt">linux/dvb/version.h</emphasis> exists, which defines the | 206 | role="tt">linux/dvb/version.h</emphasis> exists, which defines the |
207 | constant <emphasis role="tt">DVB_API_VERSION</emphasis>. This document | 207 | constant <emphasis role="tt">DVB_API_VERSION</emphasis>. This document |
208 | describes <emphasis role="tt">DVB_API_VERSION 3</emphasis>. | 208 | describes <emphasis role="tt">DVB_API_VERSION 5.4</emphasis>. |
209 | </para> | 209 | </para> |
210 | 210 | ||
211 | </section> | 211 | </section> |
diff --git a/Documentation/DocBook/media/v4l/compat.xml b/Documentation/DocBook/media/v4l/compat.xml index ce1004a7da52..91410b6e7e08 100644 --- a/Documentation/DocBook/media/v4l/compat.xml +++ b/Documentation/DocBook/media/v4l/compat.xml | |||
@@ -2370,6 +2370,14 @@ that used it. It was originally scheduled for removal in 2.6.35. | |||
2370 | </listitem> | 2370 | </listitem> |
2371 | </orderedlist> | 2371 | </orderedlist> |
2372 | </section> | 2372 | </section> |
2373 | <section> | ||
2374 | <title>V4L2 in Linux 3.2</title> | ||
2375 | <orderedlist> | ||
2376 | <listitem> | ||
2377 | <para>V4L2_CTRL_FLAG_VOLATILE was added to signal volatile controls to userspace.</para> | ||
2378 | </listitem> | ||
2379 | </orderedlist> | ||
2380 | </section> | ||
2373 | 2381 | ||
2374 | <section id="other"> | 2382 | <section id="other"> |
2375 | <title>Relation of V4L2 to other Linux multimedia APIs</title> | 2383 | <title>Relation of V4L2 to other Linux multimedia APIs</title> |
diff --git a/Documentation/DocBook/media/v4l/dev-subdev.xml b/Documentation/DocBook/media/v4l/dev-subdev.xml index 05c8fefcbcbe..0916a7343a16 100644 --- a/Documentation/DocBook/media/v4l/dev-subdev.xml +++ b/Documentation/DocBook/media/v4l/dev-subdev.xml | |||
@@ -266,7 +266,7 @@ | |||
266 | 266 | ||
267 | <para>When satisfied with the try results, applications can set the active | 267 | <para>When satisfied with the try results, applications can set the active |
268 | formats by setting the <structfield>which</structfield> argument to | 268 | formats by setting the <structfield>which</structfield> argument to |
269 | <constant>V4L2_SUBDEV_FORMAT_TRY</constant>. Active formats are changed | 269 | <constant>V4L2_SUBDEV_FORMAT_ACTIVE</constant>. Active formats are changed |
270 | exactly as try formats by drivers. To avoid modifying the hardware state | 270 | exactly as try formats by drivers. To avoid modifying the hardware state |
271 | during format negotiation, applications should negotiate try formats first | 271 | during format negotiation, applications should negotiate try formats first |
272 | and then modify the active settings using the try formats returned during | 272 | and then modify the active settings using the try formats returned during |
diff --git a/Documentation/DocBook/media/v4l/v4l2.xml b/Documentation/DocBook/media/v4l/v4l2.xml index 0d05e8747c12..40132c277647 100644 --- a/Documentation/DocBook/media/v4l/v4l2.xml +++ b/Documentation/DocBook/media/v4l/v4l2.xml | |||
@@ -128,6 +128,13 @@ structs, ioctls) must be noted in more detail in the history chapter | |||
128 | applications. --> | 128 | applications. --> |
129 | 129 | ||
130 | <revision> | 130 | <revision> |
131 | <revnumber>3.2</revnumber> | ||
132 | <date>2011-08-26</date> | ||
133 | <authorinitials>hv</authorinitials> | ||
134 | <revremark>Added V4L2_CTRL_FLAG_VOLATILE.</revremark> | ||
135 | </revision> | ||
136 | |||
137 | <revision> | ||
131 | <revnumber>3.1</revnumber> | 138 | <revnumber>3.1</revnumber> |
132 | <date>2011-06-27</date> | 139 | <date>2011-06-27</date> |
133 | <authorinitials>mcc, po, hv</authorinitials> | 140 | <authorinitials>mcc, po, hv</authorinitials> |
@@ -410,7 +417,7 @@ and discussions on the V4L mailing list.</revremark> | |||
410 | </partinfo> | 417 | </partinfo> |
411 | 418 | ||
412 | <title>Video for Linux Two API Specification</title> | 419 | <title>Video for Linux Two API Specification</title> |
413 | <subtitle>Revision 3.1</subtitle> | 420 | <subtitle>Revision 3.2</subtitle> |
414 | 421 | ||
415 | <chapter id="common"> | 422 | <chapter id="common"> |
416 | &sub-common; | 423 | &sub-common; |
diff --git a/Documentation/DocBook/media/v4l/vidioc-dqevent.xml b/Documentation/DocBook/media/v4l/vidioc-dqevent.xml index 7769642ee431..e8714aa16433 100644 --- a/Documentation/DocBook/media/v4l/vidioc-dqevent.xml +++ b/Documentation/DocBook/media/v4l/vidioc-dqevent.xml | |||
@@ -88,6 +88,12 @@ | |||
88 | </row> | 88 | </row> |
89 | <row> | 89 | <row> |
90 | <entry></entry> | 90 | <entry></entry> |
91 | <entry>&v4l2-event-frame-sync;</entry> | ||
92 | <entry><structfield>frame</structfield></entry> | ||
93 | <entry>Event data for event V4L2_EVENT_FRAME_SYNC.</entry> | ||
94 | </row> | ||
95 | <row> | ||
96 | <entry></entry> | ||
91 | <entry>__u8</entry> | 97 | <entry>__u8</entry> |
92 | <entry><structfield>data</structfield>[64]</entry> | 98 | <entry><structfield>data</structfield>[64]</entry> |
93 | <entry>Event data. Defined by the event type. The union | 99 | <entry>Event data. Defined by the event type. The union |
@@ -135,6 +141,129 @@ | |||
135 | </tgroup> | 141 | </tgroup> |
136 | </table> | 142 | </table> |
137 | 143 | ||
144 | <table frame="none" pgwide="1" id="v4l2-event-vsync"> | ||
145 | <title>struct <structname>v4l2_event_vsync</structname></title> | ||
146 | <tgroup cols="3"> | ||
147 | &cs-str; | ||
148 | <tbody valign="top"> | ||
149 | <row> | ||
150 | <entry>__u8</entry> | ||
151 | <entry><structfield>field</structfield></entry> | ||
152 | <entry>The upcoming field. See &v4l2-field;.</entry> | ||
153 | </row> | ||
154 | </tbody> | ||
155 | </tgroup> | ||
156 | </table> | ||
157 | |||
158 | <table frame="none" pgwide="1" id="v4l2-event-ctrl"> | ||
159 | <title>struct <structname>v4l2_event_ctrl</structname></title> | ||
160 | <tgroup cols="4"> | ||
161 | &cs-str; | ||
162 | <tbody valign="top"> | ||
163 | <row> | ||
164 | <entry>__u32</entry> | ||
165 | <entry><structfield>changes</structfield></entry> | ||
166 | <entry></entry> | ||
167 | <entry>A bitmask that tells what has changed. See <xref linkend="changes-flags" />.</entry> | ||
168 | </row> | ||
169 | <row> | ||
170 | <entry>__u32</entry> | ||
171 | <entry><structfield>type</structfield></entry> | ||
172 | <entry></entry> | ||
173 | <entry>The type of the control. See &v4l2-ctrl-type;.</entry> | ||
174 | </row> | ||
175 | <row> | ||
176 | <entry>union (anonymous)</entry> | ||
177 | <entry></entry> | ||
178 | <entry></entry> | ||
179 | <entry></entry> | ||
180 | </row> | ||
181 | <row> | ||
182 | <entry></entry> | ||
183 | <entry>__s32</entry> | ||
184 | <entry><structfield>value</structfield></entry> | ||
185 | <entry>The 32-bit value of the control for 32-bit control types. | ||
186 | This is 0 for string controls since the value of a string | ||
187 | cannot be passed using &VIDIOC-DQEVENT;.</entry> | ||
188 | </row> | ||
189 | <row> | ||
190 | <entry></entry> | ||
191 | <entry>__s64</entry> | ||
192 | <entry><structfield>value64</structfield></entry> | ||
193 | <entry>The 64-bit value of the control for 64-bit control types.</entry> | ||
194 | </row> | ||
195 | <row> | ||
196 | <entry>__u32</entry> | ||
197 | <entry><structfield>flags</structfield></entry> | ||
198 | <entry></entry> | ||
199 | <entry>The control flags. See <xref linkend="control-flags" />.</entry> | ||
200 | </row> | ||
201 | <row> | ||
202 | <entry>__s32</entry> | ||
203 | <entry><structfield>minimum</structfield></entry> | ||
204 | <entry></entry> | ||
205 | <entry>The minimum value of the control. See &v4l2-queryctrl;.</entry> | ||
206 | </row> | ||
207 | <row> | ||
208 | <entry>__s32</entry> | ||
209 | <entry><structfield>maximum</structfield></entry> | ||
210 | <entry></entry> | ||
211 | <entry>The maximum value of the control. See &v4l2-queryctrl;.</entry> | ||
212 | </row> | ||
213 | <row> | ||
214 | <entry>__s32</entry> | ||
215 | <entry><structfield>step</structfield></entry> | ||
216 | <entry></entry> | ||
217 | <entry>The step value of the control. See &v4l2-queryctrl;.</entry> | ||
218 | </row> | ||
219 | <row> | ||
220 | <entry>__s32</entry> | ||
221 | <entry><structfield>default_value</structfield></entry> | ||
222 | <entry></entry> | ||
223 | <entry>The default value value of the control. See &v4l2-queryctrl;.</entry> | ||
224 | </row> | ||
225 | </tbody> | ||
226 | </tgroup> | ||
227 | </table> | ||
228 | |||
229 | <table frame="none" pgwide="1" id="v4l2-event-frame-sync"> | ||
230 | <title>struct <structname>v4l2_event_frame_sync</structname></title> | ||
231 | <tgroup cols="3"> | ||
232 | &cs-str; | ||
233 | <tbody valign="top"> | ||
234 | <row> | ||
235 | <entry>__u32</entry> | ||
236 | <entry><structfield>frame_sequence</structfield></entry> | ||
237 | <entry> | ||
238 | The sequence number of the frame being received. | ||
239 | </entry> | ||
240 | </row> | ||
241 | </tbody> | ||
242 | </tgroup> | ||
243 | </table> | ||
244 | |||
245 | <table pgwide="1" frame="none" id="changes-flags"> | ||
246 | <title>Changes</title> | ||
247 | <tgroup cols="3"> | ||
248 | &cs-def; | ||
249 | <tbody valign="top"> | ||
250 | <row> | ||
251 | <entry><constant>V4L2_EVENT_CTRL_CH_VALUE</constant></entry> | ||
252 | <entry>0x0001</entry> | ||
253 | <entry>This control event was triggered because the value of the control | ||
254 | changed. Special case: if a button control is pressed, then this | ||
255 | event is sent as well, even though there is not explicit value | ||
256 | associated with a button control.</entry> | ||
257 | </row> | ||
258 | <row> | ||
259 | <entry><constant>V4L2_EVENT_CTRL_CH_FLAGS</constant></entry> | ||
260 | <entry>0x0002</entry> | ||
261 | <entry>This control event was triggered because the control flags | ||
262 | changed.</entry> | ||
263 | </row> | ||
264 | </tbody> | ||
265 | </tgroup> | ||
266 | </table> | ||
138 | </refsect1> | 267 | </refsect1> |
139 | <refsect1> | 268 | <refsect1> |
140 | &return-value; | 269 | &return-value; |
diff --git a/Documentation/DocBook/media/v4l/vidioc-queryctrl.xml b/Documentation/DocBook/media/v4l/vidioc-queryctrl.xml index 677ea646c29f..0ac0057a51c4 100644 --- a/Documentation/DocBook/media/v4l/vidioc-queryctrl.xml +++ b/Documentation/DocBook/media/v4l/vidioc-queryctrl.xml | |||
@@ -406,6 +406,15 @@ flag is typically present for relative controls or action controls where | |||
406 | writing a value will cause the device to carry out a given action | 406 | writing a value will cause the device to carry out a given action |
407 | (⪚ motor control) but no meaningful value can be returned.</entry> | 407 | (⪚ motor control) but no meaningful value can be returned.</entry> |
408 | </row> | 408 | </row> |
409 | <row> | ||
410 | <entry><constant>V4L2_CTRL_FLAG_VOLATILE</constant></entry> | ||
411 | <entry>0x0080</entry> | ||
412 | <entry>This control is volatile, which means that the value of the control | ||
413 | changes continuously. A typical example would be the current gain value if the device | ||
414 | is in auto-gain mode. In such a case the hardware calculates the gain value based on | ||
415 | the lighting conditions which can change over time. Note that setting a new value for | ||
416 | a volatile control will have no effect. The new value will just be ignored.</entry> | ||
417 | </row> | ||
409 | </tbody> | 418 | </tbody> |
410 | </tgroup> | 419 | </tgroup> |
411 | </table> | 420 | </table> |
diff --git a/Documentation/DocBook/media/v4l/vidioc-subscribe-event.xml b/Documentation/DocBook/media/v4l/vidioc-subscribe-event.xml index 69c0d8a2a3d2..5c70b616d818 100644 --- a/Documentation/DocBook/media/v4l/vidioc-subscribe-event.xml +++ b/Documentation/DocBook/media/v4l/vidioc-subscribe-event.xml | |||
@@ -139,6 +139,22 @@ | |||
139 | </entry> | 139 | </entry> |
140 | </row> | 140 | </row> |
141 | <row> | 141 | <row> |
142 | <entry><constant>V4L2_EVENT_FRAME_SYNC</constant></entry> | ||
143 | <entry>4</entry> | ||
144 | <entry> | ||
145 | <para>Triggered immediately when the reception of a | ||
146 | frame has begun. This event has a | ||
147 | &v4l2-event-frame-sync; associated with it.</para> | ||
148 | |||
149 | <para>If the hardware needs to be stopped in the case of a | ||
150 | buffer underrun it might not be able to generate this event. | ||
151 | In such cases the <structfield>frame_sequence</structfield> | ||
152 | field in &v4l2-event-frame-sync; will not be incremented. This | ||
153 | causes two consecutive frame sequence numbers to have n times | ||
154 | frame interval in between them.</para> | ||
155 | </entry> | ||
156 | </row> | ||
157 | <row> | ||
142 | <entry><constant>V4L2_EVENT_PRIVATE_START</constant></entry> | 158 | <entry><constant>V4L2_EVENT_PRIVATE_START</constant></entry> |
143 | <entry>0x08000000</entry> | 159 | <entry>0x08000000</entry> |
144 | <entry>Base event number for driver-private events.</entry> | 160 | <entry>Base event number for driver-private events.</entry> |
@@ -183,113 +199,6 @@ | |||
183 | </tgroup> | 199 | </tgroup> |
184 | </table> | 200 | </table> |
185 | 201 | ||
186 | <table frame="none" pgwide="1" id="v4l2-event-vsync"> | ||
187 | <title>struct <structname>v4l2_event_vsync</structname></title> | ||
188 | <tgroup cols="3"> | ||
189 | &cs-str; | ||
190 | <tbody valign="top"> | ||
191 | <row> | ||
192 | <entry>__u8</entry> | ||
193 | <entry><structfield>field</structfield></entry> | ||
194 | <entry>The upcoming field. See &v4l2-field;.</entry> | ||
195 | </row> | ||
196 | </tbody> | ||
197 | </tgroup> | ||
198 | </table> | ||
199 | |||
200 | <table frame="none" pgwide="1" id="v4l2-event-ctrl"> | ||
201 | <title>struct <structname>v4l2_event_ctrl</structname></title> | ||
202 | <tgroup cols="4"> | ||
203 | &cs-str; | ||
204 | <tbody valign="top"> | ||
205 | <row> | ||
206 | <entry>__u32</entry> | ||
207 | <entry><structfield>changes</structfield></entry> | ||
208 | <entry></entry> | ||
209 | <entry>A bitmask that tells what has changed. See <xref linkend="changes-flags" />.</entry> | ||
210 | </row> | ||
211 | <row> | ||
212 | <entry>__u32</entry> | ||
213 | <entry><structfield>type</structfield></entry> | ||
214 | <entry></entry> | ||
215 | <entry>The type of the control. See &v4l2-ctrl-type;.</entry> | ||
216 | </row> | ||
217 | <row> | ||
218 | <entry>union (anonymous)</entry> | ||
219 | <entry></entry> | ||
220 | <entry></entry> | ||
221 | <entry></entry> | ||
222 | </row> | ||
223 | <row> | ||
224 | <entry></entry> | ||
225 | <entry>__s32</entry> | ||
226 | <entry><structfield>value</structfield></entry> | ||
227 | <entry>The 32-bit value of the control for 32-bit control types. | ||
228 | This is 0 for string controls since the value of a string | ||
229 | cannot be passed using &VIDIOC-DQEVENT;.</entry> | ||
230 | </row> | ||
231 | <row> | ||
232 | <entry></entry> | ||
233 | <entry>__s64</entry> | ||
234 | <entry><structfield>value64</structfield></entry> | ||
235 | <entry>The 64-bit value of the control for 64-bit control types.</entry> | ||
236 | </row> | ||
237 | <row> | ||
238 | <entry>__u32</entry> | ||
239 | <entry><structfield>flags</structfield></entry> | ||
240 | <entry></entry> | ||
241 | <entry>The control flags. See <xref linkend="control-flags" />.</entry> | ||
242 | </row> | ||
243 | <row> | ||
244 | <entry>__s32</entry> | ||
245 | <entry><structfield>minimum</structfield></entry> | ||
246 | <entry></entry> | ||
247 | <entry>The minimum value of the control. See &v4l2-queryctrl;.</entry> | ||
248 | </row> | ||
249 | <row> | ||
250 | <entry>__s32</entry> | ||
251 | <entry><structfield>maximum</structfield></entry> | ||
252 | <entry></entry> | ||
253 | <entry>The maximum value of the control. See &v4l2-queryctrl;.</entry> | ||
254 | </row> | ||
255 | <row> | ||
256 | <entry>__s32</entry> | ||
257 | <entry><structfield>step</structfield></entry> | ||
258 | <entry></entry> | ||
259 | <entry>The step value of the control. See &v4l2-queryctrl;.</entry> | ||
260 | </row> | ||
261 | <row> | ||
262 | <entry>__s32</entry> | ||
263 | <entry><structfield>default_value</structfield></entry> | ||
264 | <entry></entry> | ||
265 | <entry>The default value value of the control. See &v4l2-queryctrl;.</entry> | ||
266 | </row> | ||
267 | </tbody> | ||
268 | </tgroup> | ||
269 | </table> | ||
270 | |||
271 | <table pgwide="1" frame="none" id="changes-flags"> | ||
272 | <title>Changes</title> | ||
273 | <tgroup cols="3"> | ||
274 | &cs-def; | ||
275 | <tbody valign="top"> | ||
276 | <row> | ||
277 | <entry><constant>V4L2_EVENT_CTRL_CH_VALUE</constant></entry> | ||
278 | <entry>0x0001</entry> | ||
279 | <entry>This control event was triggered because the value of the control | ||
280 | changed. Special case: if a button control is pressed, then this | ||
281 | event is sent as well, even though there is not explicit value | ||
282 | associated with a button control.</entry> | ||
283 | </row> | ||
284 | <row> | ||
285 | <entry><constant>V4L2_EVENT_CTRL_CH_FLAGS</constant></entry> | ||
286 | <entry>0x0002</entry> | ||
287 | <entry>This control event was triggered because the control flags | ||
288 | changed.</entry> | ||
289 | </row> | ||
290 | </tbody> | ||
291 | </tgroup> | ||
292 | </table> | ||
293 | </refsect1> | 202 | </refsect1> |
294 | <refsect1> | 203 | <refsect1> |
295 | &return-value; | 204 | &return-value; |
diff --git a/Documentation/DocBook/writing-an-alsa-driver.tmpl b/Documentation/DocBook/writing-an-alsa-driver.tmpl index 598c22f3b3ac..5de23c007078 100644 --- a/Documentation/DocBook/writing-an-alsa-driver.tmpl +++ b/Documentation/DocBook/writing-an-alsa-driver.tmpl | |||
@@ -4288,7 +4288,7 @@ struct _snd_pcm_runtime { | |||
4288 | <![CDATA[ | 4288 | <![CDATA[ |
4289 | struct snd_rawmidi *rmidi; | 4289 | struct snd_rawmidi *rmidi; |
4290 | snd_mpu401_uart_new(card, 0, MPU401_HW_MPU401, port, info_flags, | 4290 | snd_mpu401_uart_new(card, 0, MPU401_HW_MPU401, port, info_flags, |
4291 | irq, irq_flags, &rmidi); | 4291 | irq, &rmidi); |
4292 | ]]> | 4292 | ]]> |
4293 | </programlisting> | 4293 | </programlisting> |
4294 | </informalexample> | 4294 | </informalexample> |
@@ -4343,6 +4343,13 @@ struct _snd_pcm_runtime { | |||
4343 | by itself to start processing the output stream in the irq handler. | 4343 | by itself to start processing the output stream in the irq handler. |
4344 | </para> | 4344 | </para> |
4345 | 4345 | ||
4346 | <para> | ||
4347 | If the MPU-401 interface shares its interrupt with the other logical | ||
4348 | devices on the card, set <constant>MPU401_INFO_IRQ_HOOK</constant> | ||
4349 | (see <link linkend="midi-interface-interrupt-handler"><citetitle> | ||
4350 | below</citetitle></link>). | ||
4351 | </para> | ||
4352 | |||
4346 | <para> | 4353 | <para> |
4347 | Usually, the port address corresponds to the command port and | 4354 | Usually, the port address corresponds to the command port and |
4348 | port + 1 corresponds to the data port. If not, you may change | 4355 | port + 1 corresponds to the data port. If not, you may change |
@@ -4375,14 +4382,12 @@ struct _snd_pcm_runtime { | |||
4375 | </para> | 4382 | </para> |
4376 | 4383 | ||
4377 | <para> | 4384 | <para> |
4378 | The 6th argument specifies the irq number for UART. If the irq | 4385 | The 6th argument specifies the ISA irq number that will be |
4379 | is already allocated, pass 0 to the 7th argument | 4386 | allocated. If no interrupt is to be allocated (because your |
4380 | (<parameter>irq_flags</parameter>). Otherwise, pass the flags | 4387 | code is already allocating a shared interrupt, or because the |
4381 | for irq allocation | 4388 | device does not use interrupts), pass -1 instead. |
4382 | (<constant>SA_XXX</constant> bits) to it, and the irq will be | 4389 | For a MPU-401 device without an interrupt, a polling timer |
4383 | reserved by the mpu401-uart layer. If the card doesn't generate | 4390 | will be used instead. |
4384 | UART interrupts, pass -1 as the irq number. Then a timer | ||
4385 | interrupt will be invoked for polling. | ||
4386 | </para> | 4391 | </para> |
4387 | </section> | 4392 | </section> |
4388 | 4393 | ||
@@ -4390,12 +4395,13 @@ struct _snd_pcm_runtime { | |||
4390 | <title>Interrupt Handler</title> | 4395 | <title>Interrupt Handler</title> |
4391 | <para> | 4396 | <para> |
4392 | When the interrupt is allocated in | 4397 | When the interrupt is allocated in |
4393 | <function>snd_mpu401_uart_new()</function>, the private | 4398 | <function>snd_mpu401_uart_new()</function>, an exclusive ISA |
4394 | interrupt handler is used, hence you don't have anything else to do | 4399 | interrupt handler is automatically used, hence you don't have |
4395 | than creating the mpu401 stuff. Otherwise, you have to call | 4400 | anything else to do than creating the mpu401 stuff. Otherwise, you |
4396 | <function>snd_mpu401_uart_interrupt()</function> explicitly when | 4401 | have to set <constant>MPU401_INFO_IRQ_HOOK</constant>, and call |
4397 | a UART interrupt is invoked and checked in your own interrupt | 4402 | <function>snd_mpu401_uart_interrupt()</function> explicitly from your |
4398 | handler. | 4403 | own interrupt handler when it has determined that a UART interrupt |
4404 | has occurred. | ||
4399 | </para> | 4405 | </para> |
4400 | 4406 | ||
4401 | <para> | 4407 | <para> |
diff --git a/Documentation/devicetree/bindings/crypto/picochip-spacc.txt b/Documentation/devicetree/bindings/crypto/picochip-spacc.txt new file mode 100644 index 000000000000..d8609ece1f4c --- /dev/null +++ b/Documentation/devicetree/bindings/crypto/picochip-spacc.txt | |||
@@ -0,0 +1,23 @@ | |||
1 | Picochip picoXcell SPAcc (Security Protocol Accelerator) bindings | ||
2 | |||
3 | Picochip picoXcell devices contain crypto offload engines that may be used for | ||
4 | IPSEC and femtocell layer 2 ciphering. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible : "picochip,spacc-ipsec" for the IPSEC offload engine | ||
8 | "picochip,spacc-l2" for the femtocell layer 2 ciphering engine. | ||
9 | - reg : Offset and length of the register set for this device | ||
10 | - interrupt-parent : The interrupt controller that controls the SPAcc | ||
11 | interrupt. | ||
12 | - interrupts : The interrupt line from the SPAcc. | ||
13 | - ref-clock : The input clock that drives the SPAcc. | ||
14 | |||
15 | Example SPAcc node: | ||
16 | |||
17 | spacc@10000 { | ||
18 | compatible = "picochip,spacc-ipsec"; | ||
19 | reg = <0x100000 0x10000>; | ||
20 | interrupt-parent = <&vic0>; | ||
21 | interrupts = <24>; | ||
22 | ref-clock = <&ipsec_clk>, "ref"; | ||
23 | }; | ||
diff --git a/Documentation/devicetree/bindings/mmc/nvidia-sdhci.txt b/Documentation/devicetree/bindings/mmc/nvidia-sdhci.txt new file mode 100644 index 000000000000..7e51154679a6 --- /dev/null +++ b/Documentation/devicetree/bindings/mmc/nvidia-sdhci.txt | |||
@@ -0,0 +1,27 @@ | |||
1 | * NVIDIA Tegra Secure Digital Host Controller | ||
2 | |||
3 | This controller on Tegra family SoCs provides an interface for MMC, SD, | ||
4 | and SDIO types of memory cards. | ||
5 | |||
6 | Required properties: | ||
7 | - compatible : Should be "nvidia,<chip>-sdhci" | ||
8 | - reg : Should contain SD/MMC registers location and length | ||
9 | - interrupts : Should contain SD/MMC interrupt | ||
10 | |||
11 | Optional properties: | ||
12 | - cd-gpios : Specify GPIOs for card detection | ||
13 | - wp-gpios : Specify GPIOs for write protection | ||
14 | - power-gpios : Specify GPIOs for power control | ||
15 | - support-8bit : Boolean, indicates if 8-bit mode should be used. | ||
16 | |||
17 | Example: | ||
18 | |||
19 | sdhci@c8000200 { | ||
20 | compatible = "nvidia,tegra20-sdhci"; | ||
21 | reg = <0xc8000200 0x200>; | ||
22 | interrupts = <47>; | ||
23 | cd-gpios = <&gpio 69 0>; /* gpio PI5 */ | ||
24 | wp-gpios = <&gpio 57 0>; /* gpio PH1 */ | ||
25 | power-gpios = <&gpio 155 0>; /* gpio PT3 */ | ||
26 | support-8bit; | ||
27 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/soc/codecs/fsl-sgtl5000.txt b/Documentation/devicetree/bindings/sound/soc/codecs/fsl-sgtl5000.txt new file mode 100644 index 000000000000..2c3cd413f042 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/soc/codecs/fsl-sgtl5000.txt | |||
@@ -0,0 +1,11 @@ | |||
1 | * Freescale SGTL5000 Stereo Codec | ||
2 | |||
3 | Required properties: | ||
4 | - compatible : "fsl,sgtl5000". | ||
5 | |||
6 | Example: | ||
7 | |||
8 | codec: sgtl5000@0a { | ||
9 | compatible = "fsl,sgtl5000"; | ||
10 | reg = <0x0a>; | ||
11 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8510.txt b/Documentation/devicetree/bindings/sound/wm8510.txt new file mode 100644 index 000000000000..fa1a32b85577 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8510.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8510 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8510" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8510@1a { | ||
16 | compatible = "wlf,wm8510"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8523.txt b/Documentation/devicetree/bindings/sound/wm8523.txt new file mode 100644 index 000000000000..04746186b283 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8523.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | WM8523 audio CODEC | ||
2 | |||
3 | This device supports I2C only. | ||
4 | |||
5 | Required properties: | ||
6 | |||
7 | - compatible : "wlf,wm8523" | ||
8 | |||
9 | - reg : the I2C address of the device. | ||
10 | |||
11 | Example: | ||
12 | |||
13 | codec: wm8523@1a { | ||
14 | compatible = "wlf,wm8523"; | ||
15 | reg = <0x1a>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8580.txt b/Documentation/devicetree/bindings/sound/wm8580.txt new file mode 100644 index 000000000000..7d9821f348da --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8580.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | WM8580 audio CODEC | ||
2 | |||
3 | This device supports I2C only. | ||
4 | |||
5 | Required properties: | ||
6 | |||
7 | - compatible : "wlf,wm8580" | ||
8 | |||
9 | - reg : the I2C address of the device. | ||
10 | |||
11 | Example: | ||
12 | |||
13 | codec: wm8580@1a { | ||
14 | compatible = "wlf,wm8580"; | ||
15 | reg = <0x1a>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8711.txt b/Documentation/devicetree/bindings/sound/wm8711.txt new file mode 100644 index 000000000000..8ed9998cd23c --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8711.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8711 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8711" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8711@1a { | ||
16 | compatible = "wlf,wm8711"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8728.txt b/Documentation/devicetree/bindings/sound/wm8728.txt new file mode 100644 index 000000000000..a8b5c3668e60 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8728.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8728 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8728" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8728@1a { | ||
16 | compatible = "wlf,wm8728"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8731.txt b/Documentation/devicetree/bindings/sound/wm8731.txt new file mode 100644 index 000000000000..15f70048469b --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8731.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8731 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8731" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8731@1a { | ||
16 | compatible = "wlf,wm8731"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8737.txt b/Documentation/devicetree/bindings/sound/wm8737.txt new file mode 100644 index 000000000000..4bc2cea3b140 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8737.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8737 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8737" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8737@1a { | ||
16 | compatible = "wlf,wm8737"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8741.txt b/Documentation/devicetree/bindings/sound/wm8741.txt new file mode 100644 index 000000000000..74bda58c1bcf --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8741.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8741 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8741" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8741@1a { | ||
16 | compatible = "wlf,wm8741"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8750.txt b/Documentation/devicetree/bindings/sound/wm8750.txt new file mode 100644 index 000000000000..8db239fd5ecd --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8750.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8750 and WM8987 audio CODECs | ||
2 | |||
3 | These devices support both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8750" or "wlf,wm8987" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8750@1a { | ||
16 | compatible = "wlf,wm8750"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8753.txt b/Documentation/devicetree/bindings/sound/wm8753.txt new file mode 100644 index 000000000000..e65277a0fb60 --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8753.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8753 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8753" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8737@1a { | ||
16 | compatible = "wlf,wm8753"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8770.txt b/Documentation/devicetree/bindings/sound/wm8770.txt new file mode 100644 index 000000000000..866e00ca150b --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8770.txt | |||
@@ -0,0 +1,16 @@ | |||
1 | WM8770 audio CODEC | ||
2 | |||
3 | This device supports SPI. | ||
4 | |||
5 | Required properties: | ||
6 | |||
7 | - compatible : "wlf,wm8770" | ||
8 | |||
9 | - reg : the chip select number. | ||
10 | |||
11 | Example: | ||
12 | |||
13 | codec: wm8770@1 { | ||
14 | compatible = "wlf,wm8770"; | ||
15 | reg = <1>; | ||
16 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8776.txt b/Documentation/devicetree/bindings/sound/wm8776.txt new file mode 100644 index 000000000000..3b9ca49abc2b --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8776.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8776 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8776" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8776@1a { | ||
16 | compatible = "wlf,wm8776"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/devicetree/bindings/sound/wm8804.txt b/Documentation/devicetree/bindings/sound/wm8804.txt new file mode 100644 index 000000000000..4d3a56f38adc --- /dev/null +++ b/Documentation/devicetree/bindings/sound/wm8804.txt | |||
@@ -0,0 +1,18 @@ | |||
1 | WM8804 audio CODEC | ||
2 | |||
3 | This device supports both I2C and SPI (configured with pin strapping | ||
4 | on the board). | ||
5 | |||
6 | Required properties: | ||
7 | |||
8 | - compatible : "wlf,wm8804" | ||
9 | |||
10 | - reg : the I2C address of the device for I2C, the chip select | ||
11 | number for SPI. | ||
12 | |||
13 | Example: | ||
14 | |||
15 | codec: wm8804@1a { | ||
16 | compatible = "wlf,wm8804"; | ||
17 | reg = <0x1a>; | ||
18 | }; | ||
diff --git a/Documentation/dvb/get_dvb_firmware b/Documentation/dvb/get_dvb_firmware index c466f5831f15..e67be7afc78b 100755 --- a/Documentation/dvb/get_dvb_firmware +++ b/Documentation/dvb/get_dvb_firmware | |||
@@ -27,7 +27,8 @@ use IO::Handle; | |||
27 | "or51211", "or51132_qam", "or51132_vsb", "bluebird", | 27 | "or51211", "or51132_qam", "or51132_vsb", "bluebird", |
28 | "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2", "mpc718", | 28 | "opera1", "cx231xx", "cx18", "cx23885", "pvrusb2", "mpc718", |
29 | "af9015", "ngene", "az6027", "lme2510_lg", "lme2510c_s7395", | 29 | "af9015", "ngene", "az6027", "lme2510_lg", "lme2510c_s7395", |
30 | "lme2510c_s7395_old", "drxk", "drxk_terratec_h5"); | 30 | "lme2510c_s7395_old", "drxk", "drxk_terratec_h5", "tda10071", |
31 | "it9135" ); | ||
31 | 32 | ||
32 | # Check args | 33 | # Check args |
33 | syntax() if (scalar(@ARGV) != 1); | 34 | syntax() if (scalar(@ARGV) != 1); |
@@ -575,19 +576,10 @@ sub ngene { | |||
575 | } | 576 | } |
576 | 577 | ||
577 | sub az6027{ | 578 | sub az6027{ |
578 | my $file = "AZ6027_Linux_Driver.tar.gz"; | ||
579 | my $url = "http://linux.terratec.de/files/$file"; | ||
580 | my $firmware = "dvb-usb-az6027-03.fw"; | 579 | my $firmware = "dvb-usb-az6027-03.fw"; |
580 | my $url = "http://linux.terratec.de/files/TERRATEC_S7/$firmware"; | ||
581 | 581 | ||
582 | wgetfile($file, $url); | 582 | wgetfile($firmware, $url); |
583 | |||
584 | #untar | ||
585 | if( system("tar xzvf $file $firmware")){ | ||
586 | die "failed to untar firmware"; | ||
587 | } | ||
588 | if( system("rm $file")){ | ||
589 | die ("unable to remove unnecessary files"); | ||
590 | } | ||
591 | 583 | ||
592 | $firmware; | 584 | $firmware; |
593 | } | 585 | } |
@@ -665,6 +657,41 @@ sub drxk_terratec_h5 { | |||
665 | "$fwfile" | 657 | "$fwfile" |
666 | } | 658 | } |
667 | 659 | ||
660 | sub it9135 { | ||
661 | my $url = "http://kworld.server261.com/kworld/CD/ITE_TiVme/V1.00/"; | ||
662 | my $zipfile = "Driver_V10.323.1.0412.100412.zip"; | ||
663 | my $hash = "79b597dc648698ed6820845c0c9d0d37"; | ||
664 | my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 0); | ||
665 | my $drvfile = "Driver_V10.323.1.0412.100412/Data/x86/IT9135BDA.sys"; | ||
666 | my $fwfile = "dvb-usb-it9137-01.fw"; | ||
667 | |||
668 | checkstandard(); | ||
669 | |||
670 | wgetfile($zipfile, $url . $zipfile); | ||
671 | verify($zipfile, $hash); | ||
672 | unzip($zipfile, $tmpdir); | ||
673 | extract("$tmpdir/$drvfile", 69632, 5731, "$fwfile"); | ||
674 | |||
675 | "$fwfile" | ||
676 | } | ||
677 | |||
678 | sub tda10071 { | ||
679 | my $sourcefile = "PCTV_460e_reference.zip"; | ||
680 | my $url = "ftp://ftp.pctvsystems.com/TV/driver/PCTV%2070e%2080e%20100e%20320e%20330e%20800e/"; | ||
681 | my $hash = "4403de903bf2593464c8d74bbc200a57"; | ||
682 | my $fwfile = "dvb-fe-tda10071.fw"; | ||
683 | my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); | ||
684 | |||
685 | checkstandard(); | ||
686 | |||
687 | wgetfile($sourcefile, $url . $sourcefile); | ||
688 | verify($sourcefile, $hash); | ||
689 | unzip($sourcefile, $tmpdir); | ||
690 | extract("$tmpdir/PCTV\ 70e\ 80e\ 100e\ 320e\ 330e\ 800e/32\ bit/emOEM.sys", 0x67d38, 40504, $fwfile); | ||
691 | |||
692 | "$fwfile"; | ||
693 | } | ||
694 | |||
668 | # --------------------------------------------------------------- | 695 | # --------------------------------------------------------------- |
669 | # Utilities | 696 | # Utilities |
670 | 697 | ||
diff --git a/Documentation/dvb/it9137.txt b/Documentation/dvb/it9137.txt new file mode 100644 index 000000000000..9e6726eead90 --- /dev/null +++ b/Documentation/dvb/it9137.txt | |||
@@ -0,0 +1,9 @@ | |||
1 | To extract firmware for Kworld UB499-2T (id 1b80:e409) you need to copy the | ||
2 | following file(s) to this directory. | ||
3 | |||
4 | IT9135BDA.sys Dated Mon 22 Mar 2010 02:20:08 GMT | ||
5 | |||
6 | extract using dd | ||
7 | dd if=IT9135BDA.sys ibs=1 skip=69632 count=5731 of=dvb-usb-it9137-01.fw | ||
8 | |||
9 | copy to default firmware location. | ||
diff --git a/Documentation/fault-injection/fault-injection.txt b/Documentation/fault-injection/fault-injection.txt index 82a5d250d75e..ba4be8b77093 100644 --- a/Documentation/fault-injection/fault-injection.txt +++ b/Documentation/fault-injection/fault-injection.txt | |||
@@ -21,6 +21,11 @@ o fail_make_request | |||
21 | /sys/block/<device>/make-it-fail or | 21 | /sys/block/<device>/make-it-fail or |
22 | /sys/block/<device>/<partition>/make-it-fail. (generic_make_request()) | 22 | /sys/block/<device>/<partition>/make-it-fail. (generic_make_request()) |
23 | 23 | ||
24 | o fail_mmc_request | ||
25 | |||
26 | injects MMC data errors on devices permitted by setting | ||
27 | debugfs entries under /sys/kernel/debug/mmc0/fail_mmc_request | ||
28 | |||
24 | Configure fault-injection capabilities behavior | 29 | Configure fault-injection capabilities behavior |
25 | ----------------------------------------------- | 30 | ----------------------------------------------- |
26 | 31 | ||
@@ -115,7 +120,8 @@ use the boot option: | |||
115 | 120 | ||
116 | failslab= | 121 | failslab= |
117 | fail_page_alloc= | 122 | fail_page_alloc= |
118 | fail_make_request=<interval>,<probability>,<space>,<times> | 123 | fail_make_request= |
124 | mmc_core.fail_request=<interval>,<probability>,<space>,<times> | ||
119 | 125 | ||
120 | How to add new fault injection capability | 126 | How to add new fault injection capability |
121 | ----------------------------------------- | 127 | ----------------------------------------- |
diff --git a/Documentation/fb/udlfb.txt b/Documentation/fb/udlfb.txt index 7fdde2a02a27..57d2f2908b12 100644 --- a/Documentation/fb/udlfb.txt +++ b/Documentation/fb/udlfb.txt | |||
@@ -87,23 +87,38 @@ Special configuration for udlfb is usually unnecessary. There are a few | |||
87 | options, however. | 87 | options, however. |
88 | 88 | ||
89 | From the command line, pass options to modprobe | 89 | From the command line, pass options to modprobe |
90 | modprobe udlfb defio=1 console=1 | 90 | modprobe udlfb fb_defio=0 console=1 shadow=1 |
91 | 91 | ||
92 | Or for permanent option, create file like /etc/modprobe.d/options with text | 92 | Or modify options on the fly at /sys/module/udlfb/parameters directory via |
93 | options udlfb defio=1 console=1 | 93 | sudo nano fb_defio |
94 | change the parameter in place, and save the file. | ||
94 | 95 | ||
95 | Accepted options: | 96 | Unplug/replug USB device to apply with new settings |
97 | |||
98 | Or for permanent option, create file like /etc/modprobe.d/udlfb.conf with text | ||
99 | options udlfb fb_defio=0 console=1 shadow=1 | ||
100 | |||
101 | Accepted boolean options: | ||
96 | 102 | ||
97 | fb_defio Make use of the fb_defio (CONFIG_FB_DEFERRED_IO) kernel | 103 | fb_defio Make use of the fb_defio (CONFIG_FB_DEFERRED_IO) kernel |
98 | module to track changed areas of the framebuffer by page faults. | 104 | module to track changed areas of the framebuffer by page faults. |
99 | Standard fbdev applications that use mmap but that do not | 105 | Standard fbdev applications that use mmap but that do not |
100 | report damage, may be able to work with this enabled. | 106 | report damage, should be able to work with this enabled. |
101 | Disabled by default because of overhead and other issues. | 107 | Disable when running with X server that supports reporting |
102 | 108 | changed regions via ioctl, as this method is simpler, | |
103 | console Allow fbcon to attach to udlfb provided framebuffers. This | 109 | more stable, and higher performance. |
104 | is disabled by default because fbcon will aggressively consume | 110 | default: fb_defio=1 |
105 | the first framebuffer it finds, which isn't usually what the | 111 | |
106 | user wants in the case of USB displays. | 112 | console Allow fbcon to attach to udlfb provided framebuffers. |
113 | Can be disabled if fbcon and other clients | ||
114 | (e.g. X with --shared-vt) are in conflict. | ||
115 | default: console=1 | ||
116 | |||
117 | shadow Allocate a 2nd framebuffer to shadow what's currently across | ||
118 | the USB bus in device memory. If any pixels are unchanged, | ||
119 | do not transmit. Spends host memory to save USB transfers. | ||
120 | Enabled by default. Only disable on very low memory systems. | ||
121 | default: shadow=1 | ||
107 | 122 | ||
108 | Sysfs Attributes | 123 | Sysfs Attributes |
109 | ================ | 124 | ================ |
diff --git a/Documentation/feature-removal-schedule.txt b/Documentation/feature-removal-schedule.txt index d5ac362daef5..7c799fc5b88e 100644 --- a/Documentation/feature-removal-schedule.txt +++ b/Documentation/feature-removal-schedule.txt | |||
@@ -495,29 +495,6 @@ Who: Jean Delvare <khali@linux-fr.org> | |||
495 | 495 | ||
496 | ---------------------------- | 496 | ---------------------------- |
497 | 497 | ||
498 | What: Support for UVCIOC_CTRL_ADD in the uvcvideo driver | ||
499 | When: 3.2 | ||
500 | Why: The information passed to the driver by this ioctl is now queried | ||
501 | dynamically from the device. | ||
502 | Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com> | ||
503 | |||
504 | ---------------------------- | ||
505 | |||
506 | What: Support for UVCIOC_CTRL_MAP_OLD in the uvcvideo driver | ||
507 | When: 3.2 | ||
508 | Why: Used only by applications compiled against older driver versions. | ||
509 | Superseded by UVCIOC_CTRL_MAP which supports V4L2 menu controls. | ||
510 | Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com> | ||
511 | |||
512 | ---------------------------- | ||
513 | |||
514 | What: Support for UVCIOC_CTRL_GET and UVCIOC_CTRL_SET in the uvcvideo driver | ||
515 | When: 3.2 | ||
516 | Why: Superseded by the UVCIOC_CTRL_QUERY ioctl. | ||
517 | Who: Laurent Pinchart <laurent.pinchart@ideasonboard.com> | ||
518 | |||
519 | ---------------------------- | ||
520 | |||
521 | What: Support for driver specific ioctls in the pwc driver (everything | 498 | What: Support for driver specific ioctls in the pwc driver (everything |
522 | defined in media/pwc-ioctl.h) | 499 | defined in media/pwc-ioctl.h) |
523 | When: 3.3 | 500 | When: 3.3 |
diff --git a/Documentation/i2c/smbus-protocol b/Documentation/i2c/smbus-protocol index 7c19d1a2bea0..49f5b680809d 100644 --- a/Documentation/i2c/smbus-protocol +++ b/Documentation/i2c/smbus-protocol | |||
@@ -88,6 +88,10 @@ byte. But this time, the data is a complete word (16 bits). | |||
88 | 88 | ||
89 | S Addr Wr [A] Comm [A] S Addr Rd [A] [DataLow] A [DataHigh] NA P | 89 | S Addr Wr [A] Comm [A] S Addr Rd [A] [DataLow] A [DataHigh] NA P |
90 | 90 | ||
91 | Note the convenience function i2c_smbus_read_word_swapped is | ||
92 | available for reads where the two data bytes are the other way | ||
93 | around (not SMBus compliant, but very popular.) | ||
94 | |||
91 | 95 | ||
92 | SMBus Write Byte: i2c_smbus_write_byte_data() | 96 | SMBus Write Byte: i2c_smbus_write_byte_data() |
93 | ============================================== | 97 | ============================================== |
@@ -108,6 +112,10 @@ specified through the Comm byte. | |||
108 | 112 | ||
109 | S Addr Wr [A] Comm [A] DataLow [A] DataHigh [A] P | 113 | S Addr Wr [A] Comm [A] DataLow [A] DataHigh [A] P |
110 | 114 | ||
115 | Note the convenience function i2c_smbus_write_word_swapped is | ||
116 | available for writes where the two data bytes are the other way | ||
117 | around (not SMBus compliant, but very popular.) | ||
118 | |||
111 | 119 | ||
112 | SMBus Process Call: i2c_smbus_process_call() | 120 | SMBus Process Call: i2c_smbus_process_call() |
113 | ============================================= | 121 | ============================================= |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index 93413ce96883..a0c5c5f4fce6 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -741,10 +741,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
741 | See Documentation/block/cfq-iosched.txt and | 741 | See Documentation/block/cfq-iosched.txt and |
742 | Documentation/block/deadline-iosched.txt for details. | 742 | Documentation/block/deadline-iosched.txt for details. |
743 | 743 | ||
744 | elfcorehdr= [IA-64,PPC,SH,X86] | 744 | elfcorehdr=[size[KMG]@]offset[KMG] [IA64,PPC,SH,X86,S390] |
745 | Specifies physical address of start of kernel core | 745 | Specifies physical address of start of kernel core |
746 | image elf header. Generally kexec loader will | 746 | image elf header and optionally the size. Generally |
747 | pass this option to capture kernel. | 747 | kexec loader will pass this option to capture kernel. |
748 | See Documentation/kdump/kdump.txt for details. | 748 | See Documentation/kdump/kdump.txt for details. |
749 | 749 | ||
750 | enable_mtrr_cleanup [X86] | 750 | enable_mtrr_cleanup [X86] |
@@ -973,6 +973,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
973 | ignore_loglevel [KNL] | 973 | ignore_loglevel [KNL] |
974 | Ignore loglevel setting - this will print /all/ | 974 | Ignore loglevel setting - this will print /all/ |
975 | kernel messages to the console. Useful for debugging. | 975 | kernel messages to the console. Useful for debugging. |
976 | We also add it as printk module parameter, so users | ||
977 | could change it dynamically, usually by | ||
978 | /sys/module/printk/parameters/ignore_loglevel. | ||
976 | 979 | ||
977 | ihash_entries= [KNL] | 980 | ihash_entries= [KNL] |
978 | Set number of hash buckets for inode cache. | 981 | Set number of hash buckets for inode cache. |
@@ -1201,6 +1204,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
1201 | [KVM,Intel] Disable FlexPriority feature (TPR shadow). | 1204 | [KVM,Intel] Disable FlexPriority feature (TPR shadow). |
1202 | Default is 1 (enabled) | 1205 | Default is 1 (enabled) |
1203 | 1206 | ||
1207 | kvm-intel.nested= | ||
1208 | [KVM,Intel] Enable VMX nesting (nVMX). | ||
1209 | Default is 0 (disabled) | ||
1210 | |||
1204 | kvm-intel.unrestricted_guest= | 1211 | kvm-intel.unrestricted_guest= |
1205 | [KVM,Intel] Disable unrestricted guest feature | 1212 | [KVM,Intel] Disable unrestricted guest feature |
1206 | (virtualized real and unpaged mode) on capable | 1213 | (virtualized real and unpaged mode) on capable |
@@ -1662,6 +1669,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
1662 | debugging driver suspend/resume hooks). This may | 1669 | debugging driver suspend/resume hooks). This may |
1663 | not work reliably with all consoles, but is known | 1670 | not work reliably with all consoles, but is known |
1664 | to work with serial and VGA consoles. | 1671 | to work with serial and VGA consoles. |
1672 | To facilitate more flexible debugging, we also add | ||
1673 | console_suspend, a printk module parameter to control | ||
1674 | it. Users could use console_suspend (usually | ||
1675 | /sys/module/printk/parameters/console_suspend) to | ||
1676 | turn on/off it dynamically. | ||
1665 | 1677 | ||
1666 | noaliencache [MM, NUMA, SLAB] Disables the allocation of alien | 1678 | noaliencache [MM, NUMA, SLAB] Disables the allocation of alien |
1667 | caches in the slab allocator. Saves per-node memory, | 1679 | caches in the slab allocator. Saves per-node memory, |
diff --git a/Documentation/networking/LICENSE.qlcnic b/Documentation/networking/LICENSE.qlcnic index 29ad4b106420..e7fb2c6023bc 100644 --- a/Documentation/networking/LICENSE.qlcnic +++ b/Documentation/networking/LICENSE.qlcnic | |||
@@ -1,61 +1,22 @@ | |||
1 | Copyright (c) 2009-2010 QLogic Corporation | 1 | Copyright (c) 2009-2011 QLogic Corporation |
2 | QLogic Linux qlcnic NIC Driver | 2 | QLogic Linux qlcnic NIC Driver |
3 | 3 | ||
4 | This program includes a device driver for Linux 2.6 that may be | ||
5 | distributed with QLogic hardware specific firmware binary file. | ||
6 | You may modify and redistribute the device driver code under the | 4 | You may modify and redistribute the device driver code under the |
7 | GNU General Public License (a copy of which is attached hereto as | 5 | GNU General Public License (a copy of which is attached hereto as |
8 | Exhibit A) published by the Free Software Foundation (version 2). | 6 | Exhibit A) published by the Free Software Foundation (version 2). |
9 | 7 | ||
10 | You may redistribute the hardware specific firmware binary file | ||
11 | under the following terms: | ||
12 | |||
13 | 1. Redistribution of source code (only if applicable), | ||
14 | must retain the above copyright notice, this list of | ||
15 | conditions and the following disclaimer. | ||
16 | |||
17 | 2. Redistribution in binary form must reproduce the above | ||
18 | copyright notice, this list of conditions and the | ||
19 | following disclaimer in the documentation and/or other | ||
20 | materials provided with the distribution. | ||
21 | |||
22 | 3. The name of QLogic Corporation may not be used to | ||
23 | endorse or promote products derived from this software | ||
24 | without specific prior written permission | ||
25 | |||
26 | REGARDLESS OF WHAT LICENSING MECHANISM IS USED OR APPLICABLE, | ||
27 | THIS PROGRAM IS PROVIDED BY QLOGIC CORPORATION "AS IS'' AND ANY | ||
28 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
29 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A | ||
30 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR | ||
31 | BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | ||
32 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED | ||
33 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
34 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
35 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | ||
36 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
37 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
38 | POSSIBILITY OF SUCH DAMAGE. | ||
39 | |||
40 | USER ACKNOWLEDGES AND AGREES THAT USE OF THIS PROGRAM WILL NOT | ||
41 | CREATE OR GIVE GROUNDS FOR A LICENSE BY IMPLICATION, ESTOPPEL, OR | ||
42 | OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS (PATENT, COPYRIGHT, | ||
43 | TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) EMBODIED IN | ||
44 | ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN | ||
45 | COMBINATION WITH THIS PROGRAM. | ||
46 | |||
47 | 8 | ||
48 | EXHIBIT A | 9 | EXHIBIT A |
49 | 10 | ||
50 | GNU GENERAL PUBLIC LICENSE | 11 | GNU GENERAL PUBLIC LICENSE |
51 | Version 2, June 1991 | 12 | Version 2, June 1991 |
52 | 13 | ||
53 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | 14 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. |
54 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | 15 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA |
55 | Everyone is permitted to copy and distribute verbatim copies | 16 | Everyone is permitted to copy and distribute verbatim copies |
56 | of this license document, but changing it is not allowed. | 17 | of this license document, but changing it is not allowed. |
57 | 18 | ||
58 | Preamble | 19 | Preamble |
59 | 20 | ||
60 | The licenses for most software are designed to take away your | 21 | The licenses for most software are designed to take away your |
61 | freedom to share and change it. By contrast, the GNU General Public | 22 | freedom to share and change it. By contrast, the GNU General Public |
@@ -105,7 +66,7 @@ patent must be licensed for everyone's free use or not licensed at all. | |||
105 | The precise terms and conditions for copying, distribution and | 66 | The precise terms and conditions for copying, distribution and |
106 | modification follow. | 67 | modification follow. |
107 | 68 | ||
108 | GNU GENERAL PUBLIC LICENSE | 69 | GNU GENERAL PUBLIC LICENSE |
109 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | 70 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION |
110 | 71 | ||
111 | 0. This License applies to any program or other work which contains | 72 | 0. This License applies to any program or other work which contains |
@@ -304,7 +265,7 @@ make exceptions for this. Our decision will be guided by the two goals | |||
304 | of preserving the free status of all derivatives of our free software and | 265 | of preserving the free status of all derivatives of our free software and |
305 | of promoting the sharing and reuse of software generally. | 266 | of promoting the sharing and reuse of software generally. |
306 | 267 | ||
307 | NO WARRANTY | 268 | NO WARRANTY |
308 | 269 | ||
309 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | 270 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY |
310 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN | 271 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN |
diff --git a/Documentation/power/regulator/machine.txt b/Documentation/power/regulator/machine.txt index b42419b52e44..ce63af0a8e35 100644 --- a/Documentation/power/regulator/machine.txt +++ b/Documentation/power/regulator/machine.txt | |||
@@ -16,7 +16,7 @@ initialisation code by creating a struct regulator_consumer_supply for | |||
16 | each regulator. | 16 | each regulator. |
17 | 17 | ||
18 | struct regulator_consumer_supply { | 18 | struct regulator_consumer_supply { |
19 | struct device *dev; /* consumer */ | 19 | const char *dev_name; /* consumer dev_name() */ |
20 | const char *supply; /* consumer supply - e.g. "vcc" */ | 20 | const char *supply; /* consumer supply - e.g. "vcc" */ |
21 | }; | 21 | }; |
22 | 22 | ||
@@ -24,13 +24,13 @@ e.g. for the machine above | |||
24 | 24 | ||
25 | static struct regulator_consumer_supply regulator1_consumers[] = { | 25 | static struct regulator_consumer_supply regulator1_consumers[] = { |
26 | { | 26 | { |
27 | .dev = &platform_consumerB_device.dev, | 27 | .dev_name = "dev_name(consumer B)", |
28 | .supply = "Vcc", | 28 | .supply = "Vcc", |
29 | },}; | 29 | },}; |
30 | 30 | ||
31 | static struct regulator_consumer_supply regulator2_consumers[] = { | 31 | static struct regulator_consumer_supply regulator2_consumers[] = { |
32 | { | 32 | { |
33 | .dev = &platform_consumerA_device.dev, | 33 | .dev = "dev_name(consumer A"), |
34 | .supply = "Vcc", | 34 | .supply = "Vcc", |
35 | },}; | 35 | },}; |
36 | 36 | ||
@@ -43,6 +43,7 @@ to their supply regulator :- | |||
43 | 43 | ||
44 | static struct regulator_init_data regulator1_data = { | 44 | static struct regulator_init_data regulator1_data = { |
45 | .constraints = { | 45 | .constraints = { |
46 | .name = "Regulator-1", | ||
46 | .min_uV = 3300000, | 47 | .min_uV = 3300000, |
47 | .max_uV = 3300000, | 48 | .max_uV = 3300000, |
48 | .valid_modes_mask = REGULATOR_MODE_NORMAL, | 49 | .valid_modes_mask = REGULATOR_MODE_NORMAL, |
@@ -51,13 +52,19 @@ static struct regulator_init_data regulator1_data = { | |||
51 | .consumer_supplies = regulator1_consumers, | 52 | .consumer_supplies = regulator1_consumers, |
52 | }; | 53 | }; |
53 | 54 | ||
55 | The name field should be set to something that is usefully descriptive | ||
56 | for the board for configuration of supplies for other regulators and | ||
57 | for use in logging and other diagnostic output. Normally the name | ||
58 | used for the supply rail in the schematic is a good choice. If no | ||
59 | name is provided then the subsystem will choose one. | ||
60 | |||
54 | Regulator-1 supplies power to Regulator-2. This relationship must be registered | 61 | Regulator-1 supplies power to Regulator-2. This relationship must be registered |
55 | with the core so that Regulator-1 is also enabled when Consumer A enables its | 62 | with the core so that Regulator-1 is also enabled when Consumer A enables its |
56 | supply (Regulator-2). The supply regulator is set by the supply_regulator | 63 | supply (Regulator-2). The supply regulator is set by the supply_regulator |
57 | field below:- | 64 | field below and co:- |
58 | 65 | ||
59 | static struct regulator_init_data regulator2_data = { | 66 | static struct regulator_init_data regulator2_data = { |
60 | .supply_regulator = "regulator_name", | 67 | .supply_regulator = "Regulator-1", |
61 | .constraints = { | 68 | .constraints = { |
62 | .min_uV = 1800000, | 69 | .min_uV = 1800000, |
63 | .max_uV = 2000000, | 70 | .max_uV = 2000000, |
diff --git a/Documentation/scsi/00-INDEX b/Documentation/scsi/00-INDEX index c2e18e109858..b48ded55b555 100644 --- a/Documentation/scsi/00-INDEX +++ b/Documentation/scsi/00-INDEX | |||
@@ -28,6 +28,8 @@ LICENSE.FlashPoint | |||
28 | - Licence of the Flashpoint driver | 28 | - Licence of the Flashpoint driver |
29 | LICENSE.qla2xxx | 29 | LICENSE.qla2xxx |
30 | - License for QLogic Linux Fibre Channel HBA Driver firmware. | 30 | - License for QLogic Linux Fibre Channel HBA Driver firmware. |
31 | LICENSE.qla4xxx | ||
32 | - License for QLogic Linux iSCSI HBA Driver. | ||
31 | Mylex.txt | 33 | Mylex.txt |
32 | - info on driver for Mylex adapters | 34 | - info on driver for Mylex adapters |
33 | NinjaSCSI.txt | 35 | NinjaSCSI.txt |
diff --git a/Documentation/scsi/ChangeLog.megaraid_sas b/Documentation/scsi/ChangeLog.megaraid_sas index 1b6e27ddb7f3..64adb98b181c 100644 --- a/Documentation/scsi/ChangeLog.megaraid_sas +++ b/Documentation/scsi/ChangeLog.megaraid_sas | |||
@@ -1,3 +1,18 @@ | |||
1 | Release Date : Wed. Oct 5, 2011 17:00:00 PST 2010 - | ||
2 | (emaild-id:megaraidlinux@lsi.com) | ||
3 | Adam Radford | ||
4 | Current Version : 00.00.06.12-rc1 | ||
5 | Old Version : 00.00.05.40-rc1 | ||
6 | 1. Continue booting immediately if FW in FAULT at driver load time. | ||
7 | 2. Increase default cmds per lun to 256. | ||
8 | 3. Fix mismatch in megasas_reset_fusion() mutex lock-unlock. | ||
9 | 4. Remove some un-necessary code. | ||
10 | 5. Clear state change interrupts for Fusion/Invader. | ||
11 | 6. Clear FUSION_IN_RESET before enabling interrupts. | ||
12 | 7. Add support for MegaRAID 9360/9380 12GB/s controllers. | ||
13 | 8. Add multiple MSI-X vector/multiple reply queue support. | ||
14 | 9. Add driver workaround for PERC5/1068 kdump kernel panic. | ||
15 | ------------------------------------------------------------------------------- | ||
1 | Release Date : Tue. Jul 26, 2011 17:00:00 PST 2010 - | 16 | Release Date : Tue. Jul 26, 2011 17:00:00 PST 2010 - |
2 | (emaild-id:megaraidlinux@lsi.com) | 17 | (emaild-id:megaraidlinux@lsi.com) |
3 | Adam Radford | 18 | Adam Radford |
diff --git a/Documentation/scsi/LICENSE.qla4xxx b/Documentation/scsi/LICENSE.qla4xxx new file mode 100644 index 000000000000..494980e40491 --- /dev/null +++ b/Documentation/scsi/LICENSE.qla4xxx | |||
@@ -0,0 +1,310 @@ | |||
1 | Copyright (c) 2003-2011 QLogic Corporation | ||
2 | QLogic Linux iSCSI HBA Driver | ||
3 | |||
4 | This program includes a device driver for Linux 3.x. | ||
5 | You may modify and redistribute the device driver code under the | ||
6 | GNU General Public License (a copy of which is attached hereto as | ||
7 | Exhibit A) published by the Free Software Foundation (version 2). | ||
8 | |||
9 | REGARDLESS OF WHAT LICENSING MECHANISM IS USED OR APPLICABLE, | ||
10 | THIS PROGRAM IS PROVIDED BY QLOGIC CORPORATION "AS IS'' AND ANY | ||
11 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE | ||
12 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A | ||
13 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR | ||
14 | BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, | ||
15 | EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED | ||
16 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, | ||
17 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON | ||
18 | ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, | ||
19 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||
20 | OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||
21 | POSSIBILITY OF SUCH DAMAGE. | ||
22 | |||
23 | USER ACKNOWLEDGES AND AGREES THAT USE OF THIS PROGRAM WILL NOT | ||
24 | CREATE OR GIVE GROUNDS FOR A LICENSE BY IMPLICATION, ESTOPPEL, OR | ||
25 | OTHERWISE IN ANY INTELLECTUAL PROPERTY RIGHTS (PATENT, COPYRIGHT, | ||
26 | TRADE SECRET, MASK WORK, OR OTHER PROPRIETARY RIGHT) EMBODIED IN | ||
27 | ANY OTHER QLOGIC HARDWARE OR SOFTWARE EITHER SOLELY OR IN | ||
28 | COMBINATION WITH THIS PROGRAM. | ||
29 | |||
30 | |||
31 | EXHIBIT A | ||
32 | |||
33 | GNU GENERAL PUBLIC LICENSE | ||
34 | Version 2, June 1991 | ||
35 | |||
36 | Copyright (C) 1989, 1991 Free Software Foundation, Inc. | ||
37 | 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
38 | Everyone is permitted to copy and distribute verbatim copies | ||
39 | of this license document, but changing it is not allowed. | ||
40 | |||
41 | Preamble | ||
42 | |||
43 | The licenses for most software are designed to take away your | ||
44 | freedom to share and change it. By contrast, the GNU General Public | ||
45 | License is intended to guarantee your freedom to share and change free | ||
46 | software--to make sure the software is free for all its users. This | ||
47 | General Public License applies to most of the Free Software | ||
48 | Foundation's software and to any other program whose authors commit to | ||
49 | using it. (Some other Free Software Foundation software is covered by | ||
50 | the GNU Lesser General Public License instead.) You can apply it to | ||
51 | your programs, too. | ||
52 | |||
53 | When we speak of free software, we are referring to freedom, not | ||
54 | price. Our General Public Licenses are designed to make sure that you | ||
55 | have the freedom to distribute copies of free software (and charge for | ||
56 | this service if you wish), that you receive source code or can get it | ||
57 | if you want it, that you can change the software or use pieces of it | ||
58 | in new free programs; and that you know you can do these things. | ||
59 | |||
60 | To protect your rights, we need to make restrictions that forbid | ||
61 | anyone to deny you these rights or to ask you to surrender the rights. | ||
62 | These restrictions translate to certain responsibilities for you if you | ||
63 | distribute copies of the software, or if you modify it. | ||
64 | |||
65 | For example, if you distribute copies of such a program, whether | ||
66 | gratis or for a fee, you must give the recipients all the rights that | ||
67 | you have. You must make sure that they, too, receive or can get the | ||
68 | source code. And you must show them these terms so they know their | ||
69 | rights. | ||
70 | |||
71 | We protect your rights with two steps: (1) copyright the software, and | ||
72 | (2) offer you this license which gives you legal permission to copy, | ||
73 | distribute and/or modify the software. | ||
74 | |||
75 | Also, for each author's protection and ours, we want to make certain | ||
76 | that everyone understands that there is no warranty for this free | ||
77 | software. If the software is modified by someone else and passed on, we | ||
78 | want its recipients to know that what they have is not the original, so | ||
79 | that any problems introduced by others will not reflect on the original | ||
80 | authors' reputations. | ||
81 | |||
82 | Finally, any free program is threatened constantly by software | ||
83 | patents. We wish to avoid the danger that redistributors of a free | ||
84 | program will individually obtain patent licenses, in effect making the | ||
85 | program proprietary. To prevent this, we have made it clear that any | ||
86 | patent must be licensed for everyone's free use or not licensed at all. | ||
87 | |||
88 | The precise terms and conditions for copying, distribution and | ||
89 | modification follow. | ||
90 | |||
91 | GNU GENERAL PUBLIC LICENSE | ||
92 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||
93 | |||
94 | 0. This License applies to any program or other work which contains | ||
95 | a notice placed by the copyright holder saying it may be distributed | ||
96 | under the terms of this General Public License. The "Program", below, | ||
97 | refers to any such program or work, and a "work based on the Program" | ||
98 | means either the Program or any derivative work under copyright law: | ||
99 | that is to say, a work containing the Program or a portion of it, | ||
100 | either verbatim or with modifications and/or translated into another | ||
101 | language. (Hereinafter, translation is included without limitation in | ||
102 | the term "modification".) Each licensee is addressed as "you". | ||
103 | |||
104 | Activities other than copying, distribution and modification are not | ||
105 | covered by this License; they are outside its scope. The act of | ||
106 | running the Program is not restricted, and the output from the Program | ||
107 | is covered only if its contents constitute a work based on the | ||
108 | Program (independent of having been made by running the Program). | ||
109 | Whether that is true depends on what the Program does. | ||
110 | |||
111 | 1. You may copy and distribute verbatim copies of the Program's | ||
112 | source code as you receive it, in any medium, provided that you | ||
113 | conspicuously and appropriately publish on each copy an appropriate | ||
114 | copyright notice and disclaimer of warranty; keep intact all the | ||
115 | notices that refer to this License and to the absence of any warranty; | ||
116 | and give any other recipients of the Program a copy of this License | ||
117 | along with the Program. | ||
118 | |||
119 | You may charge a fee for the physical act of transferring a copy, and | ||
120 | you may at your option offer warranty protection in exchange for a fee. | ||
121 | |||
122 | 2. You may modify your copy or copies of the Program or any portion | ||
123 | of it, thus forming a work based on the Program, and copy and | ||
124 | distribute such modifications or work under the terms of Section 1 | ||
125 | above, provided that you also meet all of these conditions: | ||
126 | |||
127 | a) You must cause the modified files to carry prominent notices | ||
128 | stating that you changed the files and the date of any change. | ||
129 | |||
130 | b) You must cause any work that you distribute or publish, that in | ||
131 | whole or in part contains or is derived from the Program or any | ||
132 | part thereof, to be licensed as a whole at no charge to all third | ||
133 | parties under the terms of this License. | ||
134 | |||
135 | c) If the modified program normally reads commands interactively | ||
136 | when run, you must cause it, when started running for such | ||
137 | interactive use in the most ordinary way, to print or display an | ||
138 | announcement including an appropriate copyright notice and a | ||
139 | notice that there is no warranty (or else, saying that you provide | ||
140 | a warranty) and that users may redistribute the program under | ||
141 | these conditions, and telling the user how to view a copy of this | ||
142 | License. (Exception: if the Program itself is interactive but | ||
143 | does not normally print such an announcement, your work based on | ||
144 | the Program is not required to print an announcement.) | ||
145 | |||
146 | These requirements apply to the modified work as a whole. If | ||
147 | identifiable sections of that work are not derived from the Program, | ||
148 | and can be reasonably considered independent and separate works in | ||
149 | themselves, then this License, and its terms, do not apply to those | ||
150 | sections when you distribute them as separate works. But when you | ||
151 | distribute the same sections as part of a whole which is a work based | ||
152 | on the Program, the distribution of the whole must be on the terms of | ||
153 | this License, whose permissions for other licensees extend to the | ||
154 | entire whole, and thus to each and every part regardless of who wrote it. | ||
155 | |||
156 | Thus, it is not the intent of this section to claim rights or contest | ||
157 | your rights to work written entirely by you; rather, the intent is to | ||
158 | exercise the right to control the distribution of derivative or | ||
159 | collective works based on the Program. | ||
160 | |||
161 | In addition, mere aggregation of another work not based on the Program | ||
162 | with the Program (or with a work based on the Program) on a volume of | ||
163 | a storage or distribution medium does not bring the other work under | ||
164 | the scope of this License. | ||
165 | |||
166 | 3. You may copy and distribute the Program (or a work based on it, | ||
167 | under Section 2) in object code or executable form under the terms of | ||
168 | Sections 1 and 2 above provided that you also do one of the following: | ||
169 | |||
170 | a) Accompany it with the complete corresponding machine-readable | ||
171 | source code, which must be distributed under the terms of Sections | ||
172 | 1 and 2 above on a medium customarily used for software interchange; or, | ||
173 | |||
174 | b) Accompany it with a written offer, valid for at least three | ||
175 | years, to give any third party, for a charge no more than your | ||
176 | cost of physically performing source distribution, a complete | ||
177 | machine-readable copy of the corresponding source code, to be | ||
178 | distributed under the terms of Sections 1 and 2 above on a medium | ||
179 | customarily used for software interchange; or, | ||
180 | |||
181 | c) Accompany it with the information you received as to the offer | ||
182 | to distribute corresponding source code. (This alternative is | ||
183 | allowed only for noncommercial distribution and only if you | ||
184 | received the program in object code or executable form with such | ||
185 | an offer, in accord with Subsection b above.) | ||
186 | |||
187 | The source code for a work means the preferred form of the work for | ||
188 | making modifications to it. For an executable work, complete source | ||
189 | code means all the source code for all modules it contains, plus any | ||
190 | associated interface definition files, plus the scripts used to | ||
191 | control compilation and installation of the executable. However, as a | ||
192 | special exception, the source code distributed need not include | ||
193 | anything that is normally distributed (in either source or binary | ||
194 | form) with the major components (compiler, kernel, and so on) of the | ||
195 | operating system on which the executable runs, unless that component | ||
196 | itself accompanies the executable. | ||
197 | |||
198 | If distribution of executable or object code is made by offering | ||
199 | access to copy from a designated place, then offering equivalent | ||
200 | access to copy the source code from the same place counts as | ||
201 | distribution of the source code, even though third parties are not | ||
202 | compelled to copy the source along with the object code. | ||
203 | |||
204 | 4. You may not copy, modify, sublicense, or distribute the Program | ||
205 | except as expressly provided under this License. Any attempt | ||
206 | otherwise to copy, modify, sublicense or distribute the Program is | ||
207 | void, and will automatically terminate your rights under this License. | ||
208 | However, parties who have received copies, or rights, from you under | ||
209 | this License will not have their licenses terminated so long as such | ||
210 | parties remain in full compliance. | ||
211 | |||
212 | 5. You are not required to accept this License, since you have not | ||
213 | signed it. However, nothing else grants you permission to modify or | ||
214 | distribute the Program or its derivative works. These actions are | ||
215 | prohibited by law if you do not accept this License. Therefore, by | ||
216 | modifying or distributing the Program (or any work based on the | ||
217 | Program), you indicate your acceptance of this License to do so, and | ||
218 | all its terms and conditions for copying, distributing or modifying | ||
219 | the Program or works based on it. | ||
220 | |||
221 | 6. Each time you redistribute the Program (or any work based on the | ||
222 | Program), the recipient automatically receives a license from the | ||
223 | original licensor to copy, distribute or modify the Program subject to | ||
224 | these terms and conditions. You may not impose any further | ||
225 | restrictions on the recipients' exercise of the rights granted herein. | ||
226 | You are not responsible for enforcing compliance by third parties to | ||
227 | this License. | ||
228 | |||
229 | 7. If, as a consequence of a court judgment or allegation of patent | ||
230 | infringement or for any other reason (not limited to patent issues), | ||
231 | conditions are imposed on you (whether by court order, agreement or | ||
232 | otherwise) that contradict the conditions of this License, they do not | ||
233 | excuse you from the conditions of this License. If you cannot | ||
234 | distribute so as to satisfy simultaneously your obligations under this | ||
235 | License and any other pertinent obligations, then as a consequence you | ||
236 | may not distribute the Program at all. For example, if a patent | ||
237 | license would not permit royalty-free redistribution of the Program by | ||
238 | all those who receive copies directly or indirectly through you, then | ||
239 | the only way you could satisfy both it and this License would be to | ||
240 | refrain entirely from distribution of the Program. | ||
241 | |||
242 | If any portion of this section is held invalid or unenforceable under | ||
243 | any particular circumstance, the balance of the section is intended to | ||
244 | apply and the section as a whole is intended to apply in other | ||
245 | circumstances. | ||
246 | |||
247 | It is not the purpose of this section to induce you to infringe any | ||
248 | patents or other property right claims or to contest validity of any | ||
249 | such claims; this section has the sole purpose of protecting the | ||
250 | integrity of the free software distribution system, which is | ||
251 | implemented by public license practices. Many people have made | ||
252 | generous contributions to the wide range of software distributed | ||
253 | through that system in reliance on consistent application of that | ||
254 | system; it is up to the author/donor to decide if he or she is willing | ||
255 | to distribute software through any other system and a licensee cannot | ||
256 | impose that choice. | ||
257 | |||
258 | This section is intended to make thoroughly clear what is believed to | ||
259 | be a consequence of the rest of this License. | ||
260 | |||
261 | 8. If the distribution and/or use of the Program is restricted in | ||
262 | certain countries either by patents or by copyrighted interfaces, the | ||
263 | original copyright holder who places the Program under this License | ||
264 | may add an explicit geographical distribution limitation excluding | ||
265 | those countries, so that distribution is permitted only in or among | ||
266 | countries not thus excluded. In such case, this License incorporates | ||
267 | the limitation as if written in the body of this License. | ||
268 | |||
269 | 9. The Free Software Foundation may publish revised and/or new versions | ||
270 | of the General Public License from time to time. Such new versions will | ||
271 | be similar in spirit to the present version, but may differ in detail to | ||
272 | address new problems or concerns. | ||
273 | |||
274 | Each version is given a distinguishing version number. If the Program | ||
275 | specifies a version number of this License which applies to it and "any | ||
276 | later version", you have the option of following the terms and conditions | ||
277 | either of that version or of any later version published by the Free | ||
278 | Software Foundation. If the Program does not specify a version number of | ||
279 | this License, you may choose any version ever published by the Free Software | ||
280 | Foundation. | ||
281 | |||
282 | 10. If you wish to incorporate parts of the Program into other free | ||
283 | programs whose distribution conditions are different, write to the author | ||
284 | to ask for permission. For software which is copyrighted by the Free | ||
285 | Software Foundation, write to the Free Software Foundation; we sometimes | ||
286 | make exceptions for this. Our decision will be guided by the two goals | ||
287 | of preserving the free status of all derivatives of our free software and | ||
288 | of promoting the sharing and reuse of software generally. | ||
289 | |||
290 | NO WARRANTY | ||
291 | |||
292 | 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | ||
293 | FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN | ||
294 | OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | ||
295 | PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | ||
296 | OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
297 | MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS | ||
298 | TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE | ||
299 | PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | ||
300 | REPAIR OR CORRECTION. | ||
301 | |||
302 | 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | ||
303 | WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | ||
304 | REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | ||
305 | INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | ||
306 | OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | ||
307 | TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | ||
308 | YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | ||
309 | PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | ||
310 | POSSIBILITY OF SUCH DAMAGES. | ||
diff --git a/Documentation/scsi/bnx2fc.txt b/Documentation/scsi/bnx2fc.txt new file mode 100644 index 000000000000..80823556d62f --- /dev/null +++ b/Documentation/scsi/bnx2fc.txt | |||
@@ -0,0 +1,75 @@ | |||
1 | Operating FCoE using bnx2fc | ||
2 | =========================== | ||
3 | Broadcom FCoE offload through bnx2fc is full stateful hardware offload that | ||
4 | cooperates with all interfaces provided by the Linux ecosystem for FC/FCoE and | ||
5 | SCSI controllers. As such, FCoE functionality, once enabled is largely | ||
6 | transparent. Devices discovered on the SAN will be registered and unregistered | ||
7 | automatically with the upper storage layers. | ||
8 | |||
9 | Despite the fact that the Broadcom's FCoE offload is fully offloaded, it does | ||
10 | depend on the state of the network interfaces to operate. As such, the network | ||
11 | interface (e.g. eth0) associated with the FCoE offload initiator must be 'up'. | ||
12 | It is recommended that the network interfaces be configured to be brought up | ||
13 | automatically at boot time. | ||
14 | |||
15 | Furthermore, the Broadcom FCoE offload solution creates VLAN interfaces to | ||
16 | support the VLANs that have been discovered for FCoE operation (e.g. | ||
17 | eth0.1001-fcoe). Do not delete or disable these interfaces or FCoE operation | ||
18 | will be disrupted. | ||
19 | |||
20 | Driver Usage Model: | ||
21 | =================== | ||
22 | |||
23 | 1. Ensure that fcoe-utils package is installed. | ||
24 | |||
25 | 2. Configure the interfaces on which bnx2fc driver has to operate on. | ||
26 | Here are the steps to configure: | ||
27 | a. cd /etc/fcoe | ||
28 | b. copy cfg-ethx to cfg-eth5 if FCoE has to be enabled on eth5. | ||
29 | c. Repeat this for all the interfaces where FCoE has to be enabled. | ||
30 | d. Edit all the cfg-eth files to set "no" for DCB_REQUIRED** field, and | ||
31 | "yes" for AUTO_VLAN. | ||
32 | e. Other configuration parameters should be left as default | ||
33 | |||
34 | 3. Ensure that "bnx2fc" is in SUPPORTED_DRIVERS list in /etc/fcoe/config. | ||
35 | |||
36 | 4. Start fcoe service. (service fcoe start). If Broadcom devices are present in | ||
37 | the system, bnx2fc driver would automatically claim the interfaces, starts vlan | ||
38 | discovery and log into the targets. | ||
39 | |||
40 | 5. "Symbolic Name" in 'fcoeadm -i' output would display if bnx2fc has claimed | ||
41 | the interface. | ||
42 | Eg: | ||
43 | [root@bh2 ~]# fcoeadm -i | ||
44 | Description: NetXtreme II BCM57712 10 Gigabit Ethernet | ||
45 | Revision: 01 | ||
46 | Manufacturer: Broadcom Corporation | ||
47 | Serial Number: 0010186FD558 | ||
48 | Driver: bnx2x 1.70.00-0 | ||
49 | Number of Ports: 2 | ||
50 | |||
51 | Symbolic Name: bnx2fc v1.0.5 over eth5.4 | ||
52 | OS Device Name: host11 | ||
53 | Node Name: 0x10000010186FD559 | ||
54 | Port Name: 0x20000010186FD559 | ||
55 | FabricName: 0x2001000DECB3B681 | ||
56 | Speed: 10 Gbit | ||
57 | Supported Speed: 10 Gbit | ||
58 | MaxFrameSize: 2048 | ||
59 | FC-ID (Port ID): 0x0F0377 | ||
60 | State: Online | ||
61 | |||
62 | 6. Verify the vlan discovery is performed by running ifconfig and notice | ||
63 | <INTERFACE>.<VLAN>-fcoe interfaces are automatically created. | ||
64 | |||
65 | Refer to fcoeadm manpage for more information on fcoeadm operations to | ||
66 | create/destroy interfaces or to display lun/target information. | ||
67 | |||
68 | NOTE: | ||
69 | ==== | ||
70 | ** Broadcom FCoE capable devices implement a DCBX/LLDP client on-chip. Only one | ||
71 | LLDP client is allowed per interface. For proper operation all host software | ||
72 | based DCBX/LLDP clients (e.g. lldpad) must be disabled. To disable lldpad on a | ||
73 | given interface, run the following command: | ||
74 | |||
75 | lldptool set-lldp -i <interface_name> adminStatus=disabled | ||
diff --git a/Documentation/sound/alsa/ALSA-Configuration.txt b/Documentation/sound/alsa/ALSA-Configuration.txt index 89757012c7ff..936699e4f04b 100644 --- a/Documentation/sound/alsa/ALSA-Configuration.txt +++ b/Documentation/sound/alsa/ALSA-Configuration.txt | |||
@@ -886,6 +886,12 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed. | |||
886 | disable) | 886 | disable) |
887 | power_save_controller - Reset HD-audio controller in power-saving mode | 887 | power_save_controller - Reset HD-audio controller in power-saving mode |
888 | (default = on) | 888 | (default = on) |
889 | align_buffer_size - Force rounding of buffer/period sizes to multiples | ||
890 | of 128 bytes. This is more efficient in terms of memory | ||
891 | access but isn't required by the HDA spec and prevents | ||
892 | users from specifying exact period/buffer sizes. | ||
893 | (default = on) | ||
894 | snoop - Enable/disable snooping (default = on) | ||
889 | 895 | ||
890 | This module supports multiple cards and autoprobe. | 896 | This module supports multiple cards and autoprobe. |
891 | 897 | ||
diff --git a/Documentation/sound/alsa/HD-Audio-Controls.txt b/Documentation/sound/alsa/HD-Audio-Controls.txt index 1482035243e6..e9621e349e17 100644 --- a/Documentation/sound/alsa/HD-Audio-Controls.txt +++ b/Documentation/sound/alsa/HD-Audio-Controls.txt | |||
@@ -98,3 +98,19 @@ Conexant codecs | |||
98 | 98 | ||
99 | * Auto-Mute Mode | 99 | * Auto-Mute Mode |
100 | See Reatek codecs. | 100 | See Reatek codecs. |
101 | |||
102 | |||
103 | Analog codecs | ||
104 | -------------- | ||
105 | |||
106 | * Channel Mode | ||
107 | This is an enum control to change the surround-channel setup, | ||
108 | appears only when the surround channels are available. | ||
109 | It gives the number of channels to be used, "2ch", "4ch" and "6ch". | ||
110 | According to the configuration, this also controls the | ||
111 | jack-retasking of multi-I/O jacks. | ||
112 | |||
113 | * Independent HP | ||
114 | When this enum control is enabled, the headphone output is routed | ||
115 | from an individual stream (the third PCM such as hw:0,2) instead of | ||
116 | the primary stream. | ||
diff --git a/Documentation/sound/alsa/HD-Audio-Models.txt b/Documentation/sound/alsa/HD-Audio-Models.txt index d70c93bdcadf..4f3443230d89 100644 --- a/Documentation/sound/alsa/HD-Audio-Models.txt +++ b/Documentation/sound/alsa/HD-Audio-Models.txt | |||
@@ -29,9 +29,6 @@ ALC880 | |||
29 | 29 | ||
30 | ALC260 | 30 | ALC260 |
31 | ====== | 31 | ====== |
32 | hp HP machines | ||
33 | hp-3013 HP machines (3013-variant) | ||
34 | hp-dc7600 HP DC7600 | ||
35 | fujitsu Fujitsu S7020 | 32 | fujitsu Fujitsu S7020 |
36 | acer Acer TravelMate | 33 | acer Acer TravelMate |
37 | will Will laptops (PB V7900) | 34 | will Will laptops (PB V7900) |
@@ -46,15 +43,10 @@ ALC260 | |||
46 | ALC262 | 43 | ALC262 |
47 | ====== | 44 | ====== |
48 | fujitsu Fujitsu Laptop | 45 | fujitsu Fujitsu Laptop |
49 | hp-bpc HP xw4400/6400/8400/9400 laptops | ||
50 | hp-bpc-d7000 HP BPC D7000 | ||
51 | hp-tc-t5735 HP Thin Client T5735 | ||
52 | hp-rp5700 HP RP5700 | ||
53 | benq Benq ED8 | 46 | benq Benq ED8 |
54 | benq-t31 Benq T31 | 47 | benq-t31 Benq T31 |
55 | hippo Hippo (ATI) with jack detection, Sony UX-90s | 48 | hippo Hippo (ATI) with jack detection, Sony UX-90s |
56 | hippo_1 Hippo (Benq) with jack detection | 49 | hippo_1 Hippo (Benq) with jack detection |
57 | sony-assamd Sony ASSAMD | ||
58 | toshiba-s06 Toshiba S06 | 50 | toshiba-s06 Toshiba S06 |
59 | toshiba-rx1 Toshiba RX1 | 51 | toshiba-rx1 Toshiba RX1 |
60 | tyan Tyan Thunder n6650W (S2915-E) | 52 | tyan Tyan Thunder n6650W (S2915-E) |
@@ -66,43 +58,15 @@ ALC262 | |||
66 | 58 | ||
67 | ALC267/268 | 59 | ALC267/268 |
68 | ========== | 60 | ========== |
69 | quanta-il1 Quanta IL1 mini-notebook | 61 | N/A |
70 | 3stack 3-stack model | ||
71 | toshiba Toshiba A205 | ||
72 | acer Acer laptops | ||
73 | acer-dmic Acer laptops with digital-mic | ||
74 | acer-aspire Acer Aspire One | ||
75 | dell Dell OEM laptops (Vostro 1200) | ||
76 | zepto Zepto laptops | ||
77 | test for testing/debugging purpose, almost all controls can | ||
78 | adjusted. Appearing only when compiled with | ||
79 | $CONFIG_SND_DEBUG=y | ||
80 | auto auto-config reading BIOS (default) | ||
81 | 62 | ||
82 | ALC269 | 63 | ALC269 |
83 | ====== | 64 | ====== |
84 | basic Basic preset | ||
85 | quanta Quanta FL1 | ||
86 | laptop-amic Laptops with analog-mic input | 65 | laptop-amic Laptops with analog-mic input |
87 | laptop-dmic Laptops with digital-mic input | 66 | laptop-dmic Laptops with digital-mic input |
88 | fujitsu FSC Amilo | ||
89 | lifebook Fujitsu Lifebook S6420 | ||
90 | auto auto-config reading BIOS (default) | ||
91 | 67 | ||
92 | ALC662/663/272 | 68 | ALC662/663/272 |
93 | ============== | 69 | ============== |
94 | 3stack-dig 3-stack (2-channel) with SPDIF | ||
95 | 3stack-6ch 3-stack (6-channel) | ||
96 | 3stack-6ch-dig 3-stack (6-channel) with SPDIF | ||
97 | 5stack-dig 5-stack with SPDIF | ||
98 | lenovo-101e Lenovo laptop | ||
99 | eeepc-p701 ASUS Eeepc P701 | ||
100 | eeepc-ep20 ASUS Eeepc EP20 | ||
101 | ecs ECS/Foxconn mobo | ||
102 | m51va ASUS M51VA | ||
103 | g71v ASUS G71V | ||
104 | h13 ASUS H13 | ||
105 | g50v ASUS G50V | ||
106 | asus-mode1 ASUS | 70 | asus-mode1 ASUS |
107 | asus-mode2 ASUS | 71 | asus-mode2 ASUS |
108 | asus-mode3 ASUS | 72 | asus-mode3 ASUS |
@@ -111,15 +75,10 @@ ALC662/663/272 | |||
111 | asus-mode6 ASUS | 75 | asus-mode6 ASUS |
112 | asus-mode7 ASUS | 76 | asus-mode7 ASUS |
113 | asus-mode8 ASUS | 77 | asus-mode8 ASUS |
114 | dell Dell with ALC272 | ||
115 | dell-zm1 Dell ZM1 with ALC272 | ||
116 | samsung-nc10 Samsung NC10 mini notebook | ||
117 | auto auto-config reading BIOS (default) | ||
118 | 78 | ||
119 | ALC680 | 79 | ALC680 |
120 | ====== | 80 | ====== |
121 | base Base model (ASUS NX90) | 81 | N/A |
122 | auto auto-config reading BIOS (default) | ||
123 | 82 | ||
124 | ALC882/883/885/888/889 | 83 | ALC882/883/885/888/889 |
125 | ====================== | 84 | ====================== |
@@ -175,28 +134,11 @@ ALC882/883/885/888/889 | |||
175 | 134 | ||
176 | ALC861/660 | 135 | ALC861/660 |
177 | ========== | 136 | ========== |
178 | 3stack 3-jack | 137 | N/A |
179 | 3stack-dig 3-jack with SPDIF I/O | ||
180 | 6stack-dig 6-jack with SPDIF I/O | ||
181 | 3stack-660 3-jack (for ALC660) | ||
182 | uniwill-m31 Uniwill M31 laptop | ||
183 | toshiba Toshiba laptop support | ||
184 | asus Asus laptop support | ||
185 | asus-laptop ASUS F2/F3 laptops | ||
186 | auto auto-config reading BIOS (default) | ||
187 | 138 | ||
188 | ALC861VD/660VD | 139 | ALC861VD/660VD |
189 | ============== | 140 | ============== |
190 | 3stack 3-jack | 141 | N/A |
191 | 3stack-dig 3-jack with SPDIF OUT | ||
192 | 6stack-dig 6-jack with SPDIF OUT | ||
193 | 3stack-660 3-jack (for ALC660VD) | ||
194 | 3stack-660-digout 3-jack with SPDIF OUT (for ALC660VD) | ||
195 | lenovo Lenovo 3000 C200 | ||
196 | dallas Dallas laptops | ||
197 | hp HP TX1000 | ||
198 | asus-v1s ASUS V1Sn | ||
199 | auto auto-config reading BIOS (default) | ||
200 | 142 | ||
201 | CMI9880 | 143 | CMI9880 |
202 | ======= | 144 | ======= |
@@ -289,7 +231,6 @@ Conexant 5051 | |||
289 | hp-dv6736 HP dv6736 | 231 | hp-dv6736 HP dv6736 |
290 | hp-f700 HP Compaq Presario F700 | 232 | hp-f700 HP Compaq Presario F700 |
291 | ideapad Lenovo IdeaPad laptop | 233 | ideapad Lenovo IdeaPad laptop |
292 | lenovo-x200 Lenovo X200 laptop | ||
293 | toshiba Toshiba Satellite M300 | 234 | toshiba Toshiba Satellite M300 |
294 | 235 | ||
295 | Conexant 5066 | 236 | Conexant 5066 |
diff --git a/Documentation/sound/alsa/HD-Audio.txt b/Documentation/sound/alsa/HD-Audio.txt index c82beb007634..03e2771ddeef 100644 --- a/Documentation/sound/alsa/HD-Audio.txt +++ b/Documentation/sound/alsa/HD-Audio.txt | |||
@@ -447,7 +447,10 @@ The file needs to have a line `[codec]`. The next line should contain | |||
447 | three numbers indicating the codec vendor-id (0x12345678 in the | 447 | three numbers indicating the codec vendor-id (0x12345678 in the |
448 | example), the codec subsystem-id (0xabcd1234) and the address (2) of | 448 | example), the codec subsystem-id (0xabcd1234) and the address (2) of |
449 | the codec. The rest patch entries are applied to this specified codec | 449 | the codec. The rest patch entries are applied to this specified codec |
450 | until another codec entry is given. | 450 | until another codec entry is given. Passing 0 or a negative number to |
451 | the first or the second value will make the check of the corresponding | ||
452 | field be skipped. It'll be useful for really broken devices that don't | ||
453 | initialize SSID properly. | ||
451 | 454 | ||
452 | The `[model]` line allows to change the model name of the each codec. | 455 | The `[model]` line allows to change the model name of the each codec. |
453 | In the example above, it will be changed to model=auto. | 456 | In the example above, it will be changed to model=auto. |
@@ -491,7 +494,7 @@ Also, the codec chip name can be rewritten via `[chip_name]` line. | |||
491 | The hd-audio driver reads the file via request_firmware(). Thus, | 494 | The hd-audio driver reads the file via request_firmware(). Thus, |
492 | a patch file has to be located on the appropriate firmware path, | 495 | a patch file has to be located on the appropriate firmware path, |
493 | typically, /lib/firmware. For example, when you pass the option | 496 | typically, /lib/firmware. For example, when you pass the option |
494 | `patch=hda-init.fw`, the file /lib/firmware/hda-init-fw must be | 497 | `patch=hda-init.fw`, the file /lib/firmware/hda-init.fw must be |
495 | present. | 498 | present. |
496 | 499 | ||
497 | The patch module option is specific to each card instance, and you | 500 | The patch module option is specific to each card instance, and you |
@@ -524,6 +527,54 @@ power-saving. See /sys/module/snd_hda_intel/parameters/power_save to | |||
524 | check the current value. If it's non-zero, the feature is turned on. | 527 | check the current value. If it's non-zero, the feature is turned on. |
525 | 528 | ||
526 | 529 | ||
530 | Tracepoints | ||
531 | ~~~~~~~~~~~ | ||
532 | The hd-audio driver gives a few basic tracepoints. | ||
533 | `hda:hda_send_cmd` traces each CORB write while `hda:hda_get_response` | ||
534 | traces the response from RIRB (only when read from the codec driver). | ||
535 | `hda:hda_bus_reset` traces the bus-reset due to fatal error, etc, | ||
536 | `hda:hda_unsol_event` traces the unsolicited events, and | ||
537 | `hda:hda_power_down` and `hda:hda_power_up` trace the power down/up | ||
538 | via power-saving behavior. | ||
539 | |||
540 | Enabling all tracepoints can be done like | ||
541 | ------------------------------------------------------------------------ | ||
542 | # echo 1 > /sys/kernel/debug/tracing/events/hda/enable | ||
543 | ------------------------------------------------------------------------ | ||
544 | then after some commands, you can traces from | ||
545 | /sys/kernel/debug/tracing/trace file. For example, when you want to | ||
546 | trace what codec command is sent, enable the tracepoint like: | ||
547 | ------------------------------------------------------------------------ | ||
548 | # cat /sys/kernel/debug/tracing/trace | ||
549 | # tracer: nop | ||
550 | # | ||
551 | # TASK-PID CPU# TIMESTAMP FUNCTION | ||
552 | # | | | | | | ||
553 | <...>-7807 [002] 105147.774889: hda_send_cmd: [0:0] val=e3a019 | ||
554 | <...>-7807 [002] 105147.774893: hda_send_cmd: [0:0] val=e39019 | ||
555 | <...>-7807 [002] 105147.999542: hda_send_cmd: [0:0] val=e3a01a | ||
556 | <...>-7807 [002] 105147.999543: hda_send_cmd: [0:0] val=e3901a | ||
557 | <...>-26764 [001] 349222.837143: hda_send_cmd: [0:0] val=e3a019 | ||
558 | <...>-26764 [001] 349222.837148: hda_send_cmd: [0:0] val=e39019 | ||
559 | <...>-26764 [001] 349223.058539: hda_send_cmd: [0:0] val=e3a01a | ||
560 | <...>-26764 [001] 349223.058541: hda_send_cmd: [0:0] val=e3901a | ||
561 | ------------------------------------------------------------------------ | ||
562 | Here `[0:0]` indicates the card number and the codec address, and | ||
563 | `val` shows the value sent to the codec, respectively. The value is | ||
564 | a packed value, and you can decode it via hda-decode-verb program | ||
565 | included in hda-emu package below. For example, the value e3a019 is | ||
566 | to set the left output-amp value to 25. | ||
567 | ------------------------------------------------------------------------ | ||
568 | % hda-decode-verb 0xe3a019 | ||
569 | raw value = 0x00e3a019 | ||
570 | cid = 0, nid = 0x0e, verb = 0x3a0, parm = 0x19 | ||
571 | raw value: verb = 0x3a0, parm = 0x19 | ||
572 | verbname = set_amp_gain_mute | ||
573 | amp raw val = 0xa019 | ||
574 | output, left, idx=0, mute=0, val=25 | ||
575 | ------------------------------------------------------------------------ | ||
576 | |||
577 | |||
527 | Development Tree | 578 | Development Tree |
528 | ~~~~~~~~~~~~~~~~ | 579 | ~~~~~~~~~~~~~~~~ |
529 | The latest development codes for HD-audio are found on sound git tree: | 580 | The latest development codes for HD-audio are found on sound git tree: |
diff --git a/Documentation/sysctl/kernel.txt b/Documentation/sysctl/kernel.txt index 704e474a93df..1f2463671a1a 100644 --- a/Documentation/sysctl/kernel.txt +++ b/Documentation/sysctl/kernel.txt | |||
@@ -24,6 +24,7 @@ show up in /proc/sys/kernel: | |||
24 | - bootloader_type [ X86 only ] | 24 | - bootloader_type [ X86 only ] |
25 | - bootloader_version [ X86 only ] | 25 | - bootloader_version [ X86 only ] |
26 | - callhome [ S390 only ] | 26 | - callhome [ S390 only ] |
27 | - cap_last_cap | ||
27 | - core_pattern | 28 | - core_pattern |
28 | - core_pipe_limit | 29 | - core_pipe_limit |
29 | - core_uses_pid | 30 | - core_uses_pid |
@@ -155,6 +156,13 @@ on has a service contract with IBM. | |||
155 | 156 | ||
156 | ============================================================== | 157 | ============================================================== |
157 | 158 | ||
159 | cap_last_cap | ||
160 | |||
161 | Highest valid capability of the running kernel. Exports | ||
162 | CAP_LAST_CAP from the kernel. | ||
163 | |||
164 | ============================================================== | ||
165 | |||
158 | core_pattern: | 166 | core_pattern: |
159 | 167 | ||
160 | core_pattern is used to specify a core dumpfile pattern name. | 168 | core_pattern is used to specify a core dumpfile pattern name. |
diff --git a/Documentation/trace/postprocess/trace-vmscan-postprocess.pl b/Documentation/trace/postprocess/trace-vmscan-postprocess.pl index 12cecc83cd91..4a37c4759cd2 100644 --- a/Documentation/trace/postprocess/trace-vmscan-postprocess.pl +++ b/Documentation/trace/postprocess/trace-vmscan-postprocess.pl | |||
@@ -379,10 +379,10 @@ EVENT_PROCESS: | |||
379 | 379 | ||
380 | # To closer match vmstat scanning statistics, only count isolate_both | 380 | # To closer match vmstat scanning statistics, only count isolate_both |
381 | # and isolate_inactive as scanning. isolate_active is rotation | 381 | # and isolate_inactive as scanning. isolate_active is rotation |
382 | # isolate_inactive == 0 | 382 | # isolate_inactive == 1 |
383 | # isolate_active == 1 | 383 | # isolate_active == 2 |
384 | # isolate_both == 2 | 384 | # isolate_both == 3 |
385 | if ($isolate_mode != 1) { | 385 | if ($isolate_mode != 2) { |
386 | $perprocesspid{$process_pid}->{HIGH_NR_SCANNED} += $nr_scanned; | 386 | $perprocesspid{$process_pid}->{HIGH_NR_SCANNED} += $nr_scanned; |
387 | } | 387 | } |
388 | $perprocesspid{$process_pid}->{HIGH_NR_CONTIG_DIRTY} += $nr_contig_dirty; | 388 | $perprocesspid{$process_pid}->{HIGH_NR_CONTIG_DIRTY} += $nr_contig_dirty; |
diff --git a/Documentation/video4linux/CARDLIST.tm6000 b/Documentation/video4linux/CARDLIST.tm6000 new file mode 100644 index 000000000000..b5edce487997 --- /dev/null +++ b/Documentation/video4linux/CARDLIST.tm6000 | |||
@@ -0,0 +1,16 @@ | |||
1 | 1 -> Generic tm5600 board (tm5600) [6000:0001] | ||
2 | 2 -> Generic tm6000 board (tm6000) [6000:0001] | ||
3 | 3 -> Generic tm6010 board (tm6010) [6000:0002] | ||
4 | 4 -> 10Moons UT821 (tm5600) [6000:0001] | ||
5 | 5 -> 10Moons UT330 (tm5600) | ||
6 | 6 -> ADSTech Dual TV (tm6000) [06e1:f332] | ||
7 | 7 -> FreeCom and similar (tm6000) [14aa:0620] | ||
8 | 8 -> ADSTech Mini Dual TV (tm6000) [06e1:b339] | ||
9 | 9 -> Hauppauge WinTV HVR-900H/USB2 Stick (tm6010) [2040:6600,2040:6601,2040:6610,2040:6611] | ||
10 | 10 -> Beholder Wander (tm6010) [6000:dec0] | ||
11 | 11 -> Beholder Voyager (tm6010) [6000:dec1] | ||
12 | 12 -> TerraTec Cinergy Hybrid XE/Cinergy Hybrid Stick (tm6010) [0ccd:0086,0ccd:00a5] | ||
13 | 13 -> TwinHan TU501 (tm6010) [13d3:3240,13d3:3241,13d3:3243,13d3:3264] | ||
14 | 14 -> Beholder Wander Lite (tm6010) [6000:dec2] | ||
15 | 15 -> Beholder Voyager Lite (tm6010) [6000:dec3] | ||
16 | |||
diff --git a/Documentation/video4linux/gspca.txt b/Documentation/video4linux/gspca.txt index 5bfa9a777d26..b15e29f31121 100644 --- a/Documentation/video4linux/gspca.txt +++ b/Documentation/video4linux/gspca.txt | |||
@@ -8,6 +8,7 @@ xxxx vend:prod | |||
8 | ---- | 8 | ---- |
9 | spca501 0000:0000 MystFromOri Unknown Camera | 9 | spca501 0000:0000 MystFromOri Unknown Camera |
10 | spca508 0130:0130 Clone Digital Webcam 11043 | 10 | spca508 0130:0130 Clone Digital Webcam 11043 |
11 | zc3xx 03f0:1b07 HP Premium Starter Cam | ||
11 | m5602 0402:5602 ALi Video Camera Controller | 12 | m5602 0402:5602 ALi Video Camera Controller |
12 | spca501 040a:0002 Kodak DVC-325 | 13 | spca501 040a:0002 Kodak DVC-325 |
13 | spca500 040a:0300 Kodak EZ200 | 14 | spca500 040a:0300 Kodak EZ200 |
@@ -190,6 +191,7 @@ ov519 05a9:0519 OV519 Microphone | |||
190 | ov519 05a9:0530 OmniVision | 191 | ov519 05a9:0530 OmniVision |
191 | ov519 05a9:2800 OmniVision SuperCAM | 192 | ov519 05a9:2800 OmniVision SuperCAM |
192 | ov519 05a9:4519 Webcam Classic | 193 | ov519 05a9:4519 Webcam Classic |
194 | ov534_9 05a9:8065 OmniVision test kit ov538+ov9712 | ||
193 | ov519 05a9:8519 OmniVision | 195 | ov519 05a9:8519 OmniVision |
194 | ov519 05a9:a511 D-Link USB Digital Video Camera | 196 | ov519 05a9:a511 D-Link USB Digital Video Camera |
195 | ov519 05a9:a518 D-Link DSB-C310 Webcam | 197 | ov519 05a9:a518 D-Link DSB-C310 Webcam |
@@ -199,6 +201,8 @@ gl860 05e3:0503 Genesys Logic PC Camera | |||
199 | gl860 05e3:f191 Genesys Logic PC Camera | 201 | gl860 05e3:f191 Genesys Logic PC Camera |
200 | spca561 060b:a001 Maxell Compact Pc PM3 | 202 | spca561 060b:a001 Maxell Compact Pc PM3 |
201 | zc3xx 0698:2003 CTX M730V built in | 203 | zc3xx 0698:2003 CTX M730V built in |
204 | topro 06a2:0003 TP6800 PC Camera, CmoX CX0342 webcam | ||
205 | topro 06a2:6810 Creative Qmax | ||
202 | nw80x 06a5:0000 Typhoon Webcam 100 USB | 206 | nw80x 06a5:0000 Typhoon Webcam 100 USB |
203 | nw80x 06a5:d001 Divio based webcams | 207 | nw80x 06a5:d001 Divio based webcams |
204 | nw80x 06a5:d800 Divio Chicony TwinkleCam, Trust SpaceCam | 208 | nw80x 06a5:d800 Divio Chicony TwinkleCam, Trust SpaceCam |
diff --git a/Documentation/video4linux/omap3isp.txt b/Documentation/video4linux/omap3isp.txt index 69be2c782b98..5dd1439b61fd 100644 --- a/Documentation/video4linux/omap3isp.txt +++ b/Documentation/video4linux/omap3isp.txt | |||
@@ -70,10 +70,11 @@ Events | |||
70 | The OMAP 3 ISP driver does support the V4L2 event interface on CCDC and | 70 | The OMAP 3 ISP driver does support the V4L2 event interface on CCDC and |
71 | statistics (AEWB, AF and histogram) subdevs. | 71 | statistics (AEWB, AF and histogram) subdevs. |
72 | 72 | ||
73 | The CCDC subdev produces V4L2_EVENT_OMAP3ISP_HS_VS type event on HS_VS | 73 | The CCDC subdev produces V4L2_EVENT_FRAME_SYNC type event on HS_VS |
74 | interrupt which is used to signal frame start. The event is triggered exactly | 74 | interrupt which is used to signal frame start. Earlier version of this |
75 | when the reception of the first line of the frame starts in the CCDC module. | 75 | driver used V4L2_EVENT_OMAP3ISP_HS_VS for this purpose. The event is |
76 | The event can be subscribed on the CCDC subdev. | 76 | triggered exactly when the reception of the first line of the frame starts |
77 | in the CCDC module. The event can be subscribed on the CCDC subdev. | ||
77 | 78 | ||
78 | (When using parallel interface one must pay account to correct configuration | 79 | (When using parallel interface one must pay account to correct configuration |
79 | of the VS signal polarity. This is automatically correct when using the serial | 80 | of the VS signal polarity. This is automatically correct when using the serial |
diff --git a/Documentation/video4linux/v4l2-controls.txt b/Documentation/video4linux/v4l2-controls.txt index 9346fc8cbf2b..26aa0573933e 100644 --- a/Documentation/video4linux/v4l2-controls.txt +++ b/Documentation/video4linux/v4l2-controls.txt | |||
@@ -285,11 +285,11 @@ implement g_volatile_ctrl like this: | |||
285 | Note that you use the 'new value' union as well in g_volatile_ctrl. In general | 285 | Note that you use the 'new value' union as well in g_volatile_ctrl. In general |
286 | controls that need to implement g_volatile_ctrl are read-only controls. | 286 | controls that need to implement g_volatile_ctrl are read-only controls. |
287 | 287 | ||
288 | To mark a control as volatile you have to set the is_volatile flag: | 288 | To mark a control as volatile you have to set V4L2_CTRL_FLAG_VOLATILE: |
289 | 289 | ||
290 | ctrl = v4l2_ctrl_new_std(&sd->ctrl_handler, ...); | 290 | ctrl = v4l2_ctrl_new_std(&sd->ctrl_handler, ...); |
291 | if (ctrl) | 291 | if (ctrl) |
292 | ctrl->is_volatile = 1; | 292 | ctrl->flags |= V4L2_CTRL_FLAG_VOLATILE; |
293 | 293 | ||
294 | For try/s_ctrl the new values (i.e. as passed by the user) are filled in and | 294 | For try/s_ctrl the new values (i.e. as passed by the user) are filled in and |
295 | you can modify them in try_ctrl or set them in s_ctrl. The 'cur' union | 295 | you can modify them in try_ctrl or set them in s_ctrl. The 'cur' union |
@@ -367,8 +367,7 @@ Driver specific controls can be created using v4l2_ctrl_new_custom(): | |||
367 | The last argument is the priv pointer which can be set to driver-specific | 367 | The last argument is the priv pointer which can be set to driver-specific |
368 | private data. | 368 | private data. |
369 | 369 | ||
370 | The v4l2_ctrl_config struct also has fields to set the is_private and is_volatile | 370 | The v4l2_ctrl_config struct also has a field to set the is_private flag. |
371 | flags. | ||
372 | 371 | ||
373 | If the name field is not set, then the framework will assume this is a standard | 372 | If the name field is not set, then the framework will assume this is a standard |
374 | control and will fill in the name, type and flags fields accordingly. | 373 | control and will fill in the name, type and flags fields accordingly. |
@@ -496,18 +495,20 @@ Handling autogain/gain-type Controls with Auto Clusters | |||
496 | 495 | ||
497 | A common type of control cluster is one that handles 'auto-foo/foo'-type | 496 | A common type of control cluster is one that handles 'auto-foo/foo'-type |
498 | controls. Typical examples are autogain/gain, autoexposure/exposure, | 497 | controls. Typical examples are autogain/gain, autoexposure/exposure, |
499 | autowhitebalance/red balance/blue balance. In all cases you have one controls | 498 | autowhitebalance/red balance/blue balance. In all cases you have one control |
500 | that determines whether another control is handled automatically by the hardware, | 499 | that determines whether another control is handled automatically by the hardware, |
501 | or whether it is under manual control from the user. | 500 | or whether it is under manual control from the user. |
502 | 501 | ||
503 | If the cluster is in automatic mode, then the manual controls should be | 502 | If the cluster is in automatic mode, then the manual controls should be |
504 | marked inactive. When the volatile controls are read the g_volatile_ctrl | 503 | marked inactive and volatile. When the volatile controls are read the |
505 | operation should return the value that the hardware's automatic mode set up | 504 | g_volatile_ctrl operation should return the value that the hardware's automatic |
506 | automatically. | 505 | mode set up automatically. |
507 | 506 | ||
508 | If the cluster is put in manual mode, then the manual controls should become | 507 | If the cluster is put in manual mode, then the manual controls should become |
509 | active again and the is_volatile flag should be ignored (so g_volatile_ctrl is | 508 | active again and the volatile flag is cleared (so g_volatile_ctrl is no longer |
510 | no longer called while in manual mode). | 509 | called while in manual mode). In addition just before switching to manual mode |
510 | the current values as determined by the auto mode are copied as the new manual | ||
511 | values. | ||
511 | 512 | ||
512 | Finally the V4L2_CTRL_FLAG_UPDATE should be set for the auto control since | 513 | Finally the V4L2_CTRL_FLAG_UPDATE should be set for the auto control since |
513 | changing that control affects the control flags of the manual controls. | 514 | changing that control affects the control flags of the manual controls. |
@@ -520,7 +521,11 @@ void v4l2_ctrl_auto_cluster(unsigned ncontrols, struct v4l2_ctrl **controls, | |||
520 | 521 | ||
521 | The first two arguments are identical to v4l2_ctrl_cluster. The third argument | 522 | The first two arguments are identical to v4l2_ctrl_cluster. The third argument |
522 | tells the framework which value switches the cluster into manual mode. The | 523 | tells the framework which value switches the cluster into manual mode. The |
523 | last argument will optionally set the is_volatile flag for the non-auto controls. | 524 | last argument will optionally set V4L2_CTRL_FLAG_VOLATILE for the non-auto controls. |
525 | If it is false, then the manual controls are never volatile. You would typically | ||
526 | use that if the hardware does not give you the option to read back to values as | ||
527 | determined by the auto mode (e.g. if autogain is on, the hardware doesn't allow | ||
528 | you to obtain the current gain value). | ||
524 | 529 | ||
525 | The first control of the cluster is assumed to be the 'auto' control. | 530 | The first control of the cluster is assumed to be the 'auto' control. |
526 | 531 | ||
@@ -681,16 +686,6 @@ if there are no controls at all. | |||
681 | count if nothing was done yet. If it is less than count then only the controls | 686 | count if nothing was done yet. If it is less than count then only the controls |
682 | up to error_idx-1 were successfully applied. | 687 | up to error_idx-1 were successfully applied. |
683 | 688 | ||
684 | 3) When attempting to read a button control the framework will return -EACCES | ||
685 | instead of -EINVAL as stated in the spec. It seems to make more sense since | ||
686 | button controls are write-only controls. | ||
687 | |||
688 | 4) Attempting to write to a read-only control will return -EACCES instead of | ||
689 | -EINVAL as the spec says. | ||
690 | |||
691 | 5) The spec does not mention what should happen when you try to set/get a | ||
692 | control class controls. The framework will return -EACCES. | ||
693 | |||
694 | 689 | ||
695 | Proposals for Extensions | 690 | Proposals for Extensions |
696 | ======================== | 691 | ======================== |
@@ -703,9 +698,3 @@ decimal. Useful for e.g. video_mute_yuv. | |||
703 | 2) It is possible to mark in the controls array which controls have been | 698 | 2) It is possible to mark in the controls array which controls have been |
704 | successfully written and which failed by for example adding a bit to the | 699 | successfully written and which failed by for example adding a bit to the |
705 | control ID. Not sure if it is worth the effort, though. | 700 | control ID. Not sure if it is worth the effort, though. |
706 | |||
707 | 3) Trying to set volatile inactive controls should result in -EACCESS. | ||
708 | |||
709 | 4) Add a new flag to mark volatile controls. Any application that wants | ||
710 | to store the state of the controls can then skip volatile inactive controls. | ||
711 | Currently it is not possible to detect such controls. | ||
diff --git a/Documentation/virtual/kvm/api.txt b/Documentation/virtual/kvm/api.txt index b0e4b9cd6a66..7945b0bd35e2 100644 --- a/Documentation/virtual/kvm/api.txt +++ b/Documentation/virtual/kvm/api.txt | |||
@@ -175,10 +175,30 @@ Parameters: vcpu id (apic id on x86) | |||
175 | Returns: vcpu fd on success, -1 on error | 175 | Returns: vcpu fd on success, -1 on error |
176 | 176 | ||
177 | This API adds a vcpu to a virtual machine. The vcpu id is a small integer | 177 | This API adds a vcpu to a virtual machine. The vcpu id is a small integer |
178 | in the range [0, max_vcpus). You can use KVM_CAP_NR_VCPUS of the | 178 | in the range [0, max_vcpus). |
179 | KVM_CHECK_EXTENSION ioctl() to determine the value for max_vcpus at run-time. | 179 | |
180 | The recommended max_vcpus value can be retrieved using the KVM_CAP_NR_VCPUS of | ||
181 | the KVM_CHECK_EXTENSION ioctl() at run-time. | ||
182 | The maximum possible value for max_vcpus can be retrieved using the | ||
183 | KVM_CAP_MAX_VCPUS of the KVM_CHECK_EXTENSION ioctl() at run-time. | ||
184 | |||
180 | If the KVM_CAP_NR_VCPUS does not exist, you should assume that max_vcpus is 4 | 185 | If the KVM_CAP_NR_VCPUS does not exist, you should assume that max_vcpus is 4 |
181 | cpus max. | 186 | cpus max. |
187 | If the KVM_CAP_MAX_VCPUS does not exist, you should assume that max_vcpus is | ||
188 | same as the value returned from KVM_CAP_NR_VCPUS. | ||
189 | |||
190 | On powerpc using book3s_hv mode, the vcpus are mapped onto virtual | ||
191 | threads in one or more virtual CPU cores. (This is because the | ||
192 | hardware requires all the hardware threads in a CPU core to be in the | ||
193 | same partition.) The KVM_CAP_PPC_SMT capability indicates the number | ||
194 | of vcpus per virtual core (vcore). The vcore id is obtained by | ||
195 | dividing the vcpu id by the number of vcpus per vcore. The vcpus in a | ||
196 | given vcore will always be in the same physical core as each other | ||
197 | (though that might be a different physical core from time to time). | ||
198 | Userspace can control the threading (SMT) mode of the guest by its | ||
199 | allocation of vcpu ids. For example, if userspace wants | ||
200 | single-threaded guest vcpus, it should make all vcpu ids be a multiple | ||
201 | of the number of vcpus per vcore. | ||
182 | 202 | ||
183 | On powerpc using book3s_hv mode, the vcpus are mapped onto virtual | 203 | On powerpc using book3s_hv mode, the vcpus are mapped onto virtual |
184 | threads in one or more virtual CPU cores. (This is because the | 204 | threads in one or more virtual CPU cores. (This is because the |
@@ -1633,3 +1653,50 @@ developer registration required to access it). | |||
1633 | char padding[256]; | 1653 | char padding[256]; |
1634 | }; | 1654 | }; |
1635 | }; | 1655 | }; |
1656 | |||
1657 | 6. Capabilities that can be enabled | ||
1658 | |||
1659 | There are certain capabilities that change the behavior of the virtual CPU when | ||
1660 | enabled. To enable them, please see section 4.37. Below you can find a list of | ||
1661 | capabilities and what their effect on the vCPU is when enabling them. | ||
1662 | |||
1663 | The following information is provided along with the description: | ||
1664 | |||
1665 | Architectures: which instruction set architectures provide this ioctl. | ||
1666 | x86 includes both i386 and x86_64. | ||
1667 | |||
1668 | Parameters: what parameters are accepted by the capability. | ||
1669 | |||
1670 | Returns: the return value. General error numbers (EBADF, ENOMEM, EINVAL) | ||
1671 | are not detailed, but errors with specific meanings are. | ||
1672 | |||
1673 | 6.1 KVM_CAP_PPC_OSI | ||
1674 | |||
1675 | Architectures: ppc | ||
1676 | Parameters: none | ||
1677 | Returns: 0 on success; -1 on error | ||
1678 | |||
1679 | This capability enables interception of OSI hypercalls that otherwise would | ||
1680 | be treated as normal system calls to be injected into the guest. OSI hypercalls | ||
1681 | were invented by Mac-on-Linux to have a standardized communication mechanism | ||
1682 | between the guest and the host. | ||
1683 | |||
1684 | When this capability is enabled, KVM_EXIT_OSI can occur. | ||
1685 | |||
1686 | 6.2 KVM_CAP_PPC_PAPR | ||
1687 | |||
1688 | Architectures: ppc | ||
1689 | Parameters: none | ||
1690 | Returns: 0 on success; -1 on error | ||
1691 | |||
1692 | This capability enables interception of PAPR hypercalls. PAPR hypercalls are | ||
1693 | done using the hypercall instruction "sc 1". | ||
1694 | |||
1695 | It also sets the guest privilege level to "supervisor" mode. Usually the guest | ||
1696 | runs in "hypervisor" privilege mode with a few missing features. | ||
1697 | |||
1698 | In addition to the above, it changes the semantics of SDR1. In this mode, the | ||
1699 | HTAB address part of SDR1 contains an HVA instead of a GPA, as PAPR keeps the | ||
1700 | HTAB invisible to the guest. | ||
1701 | |||
1702 | When this capability is enabled, KVM_EXIT_PAPR_HCALL can occur. | ||