Skip to content

Commit ddb5388

Browse files
committed
Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux
2 parents ccdf6ce + 6799060 commit ddb5388

File tree

4,014 files changed

+139501
-51505
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

4,014 files changed

+139501
-51505
lines changed

CREDITS

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1507,6 +1507,14 @@ S: 312/107 Canberra Avenue
15071507
S: Griffith, ACT 2603
15081508
S: Australia
15091509

1510+
N: Andreas Herrmann
1511+
1512+
1513+
D: Key developer of x86/AMD64
1514+
D: Author of AMD family 15h processor power monitoring driver
1515+
D: Maintainer of AMD Athlon 64 and Opteron processor frequency driver
1516+
S: Germany
1517+
15101518
N: Sebastian Hetze
15111519
15121520
D: German Linux Documentation,

Documentation/ABI/testing/sysfs-class-net-cdc_ncm

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,25 @@ Description:
1919
Set to 0 to pad all frames. Set greater than tx_max to
2020
disable all padding.
2121

22+
What: /sys/class/net/<iface>/cdc_ncm/ndp_to_end
23+
Date: Dec 2015
24+
KernelVersion: 4.5
25+
Contact: Bjørn Mork <[email protected]>
26+
Description:
27+
Boolean attribute showing the status of the "NDP to
28+
end" quirk. Defaults to 'N', except for devices
29+
already known to need it enabled.
30+
31+
The "NDP to end" quirk makes the driver place the NDP
32+
(the packet index table) after the payload. The NCM
33+
specification does not mandate this, but some devices
34+
are known to be more restrictive. Write 'Y' to this
35+
attribute for temporary testing of a suspect device
36+
failing to work with the default driver settings.
37+
38+
A device entry should be added to the driver if this
39+
quirk is found to be required.
40+
2241
What: /sys/class/net/<iface>/cdc_ncm/rx_max
2342
Date: May 2014
2443
KernelVersion: 3.16

Documentation/ABI/testing/sysfs-class-net-mesh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Description:
88

99
What: /sys/class/net/<mesh_iface>/mesh/<vlan_subdir>/ap_isolation
1010
Date: May 2011
11-
Contact: Antonio Quartulli <[email protected]>
11+
Contact: Antonio Quartulli <[email protected]>
1212
Description:
1313
Indicates whether the data traffic going from a
1414
wireless client to another wireless client will be
@@ -70,7 +70,7 @@ Description:
7070

7171
What: /sys/class/net/<mesh_iface>/mesh/isolation_mark
7272
Date: Nov 2013
73-
Contact: Antonio Quartulli <[email protected]>
73+
Contact: Antonio Quartulli <[email protected]>
7474
Description:
7575
Defines the isolation mark (and its bitmask) which
7676
is used to classify clients as "isolated" by the
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
What: /sys/class/net/<iface>/qmi/raw_ip
2+
Date: Dec 2015
3+
KernelVersion: 4.4
4+
Contact: Bjørn Mork <[email protected]>
5+
Description:
6+
Boolean. Default: 'N'
7+
8+
Set this to 'Y' to change the network device link
9+
framing from '802.3' to 'raw-ip'.
10+
11+
The netdev will change to reflect the link framing
12+
mode. The netdev is an ordinary ethernet device in
13+
'802.3' mode, and the driver expects to exchange
14+
frames with an ethernet header over the USB link. The
15+
netdev is a headerless p-t-p device in 'raw-ip' mode,
16+
and the driver expects to echange IPv4 or IPv6 packets
17+
without any L2 header over the USB link.
18+
19+
Userspace is in full control of firmware configuration
20+
through the delegation of the QMI protocol. Userspace
21+
is responsible for coordination of driver and firmware
22+
link framing mode, changing this setting to 'Y' if the
23+
firmware is configured for 'raw-ip' mode.

Documentation/DocBook/device-drivers.tmpl

