Skip to content

Commit 0cb7bf6

Browse files
committed
Merge branch 'linus' into smp/hotplug
Apply upstream changes to avoid conflicts with pending patches.
2 parents aa87717 + 3eab887 commit 0cb7bf6

File tree

679 files changed

+8258
-3851
lines changed

Some content is hidden

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

679 files changed

+8258
-3851
lines changed

Documentation/PCI/MSI-HOWTO.txt

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -94,14 +94,11 @@ has a requirements for a minimum number of vectors the driver can pass a
9494
min_vecs argument set to this limit, and the PCI core will return -ENOSPC
9595
if it can't meet the minimum number of vectors.
9696

97-
The flags argument should normally be set to 0, but can be used to pass the
98-
PCI_IRQ_NOMSI and PCI_IRQ_NOMSIX flag in case a device claims to support
99-
MSI or MSI-X, but the support is broken, or to pass PCI_IRQ_NOLEGACY in
100-
case the device does not support legacy interrupt lines.
101-
102-
By default this function will spread the interrupts around the available
103-
CPUs, but this feature can be disabled by passing the PCI_IRQ_NOAFFINITY
104-
flag.
97+
The flags argument is used to specify which type of interrupt can be used
98+
by the device and the driver (PCI_IRQ_LEGACY, PCI_IRQ_MSI, PCI_IRQ_MSIX).
99+
A convenient short-hand (PCI_IRQ_ALL_TYPES) is also available to ask for
100+
any possible kind of interrupt. If the PCI_IRQ_AFFINITY flag is set,
101+
pci_alloc_irq_vectors() will spread the interrupts around the available CPUs.
105102

106103
To get the Linux IRQ numbers passed to request_irq() and free_irq() and the
107104
vectors, use the following function:
@@ -131,7 +128,7 @@ larger than the number supported by the device it will automatically be
131128
capped to the supported limit, so there is no need to query the number of
132129
vectors supported beforehand:
133130

134-
nvec = pci_alloc_irq_vectors(pdev, 1, nvec, 0);
131+
nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_ALL_TYPES)
135132
if (nvec < 0)
136133
goto out_err;
137134

@@ -140,23 +137,22 @@ interrupts it can request a particular number of interrupts by passing that
140137
number to pci_alloc_irq_vectors() function as both 'min_vecs' and
141138
'max_vecs' parameters:
142139

143-
ret = pci_alloc_irq_vectors(pdev, nvec, nvec, 0);
140+
ret = pci_alloc_irq_vectors(pdev, nvec, nvec, PCI_IRQ_ALL_TYPES);
144141
if (ret < 0)
145142
goto out_err;
146143

147144
The most notorious example of the request type described above is enabling
148145
the single MSI mode for a device. It could be done by passing two 1s as
149146
'min_vecs' and 'max_vecs':
150147

151-
ret = pci_alloc_irq_vectors(pdev, 1, 1, 0);
148+
ret = pci_alloc_irq_vectors(pdev, 1, 1, PCI_IRQ_ALL_TYPES);
152149
if (ret < 0)
153150
goto out_err;
154151

155152
Some devices might not support using legacy line interrupts, in which case
156-
the PCI_IRQ_NOLEGACY flag can be used to fail the request if the platform
157-
can't provide MSI or MSI-X interrupts:
153+
the driver can specify that only MSI or MSI-X is acceptable:
158154

159-
nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_NOLEGACY);
155+
nvec = pci_alloc_irq_vectors(pdev, 1, nvec, PCI_IRQ_MSI | PCI_IRQ_MSIX);
160156
if (nvec < 0)
161157
goto out_err;
162158

Documentation/arm64/silicon-errata.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ stable kernels.
5353
| ARM | Cortex-A57 | #832075 | ARM64_ERRATUM_832075 |
5454
| ARM | Cortex-A57 | #852523 | N/A |
5555
| ARM | Cortex-A57 | #834220 | ARM64_ERRATUM_834220 |
56+
| ARM | Cortex-A72 | #853709 | N/A |
5657
| ARM | MMU-500 | #841119,#826419 | N/A |
5758
| | | | |
5859
| Cavium | ThunderX ITS | #22375, #24313 | CAVIUM_ERRATUM_22375 |

Documentation/block/queue-sysfs.txt

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,12 @@ add_random (RW)
1414
This file allows to turn off the disk entropy contribution. Default
1515
value of this file is '1'(on).
1616

17+
dax (RO)
18+
--------
19+
This file indicates whether the device supports Direct Access (DAX),
20+
used by CPU-addressable storage to bypass the pagecache. It shows '1'
21+
if true, '0' if not.
22+
1723
discard_granularity (RO)
1824
-----------------------
1925
This shows the size of internal allocation of the device in bytes, if
@@ -46,6 +52,12 @@ hw_sector_size (RO)
4652
-------------------
4753
This is the hardware sector size of the device, in bytes.
4854

