Skip to content

Commit b9421d4

Browse files
authored
Merge pull request torvalds#598 from ojeda/sync
Sync with v5.16-rc6
2 parents adf4958 + 75490bd commit b9421d4

File tree

824 files changed

+8898
-3822
lines changed

Some content is hidden

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

824 files changed

+8898
-3822
lines changed

.mailmap

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,8 @@ Greg Kroah-Hartman <[email protected]>
126126
Greg Kroah-Hartman <[email protected]>
127127
128128
129+
130+
129131
Gustavo Padovan <[email protected]>
130132
Gustavo Padovan <[email protected]>
131133

Documentation/admin-guide/blockdev/drbd/figures.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,6 @@ Sub graphs of DRBD's state transitions
2525
:alt: disk-states-8.dot
2626
:align: center
2727

28-
.. kernel-figure:: node-states-8.dot
29-
:alt: node-states-8.dot
28+
.. kernel-figure:: peer-states-8.dot
29+
:alt: peer-states-8.dot
3030
:align: center

Documentation/admin-guide/blockdev/drbd/node-states-8.dot renamed to Documentation/admin-guide/blockdev/drbd/peer-states-8.dot

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
digraph node_states {
2-
Secondary -> Primary [ label = "ioctl_set_state()" ]
3-
Primary -> Secondary [ label = "ioctl_set_state()" ]
4-
}
5-
61
digraph peer_states {
72
Secondary -> Primary [ label = "recv state packet" ]
83
Primary -> Secondary [ label = "recv state packet" ]

Documentation/arm64/pointer-authentication.rst

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,10 @@ The number of bits that the PAC occupies in a pointer is 55 minus the
5353
virtual address size configured by the kernel. For example, with a
5454
virtual address size of 48, the PAC is 7 bits wide.
5555

56-
Recent versions of GCC can compile code with APIAKey-based return
57-
address protection when passed the -msign-return-address option. This
58-
uses instructions in the HINT space (unless -march=armv8.3-a or higher
59-
is also passed), and such code can run on systems without the pointer
60-
authentication extension.
56+
When ARM64_PTR_AUTH_KERNEL is selected, the kernel will be compiled
57+
with HINT space pointer authentication instructions protecting
58+
function returns. Kernels built with this option will work on hardware
59+
with or without pointer authentication support.
6160

6261
In addition to exec(), keys can also be reinitialized to random values
6362
using the PR_PAC_RESET_KEYS prctl. A bitmask of PR_PAC_APIAKEY,

Documentation/conf.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -249,11 +249,16 @@
249249

250250
html_static_path = ['sphinx-static']
251251

252-
html_context = {
253-
'css_files': [
254-
'_static/theme_overrides.css',
255-
],
256-
}
252+
html_css_files = [
253+
'theme_overrides.css',
254+
]
255+
256+
if major <= 1 and minor < 8:
257+
html_context = {
258+
'css_files': [
259+
'_static/theme_overrides.css',
260+
],
261+
}
257262

258263
# Add any extra paths that contain custom files (such as robots.txt or
259264
# .htaccess) here, relative to this directory. These files are copied

Documentation/cpu-freq/core.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -73,12 +73,12 @@ CPUFREQ_POSTCHANGE.
7373
The third argument is a struct cpufreq_freqs with the following
7474
values:
7575

76-
===== ===========================
77-
cpu number of the affected CPU
76+
====== ======================================
77+
policy a pointer to the struct cpufreq_policy
7878
old old frequency
7979
new new frequency
8080
flags flags of the cpufreq driver
81-
===== ===========================
81+
====== ======================================
8282

8383
3. CPUFreq Table Generation with Operating Performance Point (OPP)
8484
==================================================================

Documentation/devicetree/bindings/i2c/apple,i2c.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,9 @@ allOf:
2020

2121
properties:
2222
compatible:
23-
enum:
24-
- apple,t8103-i2c
25-
- apple,i2c
23+
items:
24+
- const: apple,t8103-i2c
25+
- const: apple,i2c
2626

2727
reg:
2828
maxItems: 1
@@ -51,7 +51,7 @@ unevaluatedProperties: false
5151
examples:
5252
- |
5353
i2c@35010000 {
54-
compatible = "apple,t8103-i2c";
54+
compatible = "apple,t8103-i2c", "apple,i2c";
5555
reg = <0x35010000 0x4000>;
5656
interrupt-parent = <&aic>;
5757
interrupts = <0 627 4>;

Documentation/devicetree/bindings/iio/adc/samsung,exynos-adc.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@ examples:
136136
samsung,syscon-phandle = <&pmu_system_controller>;
137137
138138
/* NTC thermistor is a hwmon device */
139-
ncp15wb473 {
139+
thermistor {
140140
compatible = "murata,ncp15wb473";
141141
pullup-uv = <1800000>;
142142
pullup-ohm = <47000>;

Documentation/devicetree/bindings/input/gpio-keys.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ examples:
142142
down {
143143
label = "GPIO Key DOWN";
144144
linux,code = <108>;
145-
interrupts = <1 IRQ_TYPE_LEVEL_HIGH 7>;
145+
interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
146146
};
147147
};
148148

Documentation/devicetree/bindings/media/nxp,imx7-mipi-csi2.yaml

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ properties:
7979

8080
properties:
8181
data-lanes:
82+
description:
83+
Note that 'fsl,imx7-mipi-csi2' only supports up to 2 data lines.
8284
items:
8385
minItems: 1
8486
maxItems: 4
@@ -91,18 +93,6 @@ properties:
9193
required:
9294
- data-lanes
9395

94-
allOf:
95-
- if:
96-
properties:
97-
compatible:
98-
contains:
99-
const: fsl,imx7-mipi-csi2
100-
then:
101-
properties:
102-
data-lanes:
103-
items:
104-
maxItems: 2
105-
10696
port@1:
10797
$ref: /schemas/graph.yaml#/properties/port
10898
description:

Documentation/devicetree/bindings/net/ethernet-phy.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,14 @@ properties:
9191
compensate for the board being designed with the lanes
9292
swapped.
9393

94+
enet-phy-lane-no-swap:
95+
$ref: /schemas/types.yaml#/definitions/flag
96+
description:
97+
If set, indicates that PHY will disable swap of the
98+
TX/RX lanes. This property allows the PHY to work correcly after
99+
e.g. wrong bootstrap configuration caused by issues in PCB
100+
layout design.
101+
94102
eee-broken-100tx:
95103
$ref: /schemas/types.yaml#/definitions/flag
96104
description:

Documentation/devicetree/bindings/phy/xlnx,zynqmp-psgtr.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ properties:
2929
- PHY_TYPE_PCIE
3030
- PHY_TYPE_SATA
3131
- PHY_TYPE_SGMII
32-
- PHY_TYPE_USB
32+
- PHY_TYPE_USB3
3333
- description: The PHY instance
3434
minimum: 0
3535
maximum: 1 # for DP, SATA or USB

Documentation/devicetree/bindings/power/supply/bq25980.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ examples:
105105
reg = <0x65>;
106106
interrupt-parent = <&gpio1>;
107107
interrupts = <16 IRQ_TYPE_EDGE_FALLING>;
108-
ti,watchdog-timer = <0>;
108+
ti,watchdog-timeout-ms = <0>;
109109
ti,sc-ocp-limit-microamp = <2000000>;
110110
ti,sc-ovp-limit-microvolt = <17800000>;
111111
monitored-battery = <&bat>;

Documentation/devicetree/bindings/sound/wlf,wm8962.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ properties:
1919
clocks:
2020
maxItems: 1
2121

22+
interrupts:
23+
maxItems: 1
24+
2225
"#sound-dai-cells":
2326
const: 0
2427

Documentation/devicetree/bindings/spi/spi-rockchip.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ properties:
3333
- rockchip,rk3328-spi
3434
- rockchip,rk3368-spi
3535
- rockchip,rk3399-spi
36+
- rockchip,rk3568-spi
3637
- rockchip,rv1126-spi
3738
- const: rockchip,rk3066-spi
3839

Documentation/filesystems/netfs_library.rst

Lines changed: 56 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
.. SPDX-License-Identifier: GPL-2.0
22
33
=================================
4-
NETWORK FILESYSTEM HELPER LIBRARY
4+
Network Filesystem Helper Library
55
=================================
66

77
.. Contents:
@@ -37,22 +37,22 @@ into a common call framework.
3737

3838
The following services are provided:
3939

40-
* Handles transparent huge pages (THPs).
40+
* Handle folios that span multiple pages.
4141

42-
* Insulates the netfs from VM interface changes.
42+
* Insulate the netfs from VM interface changes.
4343

44-
* Allows the netfs to arbitrarily split reads up into pieces, even ones that
45-
don't match page sizes or page alignments and that may cross pages.
44+
* Allow the netfs to arbitrarily split reads up into pieces, even ones that
45+
don't match folio sizes or folio alignments and that may cross folios.
4646

47-
* Allows the netfs to expand a readahead request in both directions to meet
48-
its needs.
47+
* Allow the netfs to expand a readahead request in both directions to meet its
48+
needs.
4949

50-
* Allows the netfs to partially fulfil a read, which will then be resubmitted.
50+
* Allow the netfs to partially fulfil a read, which will then be resubmitted.
5151

52-
* Handles local caching, allowing cached data and server-read data to be
52+
* Handle local caching, allowing cached data and server-read data to be
5353
interleaved for a single request.
5454

55-
* Handles clearing of bufferage that aren't on the server.
55+
* Handle clearing of bufferage that aren't on the server.
5656

5757
* Handle retrying of reads that failed, switching reads from the cache to the
5858
server as necessary.
@@ -70,22 +70,22 @@ Read Helper Functions
7070

7171
Three read helpers are provided::
7272

73-
* void netfs_readahead(struct readahead_control *ractl,
74-
const struct netfs_read_request_ops *ops,
75-
void *netfs_priv);``
76-
* int netfs_readpage(struct file *file,
77-
struct page *page,
78-
const struct netfs_read_request_ops *ops,
79-
void *netfs_priv);
80-
* int netfs_write_begin(struct file *file,
81-
struct address_space *mapping,
82-
loff_t pos,
83-
unsigned int len,
84-
unsigned int flags,
85-
struct page **_page,
86-
void **_fsdata,
87-
const struct netfs_read_request_ops *ops,
88-
void *netfs_priv);
73+
void netfs_readahead(struct readahead_control *ractl,
74+
const struct netfs_read_request_ops *ops,
75+
void *netfs_priv);
76+
int netfs_readpage(struct file *file,
77+
struct folio *folio,
78+
const struct netfs_read_request_ops *ops,
79+
void *netfs_priv);
80+
int netfs_write_begin(struct file *file,
81+
struct address_space *mapping,
82+
loff_t pos,
83+
unsigned int len,
84+
unsigned int flags,
85+
struct folio **_folio,
86+
void **_fsdata,
87+
const struct netfs_read_request_ops *ops,
88+
void *netfs_priv);
8989

9090
Each corresponds to a VM operation, with the addition of a couple of parameters
9191
for the use of the read helpers:
@@ -103,8 +103,8 @@ Both of these values will be stored into the read request structure.
103103
For ->readahead() and ->readpage(), the network filesystem should just jump
104104
into the corresponding read helper; whereas for ->write_begin(), it may be a
105105
little more complicated as the network filesystem might want to flush
106-
conflicting writes or track dirty data and needs to put the acquired page if an
107-
error occurs after calling the helper.
106+
conflicting writes or track dirty data and needs to put the acquired folio if
107+
an error occurs after calling the helper.
108108

109109
The helpers manage the read request, calling back into the network filesystem
110110
through the suppplied table of operations. Waits will be performed as
@@ -253,7 +253,7 @@ through which it can issue requests and negotiate::
253253
void (*issue_op)(struct netfs_read_subrequest *subreq);
254254
bool (*is_still_valid)(struct netfs_read_request *rreq);
255255
int (*check_write_begin)(struct file *file, loff_t pos, unsigned len,
256-
struct page *page, void **_fsdata);
256+
struct folio *folio, void **_fsdata);
257257
void (*done)(struct netfs_read_request *rreq);
258258
void (*cleanup)(struct address_space *mapping, void *netfs_priv);
259259
};
@@ -313,13 +313,14 @@ The operations are as follows:
313313

314314
There is no return value; the netfs_subreq_terminated() function should be
315315
called to indicate whether or not the operation succeeded and how much data
316-
it transferred. The filesystem also should not deal with setting pages
316+
it transferred. The filesystem also should not deal with setting folios
317317
uptodate, unlocking them or dropping their refs - the helpers need to deal
318318
with this as they have to coordinate with copying to the local cache.
319319

320-
Note that the helpers have the pages locked, but not pinned. It is possible
321-
to use the ITER_XARRAY iov iterator to refer to the range of the inode that
322-
is being operated upon without the need to allocate large bvec tables.
320+
Note that the helpers have the folios locked, but not pinned. It is
321+
possible to use the ITER_XARRAY iov iterator to refer to the range of the
322+
inode that is being operated upon without the need to allocate large bvec
323+
tables.
323324

324325
* ``is_still_valid()``
325326

@@ -330,15 +331,15 @@ The operations are as follows:
330331
* ``check_write_begin()``
331332

332333
[Optional] This is called from the netfs_write_begin() helper once it has
333-
allocated/grabbed the page to be modified to allow the filesystem to flush
334+
allocated/grabbed the folio to be modified to allow the filesystem to flush
334335
conflicting state before allowing it to be modified.
335336

336-
It should return 0 if everything is now fine, -EAGAIN if the page should be
337+
It should return 0 if everything is now fine, -EAGAIN if the folio should be
337338
regrabbed and any other error code to abort the operation.
338339

339340
* ``done``
340341

341-
[Optional] This is called after the pages in the request have all been
342+
[Optional] This is called after the folios in the request have all been
342343
unlocked (and marked uptodate if applicable).
343344

344345
* ``cleanup``
@@ -390,19 +391,19 @@ The read helpers work by the following general procedure:
390391
* If NETFS_SREQ_CLEAR_TAIL was set, a short read will be cleared to the
391392
end of the slice instead of reissuing.
392393

393-
* Once the data is read, the pages that have been fully read/cleared:
394+
* Once the data is read, the folios that have been fully read/cleared:
394395

395396
* Will be marked uptodate.
396397

397398
* If a cache is present, will be marked with PG_fscache.
398399

399400
* Unlocked
400401

401-
* Any pages that need writing to the cache will then have DIO writes issued.
402+
* Any folios that need writing to the cache will then have DIO writes issued.
402403

403404
* Synchronous operations will wait for reading to be complete.
404405

405-
* Writes to the cache will proceed asynchronously and the pages will have the
406+
* Writes to the cache will proceed asynchronously and the folios will have the
406407
PG_fscache mark removed when that completes.
407408

408409
* The request structures will be cleaned up when everything has completed.
@@ -452,6 +453,9 @@ operation table looks like the following::
452453
netfs_io_terminated_t term_func,
453454
void *term_func_priv);
454455

456+
int (*prepare_write)(struct netfs_cache_resources *cres,
457+
loff_t *_start, size_t *_len, loff_t i_size);
458+
455459
int (*write)(struct netfs_cache_resources *cres,
456460
loff_t start_pos,
457461
struct iov_iter *iter,
@@ -509,6 +513,14 @@ The methods defined in the table are:
509513
indicating whether the termination is definitely happening in the caller's
510514
context.
511515

516+
* ``prepare_write()``
517+
518+
[Required] Called to adjust a write to the cache and check that there is
519+
sufficient space in the cache. The start and length values indicate the
520+
size of the write that netfslib is proposing, and this can be adjusted by
521+
the cache to respect DIO boundaries. The file size is passed for
522+
information.
523+
512524
* ``write()``
513525

514526
[Required] Called to write to the cache. The start file offset is given
@@ -525,4 +537,9 @@ not the read request structure as they could be used in other situations where
525537
there isn't a read request structure as well, such as writing dirty data to the
526538
cache.
527539

540+
541+
API Function Reference
542+
======================
543+
528544
.. kernel-doc:: include/linux/netfs.h
545+
.. kernel-doc:: fs/netfs/read_helper.c

0 commit comments

Comments
 (0)