Lines changed: 16 additions & 68 deletions
Original file line numberDiff line numberDiff line change
@@ -238,78 +238,26 @@ X!Isound/sound_firmware.c
238238
!Iinclude/media/videobuf2-memops.h
239239
</sect1>
240240
<sect1><title>Digital TV (DVB) devices</title>
241-
!Idrivers/media/dvb-core/dvb_ca_en50221.h
242-
!Idrivers/media/dvb-core/dvb_frontend.h
241+
<sect1><title>Digital TV Common functions</title>
243242
!Idrivers/media/dvb-core/dvb_math.h
244243
!Idrivers/media/dvb-core/dvb_ringbuffer.h
245244
!Idrivers/media/dvb-core/dvbdev.h
246-
<sect1><title>Digital TV Demux API</title>
247-
<para>The kernel demux API defines a driver-internal interface for
248-
registering low-level, hardware specific driver to a hardware
249-
independent demux layer. It is only of interest for Digital TV
250-
device driver writers. The header file for this API is named
251-
<constant>demux.h</constant> and located in
252-
<constant>drivers/media/dvb-core</constant>.</para>
253-
254-
<para>The demux API should be implemented for each demux in the
255-
system. It is used to select the TS source of a demux and to manage
256-
the demux resources. When the demux client allocates a resource via
257-
the demux API, it receives a pointer to the API of that
258-
resource.</para>
259-
<para>Each demux receives its TS input from a DVB front-end or from
260-
memory, as set via this demux API. In a system with more than one
261-
front-end, the API can be used to select one of the DVB front-ends
262-
as a TS source for a demux, unless this is fixed in the HW platform.
263-
The demux API only controls front-ends regarding to their connections
264-
with demuxes; the APIs used to set the other front-end parameters,
265-
such as tuning, are not defined in this document.</para>
266-
<para>The functions that implement the abstract interface demux should
267-
be defined static or module private and registered to the Demux
268-
core for external access. It is not necessary to implement every
269-
function in the struct <constant>dmx_demux</constant>. For example,
270-
a demux interface might support Section filtering, but not PES
271-
filtering. The API client is expected to check the value of any
272-
function pointer before calling the function: the value of NULL means
273-
that the &#8220;function is not available&#8221;.</para>
274-
<para>Whenever the functions of the demux API modify shared data,
275-
the possibilities of lost update and race condition problems should
276-
be addressed, e.g. by protecting parts of code with mutexes.</para>
277-
<para>Note that functions called from a bottom half context must not
278-
sleep. Even a simple memory allocation without using GFP_ATOMIC can
279-
result in a kernel thread being put to sleep if swapping is needed.
280-
For example, the Linux kernel calls the functions of a network device
281-
interface from a bottom half context. Thus, if a demux API function
282-
is called from network device code, the function must not sleep.
283-
</para>
284-
</sect1>
285-
286-
<section id="demux_callback_api">
287-
<title>Demux Callback API</title>
288-
<para>This kernel-space API comprises the callback functions that
289-
deliver filtered data to the demux client. Unlike the other DVB
290-
kABIs, these functions are provided by the client and called from
291-
the demux code.</para>
292-
<para>The function pointers of this abstract interface are not
293-
packed into a structure as in the other demux APIs, because the
294-
callback functions are registered and used independent of each
295-
other. As an example, it is possible for the API client to provide
296-
several callback functions for receiving TS packets and no
297-
callbacks for PES packets or sections.</para>
298-
<para>The functions that implement the callback API need not be
299-
re-entrant: when a demux driver calls one of these functions,
300-
the driver is not allowed to call the function again before
301-
the original call returns. If a callback is triggered by a
302-
hardware interrupt, it is recommended to use the Linux
303-
&#8220;bottom half&#8221; mechanism or start a tasklet instead of
304-
making the callback function call directly from a hardware
305-
interrupt.</para>
306-
<para>This mechanism is implemented by
307-
<link linkend='API-dmx-ts-cb'>dmx_ts_cb()</link> and
308-
<link linkend='API-dmx-section-cb'>dmx_section_cb()</link>.</para>
309-
</section>
310-
245+
</sect1>
246+
<sect1><title>Digital TV Frontend kABI</title>
247+
!Pdrivers/media/dvb-core/dvb_frontend.h Digital TV Frontend
248+
!Idrivers/media/dvb-core/dvb_frontend.h
249+
</sect1>
250+
<sect1><title>Digital TV Demux kABI</title>
251+
!Pdrivers/media/dvb-core/demux.h Digital TV Demux
252+
<sect1><title>Demux Callback API</title>
253+
!Pdrivers/media/dvb-core/demux.h Demux Callback
254+
</sect1>
311255
!Idrivers/media/dvb-core/demux.h
312-
</sect1>
256+
</sect1>
257+
<sect1><title>Digital TV Conditional Access kABI</title>
258+
!Idrivers/media/dvb-core/dvb_ca_en50221.h
259+
</sect1>
260+
</sect1>
313261
<sect1><title>Remote Controller devices</title>
314262
!Iinclude/media/rc-core.h
315263
!Iinclude/media/lirc_dev.h