55+
io_poll (RW)
56+
------------
57+
When read, this file shows the total number of block IO polls and how
58+
many returned success. Writing '0' to this file will disable polling
59+
for this device. Writing any non-zero value will enable this feature.
60+
4961
iostats (RW)
5062
-------------
5163
This file is used to control (on/off) the iostats accounting of the
@@ -151,5 +163,11 @@ device state. This means that it might not be safe to toggle the
151163
setting from "write back" to "write through", since that will also
152164
eliminate cache flushes issued by the kernel.
153165

166+
write_same_max_bytes (RO)
167+
-------------------------
168+
This is the number of bytes the device can write in a single write-same
169+
command. A value of '0' means write-same is not supported by this
170+
device.
171+
154172

155173
Jens Axboe <jens.axboe@oracle.com>, February 2009

Documentation/conf.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -131,7 +131,7 @@
131131
todo_include_todos = False
132132

133133
primary_domain = 'C'
134-
highlight_language = 'C'
134+
highlight_language = 'guess'
135135

136136
# -- Options for HTML output ----------------------------------------------
137137

Documentation/devicetree/bindings/sound/omap-mcpdm.txt

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,6 @@ Required properties:
88
- interrupts: Interrupt number for McPDM
99
- interrupt-parent: The parent interrupt controller
1010
- ti,hwmods: Name of the hwmod associated to the McPDM
11-
- clocks: phandle for the pdmclk provider, likely <&twl6040>
12-
- clock-names: Must be "pdmclk"
1311

1412
Example:
1513

@@ -21,11 +19,3 @@ mcpdm: mcpdm@40132000 {
2119
interrupt-parent = <&gic>;
2220
ti,hwmods = "mcpdm";
2321
};
24-
25-
In board DTS file the pdmclk needs to be added:
26-
27-
&mcpdm {
28-
clocks = <&twl6040>;
29-
clock-names = "pdmclk";
30-
status = "okay";
31-
};

Documentation/devicetree/bindings/thermal/thermal.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ For more examples of cooling devices, refer to the example sections below.
6262
Required properties:
6363
- #cooling-cells: Used to provide cooling device specific information
6464
Type: unsigned while referring to it. Must be at least 2, in order
65-
Size: one cell to specify minimum and maximum cooling state used
65+
Size: one cell to specify minimum and maximum cooling state used
6666
in the reference. The first cell is the minimum
6767
cooling state requested and the second cell is
6868
the maximum cooling state requested in the reference.
@@ -119,7 +119,7 @@ Required properties:
119119
Optional property:
120120
- contribution: The cooling contribution to the thermal zone of the
121121
Type: unsigned referred cooling device at the referred trip point.
122-
Size: one cell The contribution is a ratio of the sum
122+
Size: one cell The contribution is a ratio of the sum
123123
of all cooling contributions within a thermal zone.
124124

125125
Note: Using the THERMAL_NO_LIMIT (-1UL) constant in the cooling-device phandle
@@ -145,7 +145,7 @@ Required properties:
145145
Size: one cell
146146

147147
- thermal-sensors: A list of thermal sensor phandles and sensor specifier
148-
Type: list of used while monitoring the thermal zone.
148+
Type: list of used while monitoring the thermal zone.
149149
phandles + sensor
150150
specifier
151151

