Skip to content

Commit 50fb815

Browse files
authored
Merge pull request #564 from ojeda/sync
Sync with v5.16-rc2
2 parents 3593915 + 147ebd2 commit 50fb815

File tree

377 files changed

+3362
-1995
lines changed

Some content is hidden

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

377 files changed

+3362
-1995
lines changed

.mailmap

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,9 @@ Chao Yu <[email protected]> <[email protected]>
7171
7272
7373
74+
Christian Borntraeger <[email protected]> <[email protected]>
75+
Christian Borntraeger <[email protected]> <[email protected]>
76+
Christian Borntraeger <[email protected]> <[email protected]>
7477
Christophe Ricard <[email protected]>
7578
Christoph Hellwig <[email protected]>
7679

Documentation/admin-guide/laptops/thinkpad-acpi.rst

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1520,15 +1520,15 @@ This sysfs attribute controls the keyboard "face" that will be shown on the
15201520
Lenovo X1 Carbon 2nd gen (2014)'s adaptive keyboard. The value can be read
15211521
and set.
15221522

1523-
- 1 = Home mode
1524-
- 2 = Web-browser mode
1525-
- 3 = Web-conference mode
1526-
- 4 = Function mode
1527-
- 5 = Layflat mode
1523+
- 0 = Home mode
1524+
- 1 = Web-browser mode
1525+
- 2 = Web-conference mode
1526+
- 3 = Function mode
1527+
- 4 = Layflat mode
15281528

15291529
For more details about which buttons will appear depending on the mode, please
15301530
review the laptop's user guide:
1531-
http://www.lenovo.com/shop/americas/content/user_guides/x1carbon_2_ug_en.pdf
1531+
https://download.lenovo.com/ibmdl/pub/pc/pccbbs/mobiles_pdf/x1carbon_2_ug_en.pdf
15321532

15331533
Battery charge control
15341534
----------------------

Documentation/admin-guide/sysctl/kernel.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1099,7 +1099,7 @@ task_delayacct
10991099
===============
11001100

11011101
Enables/disables task delay accounting (see
1102-
:doc:`accounting/delay-accounting.rst`). Enabling this feature incurs
1102+
Documentation/accounting/delay-accounting.rst. Enabling this feature incurs
11031103
a small amount of overhead in the scheduler but is useful for debugging
11041104
and performance tuning. It is required by some tools such as iotop.
11051105

Documentation/arm/marvell.rst

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ Discovery family
104104

105105
Not supported by the Linux kernel.
106106

107+
Homepage:
108+
https://web.archive.org/web/20110924171043/http://www.marvell.com/embedded-processors/discovery-innovation/
107109
Core:
108110
Feroceon 88fr571-vd ARMv5 compatible
109111

@@ -120,16 +122,37 @@ EBU Armada family
120122
- 88F6707
121123
- 88F6W11
122124

125+
- Product infos: https://web.archive.org/web/20141002083258/http://www.marvell.com/embedded-processors/armada-370/
123126
- Product Brief: https://web.archive.org/web/20121115063038/http://www.marvell.com/embedded-processors/armada-300/assets/Marvell_ARMADA_370_SoC.pdf
124127
- Hardware Spec: https://web.archive.org/web/20140617183747/http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-datasheet.pdf
125128
- Functional Spec: https://web.archive.org/web/20140617183701/http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA370-FunctionalSpec-datasheet.pdf
126129

127130
Core:
128131
Sheeva ARMv7 compatible PJ4B
129132

133+
Armada XP Flavors:
134+
- MV78230
135+
- MV78260
136+
- MV78460
137+
138+
NOTE:
139+
not to be confused with the non-SMP 78xx0 SoCs
140+
141+
- Product infos: https://web.archive.org/web/20150101215721/http://www.marvell.com/embedded-processors/armada-xp/
142+
- Product Brief: https://web.archive.org/web/20121021173528/http://www.marvell.com/embedded-processors/armada-xp/assets/Marvell-ArmadaXP-SoC-product%20brief.pdf
143+
- Functional Spec: https://web.archive.org/web/20180829171131/http://www.marvell.com/embedded-processors/armada-xp/assets/ARMADA-XP-Functional-SpecDatasheet.pdf
144+
- Hardware Specs:
145+
- https://web.archive.org/web/20141127013651/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78230_OS.PDF
146+
- https://web.archive.org/web/20141222000224/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78260_OS.PDF
147+
- https://web.archive.org/web/20141222000230/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78460_OS.PDF
148+
149+
Core:
150+
Sheeva ARMv7 compatible Dual-core or Quad-core PJ4B-MP
151+
130152
Armada 375 Flavors:
131153
- 88F6720
132154