Documentation/DocBook/media/Makefile

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -199,8 +199,10 @@ DVB_DOCUMENTED = \
199199
#
200200

201201
install_media_images = \
202-
$(Q)-mkdir $(MEDIA_OBJ_DIR)/media_api; \
203-
cp $(OBJIMGFILES) $(MEDIA_SRC_DIR)/*.svg $(MEDIA_SRC_DIR)/v4l/*.svg $(MEDIA_OBJ_DIR)/media_api
202+
$(Q)if [ "x$(findstring media_api.xml,$(DOCBOOKS))" != "x" ]; then \
203+
mkdir -p $(MEDIA_OBJ_DIR)/media_api; \
204+
cp $(OBJIMGFILES) $(MEDIA_SRC_DIR)/*.svg $(MEDIA_SRC_DIR)/v4l/*.svg $(MEDIA_OBJ_DIR)/media_api; \
205+
fi
204206

205207
$(MEDIA_OBJ_DIR)/%: $(MEDIA_SRC_DIR)/%.b64
206208
$(Q)base64 -d $< >$@

Documentation/DocBook/media/dvb/dvbproperty.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ int main(void)
7676

7777
<para>NOTE: While it is possible to directly call the Kernel code like the
7878
above example, it is strongly recommended to use
79-
<ulink url="http://linuxtv.org/docs/libdvbv5/index.html">libdvbv5</ulink>,
79+
<ulink url="https://linuxtv.org/docs/libdvbv5/index.html">libdvbv5</ulink>,
8080
as it provides abstraction to work with the supported digital TV standards
8181
and provides methods for usual operations like program scanning and to
8282
read/write channel descriptor files.</para>

Documentation/DocBook/media/dvb/examples.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
</para>
44
<para>NOTE: This section is out of date, and the code below won't even
55
compile. Please refer to the
6-
<ulink url="http://linuxtv.org/docs/libdvbv5/index.html">libdvbv5</ulink>
6+
<ulink url="https://linuxtv.org/docs/libdvbv5/index.html">libdvbv5</ulink>
77
for updated/recommended examples.
88
</para>
99

Documentation/DocBook/media/dvb/intro.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ and filtering several section and PES data streams at the same time.
3232
new standard Linux DVB API. As a commitment to the development of
3333
terminals based on open standards, Nokia and Convergence made it
3434
available to all Linux developers and published it on
35-
<ulink url="http://www.linuxtv.org/" /> in September 2000.
35+
<ulink url="https://linuxtv.org" /> in September 2000.
3636
Convergence is the maintainer of the Linux DVB API. Together with the
3737
LinuxTV community (i.e. you, the reader of this document), the Linux DVB
3838
API will be constantly reviewed and improved. With the Linux driver for

Documentation/DocBook/media/v4l/capture.c.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
* This program can be used and distributed without restrictions.
66
*
77
* This program is provided with the V4L2 API
8-
* see http://linuxtv.org/docs.php for more information
8+
* see https://linuxtv.org/docs.php for more information
99
*/
1010

1111
#include &lt;stdio.h&gt;

Documentation/DocBook/media/v4l/compat.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2666,7 +2666,7 @@ is useful to display images captured with V4L2 devices.</para>
26662666
<para>V4L2 does not support digital terrestrial, cable or
26672667
satellite broadcast. A separate project aiming at digital receivers
26682668
exists. You can find its homepage at <ulink
2669-
url="http://linuxtv.org">http://linuxtv.org</ulink>. The Linux DVB API
2669+
url="https://linuxtv.org">https://linuxtv.org</ulink>. The Linux DVB API
26702670
has no connection to the V4L2 API except that drivers for hybrid
26712671
hardware may support both.</para>
26722672
</section>