@@ -473,7 +473,7 @@ thermal-zones {
473473
<&adc>; /* pcb north */
474474

475475
/* hotspot = 100 * bandgap - 120 * adc + 484 */
476-
coefficients = <100 -120 484>;
476+
coefficients = <100 -120 484>;
477477

478478
trips {
479479
...
@@ -502,7 +502,7 @@ from the ADC sensor. The binding would be then:
502502
thermal-sensors = <&adc>;
503503

504504
/* hotspot = 1 * adc + 6000 */
505-
coefficients = <1 6000>;
505+
coefficients = <1 6000>;
506506

507507
(d) - Board thermal
508508

Documentation/hwmon/ftsteutates

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,5 +19,5 @@ enhancements. It can monitor up to 4 voltages, 16 temperatures and
1919
implemented in this driver.
2020

2121
Specification of the chip can be found here:
22-
ftp:///pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/BMC-Teutates_Specification_V1.21.pdf
23-
ftp:///pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/Fujitsu_mainboards-1-Sensors_HowTo-en-US.pdf
22+
ftp://ftp.ts.fujitsu.com/pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/BMC-Teutates_Specification_V1.21.pdf
23+
ftp://ftp.ts.fujitsu.com/pub/Mainboard-OEM-Sales/Services/Software&Tools/Linux_SystemMonitoring&Watchdog&GPIO/Fujitsu_mainboards-1-Sensors_HowTo-en-US.pdf

Documentation/kernel-documentation.rst

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -366,8 +366,6 @@ Domain`_ references.
366366
Cross-referencing from reStructuredText
367367
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
368368

369-
.. highlight:: none
370-
371369
To cross-reference the functions and types defined in the kernel-doc comments
372370
from reStructuredText documents, please use the `Sphinx C Domain`_
373371
references. For example::
@@ -390,8 +388,6 @@ For further details, please refer to the `Sphinx C Domain`_ documentation.
390388
Function documentation
391389
----------------------
392390

393-
.. highlight:: c
394-
395391
The general format of a function and function-like macro kernel-doc comment is::
396392

397393
/**
@@ -572,8 +568,6 @@ DocBook XML [DEPRECATED]
572568
Converting DocBook to Sphinx
573569
----------------------------
574570

575-
.. highlight:: none
576-
577571
Over time, we expect all of the documents under ``Documentation/DocBook`` to be
578572
converted to Sphinx and reStructuredText. For most DocBook XML documents, a good
579573
enough solution is to use the simple ``Documentation/sphinx/tmplcvt`` script,

Documentation/kernel-parameters.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3032,6 +3032,10 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
30323032
PAGE_SIZE is used as alignment.
30333033
PCI-PCI bridge can be specified, if resource
30343034
windows need to be expanded.
3035+
To specify the alignment for several
3036+
instances of a device, the PCI vendor,
3037+
device, subvendor, and subdevice may be
3038+
specified, e.g., 4096@pci:8086:9c22:103c:198f
30353039
ecrc= Enable/disable PCIe ECRC (transaction layer
30363040
end-to-end CRC checking).
30373041
bios: Use BIOS/firmware settings. This is the

Documentation/networking/rxrpc.txt

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -790,13 +790,12 @@ The kernel interface functions are as follows:
790790
Data messages can have their contents extracted with the usual bunch of
791791
socket buffer manipulation functions. A data message can be determined to
792792
be the last one in a sequence with rxrpc_kernel_is_data_last(). When a
793-
data message has been used up, rxrpc_kernel_data_delivered() should be
794-
called on it..
793+
data message has been used up, rxrpc_kernel_data_consumed() should be
794+
called on it.
795795

796-
Non-data messages should be handled to rxrpc_kernel_free_skb() to dispose
797-
of. It is possible to get extra refs on all types of message for later
798-
freeing, but this may pin the state of a call until the message is finally
799-
freed.
796+
Messages should be handled to rxrpc_kernel_free_skb() to dispose of. It
797+
is possible to get extra refs on all types of message for later freeing,
798+
but this may pin the state of a call until the message is finally freed.
800799

801800
(*) Accept an incoming call.
802801

@@ -821,12 +820,14 @@ The kernel interface functions are as follows:
821820
Other errors may be returned if the call had been aborted (-ECONNABORTED)
822821
or had timed out (-ETIME).
823822

824-
(*) Record the delivery of a data message and free it.
823+
(*) Record the delivery of a data message.
825824

826-
void rxrpc_kernel_data_delivered(struct sk_buff *skb);
825+
void rxrpc_kernel_data_consumed(struct rxrpc_call *call,
826+
struct sk_buff *skb);
827827

828-
This is used to record a data message as having been delivered and to
829-
update the ACK state for the call. The socket buffer will be freed.
828+
This is used to record a data message as having been consumed and to
829+
update the ACK state for the call. The message must still be passed to
830+
rxrpc_kernel_free_skb() for disposal by the caller.
830831

831832
(*) Free a message.
832833

Documentation/power/basic-pm-debugging.txt

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,32 @@ load n/2 modules more and try again.
164164
Again, if you find the offending module(s), it(they) must be unloaded every time
165165
before hibernation, and please report the problem with it(them).
166166

167-
c) Advanced debugging
167+
c) Using the "test_resume" hibernation option
168+
169+
/sys/power/disk generally tells the kernel what to do after creating a
170+
hibernation image. One of the available options is "test_resume" which
171+
causes the just created image to be used for immediate restoration. Namely,
172+
after doing:
173+
174+
# echo test_resume > /sys/power/disk
175+
# echo disk > /sys/power/state
176+
177+
a hibernation image will be created and a resume from it will be triggered
178+
immediately without involving the platform firmware in any way.
179+
180+
That test can be used to check if failures to resume from hibernation are
181+
related to bad interactions with the platform firmware. That is, if the above
182+
works every time, but resume from actual hibernation does not work or is
183+
unreliable, the platform firmware may be responsible for the failures.
184+
185+
On architectures and platforms that support using different kernels to restore
186+
hibernation images (that is, the kernel used to read the image from storage and
187+
load it into memory is different from the one included in the image) or support
188+
kernel address space randomization, it also can be used to check if failures
189+
to resume may be related to the differences between the restore and image
190+
kernels.
191+
192+
d) Advanced debugging
168193

169194
In case that hibernation does not work on your system even in the minimal
170195
configuration and compiling more drivers as modules is not practical or some

0 commit comments

Comments
 (0)