155+
- Product infos: https://web.archive.org/web/20140108032402/http://www.marvell.com/embedded-processors/armada-375/
133156
- Product Brief: https://web.archive.org/web/20131216023516/http://www.marvell.com/embedded-processors/armada-300/assets/ARMADA_375_SoC-01_product_brief.pdf
134157

135158
Core:
@@ -162,29 +185,6 @@ EBU Armada family
162185
Core:
163186
ARM Cortex-A9
164187

165-
Armada XP Flavors:
166-
- MV78230
167-
- MV78260
168-
- MV78460
169-
170-
NOTE:
171-
not to be confused with the non-SMP 78xx0 SoCs
172-
173-
Product Brief:
174-
https://web.archive.org/web/20121021173528/http://www.marvell.com/embedded-processors/armada-xp/assets/Marvell-ArmadaXP-SoC-product%20brief.pdf
175-
176-
Functional Spec:
177-
https://web.archive.org/web/20180829171131/http://www.marvell.com/embedded-processors/armada-xp/assets/ARMADA-XP-Functional-SpecDatasheet.pdf
178-
179-
- Hardware Specs:
180-
181-
- https://web.archive.org/web/20141127013651/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78230_OS.PDF
182-
- https://web.archive.org/web/20141222000224/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78260_OS.PDF
183-
- https://web.archive.org/web/20141222000230/http://www.marvell.com/embedded-processors/armada-xp/assets/HW_MV78460_OS.PDF
184-
185-
Core:
186-
Sheeva ARMv7 compatible Dual-core or Quad-core PJ4B-MP
187-
188188
Linux kernel mach directory:
189189
arch/arm/mach-mvebu
190190
Linux kernel plat directory:
@@ -436,7 +436,7 @@ Berlin family (Multimedia Solutions)
436436
- Flavors:
437437
- 88DE3010, Armada 1000 (no Linux support)
438438
- Core: Marvell PJ1 (ARMv5TE), Dual-core
439-
- Product Brief: http://www.marvell.com.cn/digital-entertainment/assets/armada_1000_pb.pdf
439+
- Product Brief: https://web.archive.org/web/20131103162620/http://www.marvell.com/digital-entertainment/assets/armada_1000_pb.pdf
440440
- 88DE3005, Armada 1500 Mini
441441
- Design name: BG2CD
442442
- Core: ARM Cortex-A9, PL310 L2CC

Documentation/bpf/index.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ that goes into great technical depth about the BPF Architecture.
1515
libbpf
1616
======
1717

18-
Documentation/bpf/libbpf/libbpf.rst is a userspace library for loading and interacting with bpf programs.
18+
Documentation/bpf/libbpf/index.rst is a userspace library for loading and interacting with bpf programs.
1919

2020
BPF Type Format (BTF)
2121
=====================

Documentation/doc-guide/sphinx.rst

Lines changed: 9 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Sphinx Install
2727
==============
2828

2929
The ReST markups currently used by the Documentation/ files are meant to be
30-
built with ``Sphinx`` version 1.3 or higher.
30+
built with ``Sphinx`` version 1.7 or higher.
3131

3232
There's a script that checks for the Sphinx requirements. Please see
3333
:ref:`sphinx-pre-install` for further details.
@@ -43,10 +43,6 @@ or ``virtualenv``, depending on how your distribution packaged Python 3.
4343

4444
.. note::
4545