Documentation/DocBook/media/v4l/io.xml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -699,7 +699,7 @@ linkend="v4l2-buf-type" /></entry>
699699
buffer. It depends on the negotiated data format and may change with
700700
each buffer for compressed variable size data like JPEG images.
701701
Drivers must set this field when <structfield>type</structfield>
702-
refers to an input stream, applications when it refers to an output stream.
702+
refers to a capture stream, applications when it refers to an output stream.
703703
If the application sets this to 0 for an output stream, then
704704
<structfield>bytesused</structfield> will be set to the size of the
705705
buffer (see the <structfield>length</structfield> field of this struct) by
@@ -720,14 +720,14 @@ linkend="buffer-flags" />.</entry>
720720
<entry>Indicates the field order of the image in the
721721
buffer, see <xref linkend="v4l2-field" />. This field is not used when
722722
the buffer contains VBI data. Drivers must set it when
723-
<structfield>type</structfield> refers to an input stream,
723+
<structfield>type</structfield> refers to a capture stream,
724724
applications when it refers to an output stream.</entry>
725725
</row>
726726
<row>
727727
<entry>struct timeval</entry>
728728
<entry><structfield>timestamp</structfield></entry>
729729
<entry></entry>
730-
<entry><para>For input streams this is time when the first data
730+
<entry><para>For capture streams this is time when the first data
731731
byte was captured, as returned by the
732732
<function>clock_gettime()</function> function for the relevant
733733
clock id; see <constant>V4L2_BUF_FLAG_TIMESTAMP_*</constant> in
@@ -866,7 +866,7 @@ must set this to 0.</entry>
866866
<entry></entry>
867867
<entry>The number of bytes occupied by data in the plane
868868
(its payload). Drivers must set this field when <structfield>type</structfield>
869-
refers to an input stream, applications when it refers to an output stream.
869+
refers to a capture stream, applications when it refers to an output stream.
870870
If the application sets this to 0 for an output stream, then
871871
<structfield>bytesused</structfield> will be set to the size of the
872872
plane (see the <structfield>length</structfield> field of this struct)
@@ -919,7 +919,7 @@ must set this to 0.</entry>
919919
<entry></entry>
920920
<entry>Offset in bytes to video data in the plane.
921921
Drivers must set this field when <structfield>type</structfield>
922-
refers to an input stream, applications when it refers to an output stream.
922+
refers to a capture stream, applications when it refers to an output stream.
923923
Note that data_offset is included in <structfield>bytesused</structfield>.
924924
So the size of the image in the plane is
925925
<structfield>bytesused</structfield>-<structfield>data_offset</structfield> at

Documentation/DocBook/media/v4l/v4l2.xml

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,16 @@ Rubli, Andy Walls, Muralidharan Karicheri, Mauro Carvalho Chehab,
151151
structs, ioctls) must be noted in more detail in the history chapter
152152
(compat.xml), along with the possible impact on existing drivers and
153153
applications. -->
154+
<revision>
155+
<revnumber>4.5</revnumber>
156+
<date>2015-10-29</date>
157+
<authorinitials>rr</authorinitials>
158+
<revremark>Extend vidioc-g-ext-ctrls;. Replace ctrl_class with a new
159+
union with ctrl_class and which. Which is used to select the current value of
160+
the control or the default value.
161+
</revremark>
162+
</revision>
163+
154164
<revision>
155165
<revnumber>4.4</revnumber>
156166
<date>2015-05-26</date>

Documentation/DocBook/media/v4l/vidioc-create-bufs.xml

Lines changed: 14 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
<para>This ioctl is used to create buffers for <link linkend="mmap">memory
5959
mapped</link> or <link linkend="userp">user pointer</link> or <link
6060
linkend="dmabuf">DMA buffer</link> I/O. It can be used as an alternative or in
61-
addition to the <constant>VIDIOC_REQBUFS</constant> ioctl, when a tighter
61+
addition to the &VIDIOC-REQBUFS; ioctl, when a tighter
6262
control over buffers is required. This ioctl can be called multiple times to
6363
create buffers of different sizes.</para>
6464

@@ -71,30 +71,28 @@ zeroed.</para>
7171

7272
<para>The <structfield>format</structfield> field specifies the image format
7373
that the buffers must be able to handle. The application has to fill in this
74-
&v4l2-format;. Usually this will be done using the
75-
<constant>VIDIOC_TRY_FMT</constant> or <constant>VIDIOC_G_FMT</constant> ioctl()
76-
to ensure that the requested format is supported by the driver. Unsupported
77-
formats will result in an error.</para>
74+
&v4l2-format;. Usually this will be done using the &VIDIOC-TRY-FMT; or &VIDIOC-G-FMT; ioctls
75+
to ensure that the requested format is supported by the driver.
76+
Based on the format's <structfield>type</structfield> field the requested buffer
77+
size (for single-planar) or plane sizes (for multi-planar formats) will be
78+
used for the allocated buffers. The driver may return an error if the size(s)
79+
are not supported by the hardware (usually because they are too small).</para>
7880

7981
<para>The buffers created by this ioctl will have as minimum size the size
80-
defined by the <structfield>format.pix.sizeimage</structfield> field. If the
82+
defined by the <structfield>format.pix.sizeimage</structfield> field (or the
83+
corresponding fields for other format types). Usually if the
8184
<structfield>format.pix.sizeimage</structfield> field is less than the minimum
82-
required for the given format, then <structfield>sizeimage</structfield> will be
83-
increased by the driver to that minimum to allocate the buffers. If it is
84-
larger, then the value will be used as-is. The same applies to the
85-
<structfield>sizeimage</structfield> field of the
86-
<structname>v4l2_plane_pix_format</structname> structure in the case of
87-
multiplanar formats.</para>
85+
required for the given format, then an error will be returned since drivers will
86+
typically not allow this. If it is larger, then the value will be used as-is.
87+
In other words, the driver may reject the requested size, but if it is accepted
88+
the driver will use it unchanged.</para>
8889

8990
<para>When the ioctl is called with a pointer to this structure the driver
9091
will attempt to allocate up to the requested number of buffers and store the
9192
actual number allocated and the starting index in the
9293
<structfield>count</structfield> and the <structfield>index</structfield> fields
9394
respectively. On return <structfield>count</structfield> can be smaller than
94-
the number requested. The driver may also increase buffer sizes if required,
95-
however, it will not update <structfield>sizeimage</structfield> field values.
96-
The user has to use <constant>VIDIOC_QUERYBUF</constant> to retrieve that
97-
information.</para>
95+
the number requested.</para>
9896

9997
<table pgwide="1" frame="none" id="v4l2-create-buffers">
10098
<title>struct <structname>v4l2_create_buffers</structname></title>

Documentation/DocBook/media/v4l/vidioc-dbg-g-chip-info.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ if the driver supports writing registers to the device.</para>
9999
<para>We recommended the <application>v4l2-dbg</application>
100100
utility over calling this ioctl directly. It is available from the
101101
LinuxTV v4l-dvb repository; see <ulink
102-
url="http://linuxtv.org/repo/">http://linuxtv.org/repo/</ulink> for
102+
url="https://linuxtv.org/repo/">https://linuxtv.org/repo/</ulink> for
103103
access instructions.</para>
104104

105105
<!-- Note for convenience vidioc-dbg-g-register.sgml

Documentation/DocBook/media/v4l/vidioc-dbg-g-register.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ However when a driver supports these ioctls it must also support
117117
<para>We recommended the <application>v4l2-dbg</application>
118118
utility over calling these ioctls directly. It is available from the
119119
LinuxTV v4l-dvb repository; see <ulink
120-
url="http://linuxtv.org/repo/">http://linuxtv.org/repo/</ulink> for
120+
url="https://linuxtv.org/repo/">https://linuxtv.org/repo/</ulink> for
121121
access instructions.</para>
122122

123123
<!-- Note for convenience vidioc-dbg-g-chip-info.sgml

Documentation/DocBook/media/v4l/vidioc-enumstd.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -198,7 +198,7 @@ [email protected] on 17 Oct 2002
198198
<constant>V4L2_STD_ATSC_16_VSB</constant> are U.S. terrestrial digital
199199
TV standards. Presently the V4L2 API does not support digital TV. See
200200
also the Linux DVB API at <ulink
201-
url="http://linuxtv.org">http://linuxtv.org</ulink>.</para>
201+
url="https://linuxtv.org">https://linuxtv.org</ulink>.</para>
202202
<para><programlisting>
203203
#define V4L2_STD_PAL_BG (V4L2_STD_PAL_B |\
204204
V4L2_STD_PAL_B1 |\

0 commit comments

Comments
 (0)