46-
#) Sphinx versions below 1.5 don't work properly with Python's
47-
docutils version 0.13.1 or higher. So, if you're willing to use
48-
those versions, you should run ``pip install 'docutils==0.12'``.
49-
5046
#) It is recommended to use the RTD theme for html output. Depending
5147
on the Sphinx version, it should be installed separately,
5248
with ``pip install sphinx_rtd_theme``.
@@ -55,13 +51,13 @@ or ``virtualenv``, depending on how your distribution packaged Python 3.
5551
those expressions are written using LaTeX notation. It needs texlive
5652
installed with amsfonts and amsmath in order to evaluate them.
5753

58-
In summary, if you want to install Sphinx version 1.7.9, you should do::
54+
In summary, if you want to install Sphinx version 2.4.4, you should do::
5955

60-
$ virtualenv sphinx_1.7.9
61-
$ . sphinx_1.7.9/bin/activate
62-
(sphinx_1.7.9) $ pip install -r Documentation/sphinx/requirements.txt
56+
$ virtualenv sphinx_2.4.4
57+
$ . sphinx_2.4.4/bin/activate
58+
(sphinx_2.4.4) $ pip install -r Documentation/sphinx/requirements.txt
6359

64-
After running ``. sphinx_1.7.9/bin/activate``, the prompt will change,
60+
After running ``. sphinx_2.4.4/bin/activate``, the prompt will change,
6561
in order to indicate that you're using the new environment. If you
6662
open a new shell, you need to rerun this command to enter again at
6763
the virtual environment before building the documentation.
@@ -81,7 +77,7 @@ output.
8177
PDF and LaTeX builds
8278
--------------------
8379

84-
Such builds are currently supported only with Sphinx versions 1.4 and higher.
80+
Such builds are currently supported only with Sphinx versions 2.4 and higher.
8581

8682
For PDF and LaTeX output, you'll also need ``XeLaTeX`` version 3.14159265.
8783

@@ -104,8 +100,8 @@ command line options for your distro::
104100
You should run:
105101

106102
sudo dnf install -y texlive-luatex85
107-
/usr/bin/virtualenv sphinx_1.7.9
108-
. sphinx_1.7.9/bin/activate
103+
/usr/bin/virtualenv sphinx_2.4.4
104+
. sphinx_2.4.4/bin/activate
109105
pip install -r Documentation/sphinx/requirements.txt
110106

111107
Can't build as 1 mandatory dependency is missing at ./scripts/sphinx-pre-install line 468.

Documentation/filesystems/autofs.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ This document describes only the kernel module and the interactions
3535
required with any user-space program. Subsequent text refers to this
3636
as the "automount daemon" or simply "the daemon".
3737

38-
"autofs" is a Linux kernel module with provides the "autofs"
38+
"autofs" is a Linux kernel module which provides the "autofs"
3939
filesystem type. Several "autofs" filesystems can be mounted and they
4040
can each be managed separately, or all managed by the same daemon.
4141

Documentation/power/energy-model.rst

Lines changed: 38 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,16 @@ CONFIG_ENERGY_MODEL must be enabled to use the EM framework.
8484
2.2 Registration of performance domains
8585
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
8686

87+
Registration of 'advanced' EM
88+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
89+
90+
The 'advanced' EM gets it's name due to the fact that the driver is allowed
91+
to provide more precised power model. It's not limited to some implemented math
92+
formula in the framework (like it's in 'simple' EM case). It can better reflect
93+
the real power measurements performed for each performance state. Thus, this
94+
registration method should be preferred in case considering EM static power
95+
(leakage) is important.
96+
8797
Drivers are expected to register performance domains into the EM framework by
8898
calling the following API::
8999

@@ -103,6 +113,18 @@ to: return warning/error, stop working or panic.
103113
See Section 3. for an example of driver implementing this
104114
callback, or Section 2.4 for further documentation on this API
105115

116+
Registration of 'simple' EM
117+
~~~~~~~~~~~~~~~~~~~~~~~~~~~
118+
119+
The 'simple' EM is registered using the framework helper function
120+
cpufreq_register_em_with_opp(). It implements a power model which is tight to
121+
math formula::
122+
123+
Power = C * V^2 * f
124+
125+
The EM which is registered using this method might not reflect correctly the
126+
physics of a real device, e.g. when static power (leakage) is important.
127+
106128

107129
2.3 Accessing performance domains
108130
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -138,6 +160,10 @@ or in Section 2.4
138160
3. Example driver
139161
-----------------
140162

163+
The CPUFreq framework supports dedicated callback for registering
164+
the EM for a given CPU(s) 'policy' object: cpufreq_driver::register_em().
165+
That callback has to be implemented properly for a given driver,
166+
because the framework would call it at the right time during setup.
141167
This section provides a simple example of a CPUFreq driver registering a
142168
performance domain in the Energy Model framework using the (fake) 'foo'
143169
protocol. The driver implements an est_power() function to be provided to the
@@ -167,25 +193,22 @@ EM framework::
167193
20 return 0;
168194
21 }
169195
22
170-
23 static int foo_cpufreq_init(struct cpufreq_policy *policy)
196+
23 static void foo_cpufreq_register_em(struct cpufreq_policy *policy)
171197
24 {
172198
25 struct em_data_callback em_cb = EM_DATA_CB(est_power);
173199
26 struct device *cpu_dev;
174-
27 int nr_opp, ret;
200+
27 int nr_opp;
175201
28
176202
29 cpu_dev = get_cpu_device(cpumask_first(policy->cpus));
177203
30
178-
31 /* Do the actual CPUFreq init work ... */
179-
32 ret = do_foo_cpufreq_init(policy);
180-
33 if (ret)
181-
34 return ret;
182-
35
183-
36 /* Find the number of OPPs for this policy */
184-
37 nr_opp = foo_get_nr_opp(policy);
204+
31 /* Find the number of OPPs for this policy */
205+
32 nr_opp = foo_get_nr_opp(policy);
206+
33
207+
34 /* And register the new performance domain */
208+
35 em_dev_register_perf_domain(cpu_dev, nr_opp, &em_cb, policy->cpus,
209+
36 true);
210+
37 }
185211
38
186-
39 /* And register the new performance domain */
187-
40 em_dev_register_perf_domain(cpu_dev, nr_opp, &em_cb, policy->cpus,
188-
41 true);
189-
42
190-
43 return 0;
191-
44 }
212+
39 static struct cpufreq_driver foo_cpufreq_driver = {
213+
40 .register_em = foo_cpufreq_register_em,
214+
41 };

Documentation/process/changes.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ mcelog 0.6 mcelog --version
6161
iptables 1.4.2 iptables -V
6262
openssl & libcrypto 1.0.0 openssl version
6363
bc 1.06.95 bc --version
64-
Sphinx\ [#f1]_ 1.3 sphinx-build --version
64+
Sphinx\ [#f1]_ 1.7 sphinx-build --version
6565
====================== =============== ========================================
6666

6767
.. [#f1] Sphinx is needed only to build the Kernel documentation

Documentation/process/submitting-patches.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@ use it, it will make your life as a kernel developer and in general much
2222
easier.
2323

2424
Some subsystems and maintainer trees have additional information about
25-
their workflow and expectations, see :ref:`Documentation/process/maintainer
26-
handbooks <maintainer_handbooks_main>`.
25+
their workflow and expectations, see
26+
:ref:`Documentation/process/maintainer-handbooks.rst <maintainer_handbooks_main>`.
2727

2828
Obtain a current source tree
2929
----------------------------

Documentation/trace/ftrace.rst

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2442,11 +2442,10 @@ Or this simple script!
24422442
#!/bin/bash
24432443

24442444
tracefs=`sed -ne 's/^tracefs \(.*\) tracefs.*/\1/p' /proc/mounts`
2445-
echo nop > $tracefs/tracing/current_tracer
2446-
echo 0 > $tracefs/tracing/tracing_on
2447-
echo $$ > $tracefs/tracing/set_ftrace_pid
2448-
echo function > $tracefs/tracing/current_tracer
2449-
echo 1 > $tracefs/tracing/tracing_on
2445+
echo 0 > $tracefs/tracing_on
2446+
echo $$ > $tracefs/set_ftrace_pid
2447+
echo function > $tracefs/current_tracer
2448+
echo 1 > $tracefs/tracing_on
24502449
exec "$@"
24512450

24522451

Documentation/translations/it_IT/doc-guide/sphinx.rst

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ Installazione Sphinx
3535
====================
3636

3737
I marcatori ReST utilizzati nei file in Documentation/ sono pensati per essere
38-
processati da ``Sphinx`` nella versione 1.3 o superiore.
38+
processati da ``Sphinx`` nella versione 1.7 o superiore.
3939

4040
Esiste uno script che verifica i requisiti Sphinx. Per ulteriori dettagli
4141
consultate :ref:`it_sphinx-pre-install`.
@@ -53,11 +53,6 @@ pacchettizzato dalla vostra distribuzione.
5353

5454
.. note::
5555

56-
#) Le versioni di Sphinx inferiori alla 1.5 non funzionano bene
57-
con il pacchetto Python docutils versione 0.13.1 o superiore.
58-
Se volete usare queste versioni, allora dovere eseguire
59-
``pip install 'docutils==0.12'``.
60-
6156
#) Viene raccomandato l'uso del tema RTD per la documentazione in HTML.
6257
A seconda della versione di Sphinx, potrebbe essere necessaria
6358
l'installazione tramite il comando ``pip install sphinx_rtd_theme``.
@@ -67,13 +62,13 @@ pacchettizzato dalla vostra distribuzione.
6762
utilizzando LaTeX. Per una corretta interpretazione, è necessario aver
6863
installato texlive con i pacchetti amdfonts e amsmath.
6964

70-
Riassumendo, se volete installare la versione 1.7.9 di Sphinx dovete eseguire::
65+
Riassumendo, se volete installare la versione 2.4.4 di Sphinx dovete eseguire::
7166

72-
$ virtualenv sphinx_1.7.9
73-
$ . sphinx_1.7.9/bin/activate
74-
(sphinx_1.7.9) $ pip install -r Documentation/sphinx/requirements.txt
67+
$ virtualenv sphinx_2.4.4
68+
$ . sphinx_2.4.4/bin/activate
69+
(sphinx_2.4.4) $ pip install -r Documentation/sphinx/requirements.txt
7570

76-
Dopo aver eseguito ``. sphinx_1.7.9/bin/activate``, il prompt cambierà per
71+
Dopo aver eseguito ``. sphinx_2.4.4/bin/activate``, il prompt cambierà per
7772
indicare che state usando il nuovo ambiente. Se aprite un nuova sessione,
7873
prima di generare la documentazione, dovrete rieseguire questo comando per
7974
rientrare nell'ambiente virtuale.
@@ -94,7 +89,7 @@ Generazione in PDF e LaTeX
9489
--------------------------
9590

9691
Al momento, la generazione di questi documenti è supportata solo dalle
97-
versioni di Sphinx superiori alla 1.4.
92+
versioni di Sphinx superiori alla 2.4.
9893

9994
Per la generazione di PDF e LaTeX, avrete bisogno anche del pacchetto
10095
``XeLaTeX`` nella versione 3.14159265
@@ -119,8 +114,8 @@ l'installazione::
119114
You should run:
120115

121116
sudo dnf install -y texlive-luatex85
122-
/usr/bin/virtualenv sphinx_1.7.9
123-
. sphinx_1.7.9/bin/activate
117+
/usr/bin/virtualenv sphinx_2.4.4
118+
. sphinx_2.4.4/bin/activate
124119
pip install -r Documentation/sphinx/requirements.txt
125120

126121
Can't build as 1 mandatory dependency is missing at ./scripts/sphinx-pre-install line 468.

Documentation/translations/it_IT/process/changes.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ mcelog 0.6 mcelog --version
5757
iptables 1.4.2 iptables -V
5858
openssl & libcrypto 1.0.0 openssl version
5959
bc 1.06.95 bc --version
60-
Sphinx\ [#f1]_ 1.3 sphinx-build --version
60+
Sphinx\ [#f1]_ 1.7 sphinx-build --version
6161
====================== ================= ========================================
6262

6363
.. [#f1] Sphinx è necessario solo per produrre la documentazione del Kernel

0 commit comments

Comments
 (0)