Skip to content

Commit a1a8588

Browse files
committed
Automatic merge of 'master' into merge-test (2025-12-02 23:16)
2 parents 333e781 + 4a26e70 commit a1a8588

1,168 files changed

Lines changed: 37429 additions & 13002 deletions

File tree

Some content is hidden

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

.mailmap

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,6 +206,7 @@ Danilo Krummrich <dakr@kernel.org> <dakr@redhat.com>
206206
David Brownell <david-b@pacbell.net>
207207
David Collins <quic_collinsd@quicinc.com> <collinsd@codeaurora.org>
208208
David Heidelberg <david@ixit.cz> <d.okias@gmail.com>
209+
David Hildenbrand <david@kernel.org> <david@redhat.com>
209210
David Rheinsberg <david@readahead.eu> <dh.herrmann@gmail.com>
210211
David Rheinsberg <david@readahead.eu> <dh.herrmann@googlemail.com>
211212
David Rheinsberg <david@readahead.eu> <david.rheinsberg@gmail.com>
@@ -426,7 +427,7 @@ Kenneth W Chen <kenneth.w.chen@intel.com>
426427
Kenneth Westfield <quic_kwestfie@quicinc.com> <kwestfie@codeaurora.org>
427428
Kiran Gunda <quic_kgunda@quicinc.com> <kgunda@codeaurora.org>
428429
Kirill Tkhai <tkhai@ya.ru> <ktkhai@virtuozzo.com>
429-
Kirill A. Shutemov <kas@kernel.org> <kirill.shutemov@linux.intel.com>
430+
Kiryl Shutsemau <kas@kernel.org> <kirill.shutemov@linux.intel.com>
430431
Kishon Vijay Abraham I <kishon@kernel.org> <kishon@ti.com>
431432
Konrad Dybcio <konradybcio@kernel.org> <konrad.dybcio@linaro.org>
432433
Konrad Dybcio <konradybcio@kernel.org> <konrad.dybcio@somainline.org>
@@ -437,6 +438,7 @@ Krishna Manikandan <quic_mkrishn@quicinc.com> <mkrishn@codeaurora.org>
437438
Krzysztof Kozlowski <krzk@kernel.org> <k.kozlowski.k@gmail.com>
438439
Krzysztof Kozlowski <krzk@kernel.org> <k.kozlowski@samsung.com>
439440
Krzysztof Kozlowski <krzk@kernel.org> <krzysztof.kozlowski@canonical.com>
441+
Krzysztof Kozlowski <krzk@kernel.org> <krzysztof.kozlowski@linaro.org>
440442
Krzysztof Wilczyński <kwilczynski@kernel.org> <krzysztof.wilczynski@linux.com>
441443
Krzysztof Wilczyński <kwilczynski@kernel.org> <kw@linux.com>
442444
Kshitiz Godara <quic_kgodara@quicinc.com> <kgodara@codeaurora.org>
@@ -689,6 +691,8 @@ Sachin Mokashi <sachin.mokashi@intel.com> <sachinx.mokashi@intel.com>
689691
Sachin P Sant <ssant@in.ibm.com>
690692
Sai Prakash Ranjan <quic_saipraka@quicinc.com> <saiprakash.ranjan@codeaurora.org>
691693
Sakari Ailus <sakari.ailus@linux.intel.com> <sakari.ailus@iki.fi>
694+
Sam Protsenko <semen.protsenko@linaro.org>
695+
Sam Protsenko <semen.protsenko@linaro.org> <semen.protsenko@globallogic.com>
692696
Sam Ravnborg <sam@mars.ravnborg.org>
693697
Sankeerth Billakanti <quic_sbillaka@quicinc.com> <sbillaka@codeaurora.org>
694698
Santosh Shilimkar <santosh.shilimkar@oracle.org>

Documentation/devicetree/bindings/pinctrl/toshiba,visconti-pinctrl.yaml

Lines changed: 14 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -50,18 +50,20 @@ patternProperties:
5050
groups:
5151
description:
5252
Name of the pin group to use for the functions.
53-
$ref: /schemas/types.yaml#/definitions/string
54-
enum: [i2c0_grp, i2c1_grp, i2c2_grp, i2c3_grp, i2c4_grp,
55-
i2c5_grp, i2c6_grp, i2c7_grp, i2c8_grp,
56-
spi0_grp, spi0_cs0_grp, spi0_cs1_grp, spi0_cs2_grp,
57-
spi1_grp, spi2_grp, spi3_grp, spi4_grp, spi5_grp, spi6_grp,
58-
uart0_grp, uart1_grp, uart2_grp, uart3_grp,
59-
pwm0_gpio4_grp, pwm0_gpio8_grp, pwm0_gpio12_grp,
60-
pwm0_gpio16_grp, pwm1_gpio5_grp, pwm1_gpio9_grp,
61-
pwm1_gpio13_grp, pwm1_gpio17_grp, pwm2_gpio6_grp,
62-
pwm2_gpio10_grp, pwm2_gpio14_grp, pwm2_gpio18_grp,
63-
pwm3_gpio7_grp, pwm3_gpio11_grp, pwm3_gpio15_grp,
64-
pwm3_gpio19_grp, pcmif_out_grp, pcmif_in_grp]
53+
items:
54+
enum: [i2c0_grp, i2c1_grp, i2c2_grp, i2c3_grp, i2c4_grp,
55+
i2c5_grp, i2c6_grp, i2c7_grp, i2c8_grp,
56+
spi0_grp, spi0_cs0_grp, spi0_cs1_grp, spi0_cs2_grp,
57+
spi1_grp, spi2_grp, spi3_grp, spi4_grp, spi5_grp, spi6_grp,
58+
uart0_grp, uart1_grp, uart2_grp, uart3_grp,
59+
pwm0_gpio4_grp, pwm0_gpio8_grp, pwm0_gpio12_grp,
60+
pwm0_gpio16_grp, pwm1_gpio5_grp, pwm1_gpio9_grp,
61+
pwm1_gpio13_grp, pwm1_gpio17_grp, pwm2_gpio6_grp,
62+
pwm2_gpio10_grp, pwm2_gpio14_grp, pwm2_gpio18_grp,
63+
pwm3_gpio7_grp, pwm3_gpio11_grp, pwm3_gpio15_grp,
64+
pwm3_gpio19_grp, pcmif_out_grp, pcmif_in_grp]
65+
minItems: 1
66+
maxItems: 8
6567

6668
drive-strength:
6769
enum: [2, 4, 6, 8, 16, 24, 32]

Documentation/devicetree/bindings/pinctrl/xlnx,versal-pinctrl.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ patternProperties:
7474

7575
'^conf':
7676
type: object
77+
unevaluatedProperties: false
7778
description:
7879
Pinctrl node's client devices use subnodes for pin configurations,
7980
which in turn use the standard properties below.

Documentation/filesystems/iomap/operations.rst

Lines changed: 46 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,6 +135,27 @@ These ``struct kiocb`` flags are significant for buffered I/O with iomap:
135135

136136
* ``IOCB_DONTCACHE``: Turns on ``IOMAP_DONTCACHE``.
137137

138+
``struct iomap_read_ops``
139+
--------------------------
140+
141+
.. code-block:: c
142+
143+
struct iomap_read_ops {
144+
int (*read_folio_range)(const struct iomap_iter *iter,
145+
struct iomap_read_folio_ctx *ctx, size_t len);
146+
void (*submit_read)(struct iomap_read_folio_ctx *ctx);
147+
};
148+
149+
iomap calls these functions:
150+
151+
- ``read_folio_range``: Called to read in the range. This must be provided
152+
by the caller. If this succeeds, iomap_finish_folio_read() must be called
153+
after the range is read in, regardless of whether the read succeeded or
154+
failed.
155+
156+
- ``submit_read``: Submit any pending read requests. This function is
157+
optional.
158+
138159
Internal per-Folio State
139160
------------------------
140161

@@ -182,6 +203,28 @@ The ``flags`` argument to ``->iomap_begin`` will be set to zero.
182203
The pagecache takes whatever locks it needs before calling the
183204
filesystem.
184205

206+
Both ``iomap_readahead`` and ``iomap_read_folio`` pass in a ``struct
207+
iomap_read_folio_ctx``:
208+
209+
.. code-block:: c
210+
211+
struct iomap_read_folio_ctx {
212+
const struct iomap_read_ops *ops;
213+
struct folio *cur_folio;
214+
struct readahead_control *rac;
215+
void *read_ctx;
216+
};
217+
218+
``iomap_readahead`` must set:
219+
* ``ops->read_folio_range()`` and ``rac``
220+
221+
``iomap_read_folio`` must set:
222+
* ``ops->read_folio_range()`` and ``cur_folio``
223+
224+
``ops->submit_read()`` and ``read_ctx`` are optional. ``read_ctx`` is used to
225+
pass in any custom data the caller needs accessible in the ops callbacks for
226+
fulfilling reads.
227+
185228
Buffered Writes
186229
---------------
187230

@@ -317,6 +360,9 @@ The fields are as follows:
317360
delalloc reservations to avoid having delalloc reservations for
318361
clean pagecache.
319362
This function must be supplied by the filesystem.
363+
If this succeeds, iomap_finish_folio_write() must be called once writeback
364+
completes for the range, regardless of whether the writeback succeeded or
365+
failed.
320366

321367
- ``writeback_submit``: Submit the previous built writeback context.
322368
Block based file systems should use the iomap_ioend_writeback_submit
@@ -444,10 +490,6 @@ These ``struct kiocb`` flags are significant for direct I/O with iomap:
444490
Only meaningful for asynchronous I/O, and only if the entire I/O can
445491
be issued as a single ``struct bio``.
446492

447-
* ``IOCB_DIO_CALLER_COMP``: Try to run I/O completion from the caller's
448-
process context.
449-
See ``linux/fs.h`` for more details.
450-
451493
Filesystems should call ``iomap_dio_rw`` from ``->read_iter`` and
452494
``->write_iter``, and set ``FMODE_CAN_ODIRECT`` in the ``->open``
453495
function for the file.

Documentation/filesystems/porting.rst

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -211,7 +211,7 @@ test and set for you.
211211
e.g.::
212212

213213
inode = iget_locked(sb, ino);
214-
if (inode->i_state & I_NEW) {
214+
if (inode_state_read_once(inode) & I_NEW) {
215215
err = read_inode_from_disk(inode);
216216
if (err < 0) {
217217
iget_failed(inode);
@@ -1309,3 +1309,16 @@ a different length, use
13091309
vfs_parse_fs_qstr(fc, key, &QSTR_LEN(value, len))
13101310

13111311
instead.
1312+
1313+
---
1314+
1315+
**mandatory**
1316+
1317+
vfs_mkdir() now returns a dentry - the one returned by ->mkdir(). If
1318+
that dentry is different from the dentry passed in, including if it is
1319+
an IS_ERR() dentry pointer, the original dentry is dput().
1320+
1321+
When vfs_mkdir() returns an error, and so both dputs() the original
1322+
dentry and doesn't provide a replacement, it also unlocks the parent.
1323+
Consequently the return value from vfs_mkdir() can be passed to
1324+
end_creating() and the parent will be unlocked precisely when necessary.

Documentation/input/event-codes.rst

Lines changed: 18 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -400,19 +400,30 @@ can report through the rotational axes (absolute and/or relative rx, ry, rz).
400400
All other axes retain their meaning. A device must not mix
401401
regular directional axes and accelerometer axes on the same event node.
402402

403-
INPUT_PROP_HAPTIC_TOUCHPAD
404-
--------------------------
403+
INPUT_PROP_PRESSUREPAD
404+
----------------------
405+
406+
The INPUT_PROP_PRESSUREPAD property indicates that the device provides
407+
simulated haptic feedback (e.g. a vibrator motor situated below the surface)
408+
instead of physical haptic feedback (e.g. a hinge). This property is only set
409+
if the device:
405410

406-
The INPUT_PROP_HAPTIC_TOUCHPAD property indicates that device:
407-
- supports simple haptic auto and manual triggering
408411
- can differentiate between at least 5 fingers
409412
- uses correct resolution for the X/Y (units and value)
410-
- reports correct force per touch, and correct units for them (newtons or grams)
411413
- follows the MT protocol type B
412414

415+
If the simulated haptic feedback is controllable by userspace the device must:
416+
417+
- support simple haptic auto and manual triggering, and
418+
- report correct force per touch, and correct units for them (newtons or grams), and
419+
- provide the EV_FF FF_HAPTIC force feedback effect.
420+
413421
Summing up, such devices follow the MS spec for input devices in
414-
Win8 and Win8.1, and in addition support the Simple haptic controller HID table,
415-
and report correct units for the pressure.
422+
Win8 and Win8.1, and in addition may support the Simple haptic controller HID
423+
table, and report correct units for the pressure.
424+
425+
Where applicable, this property is set in addition to INPUT_PROP_BUTTONPAD, it
426+
does not replace that property.
416427

417428
Guidelines
418429
==========

Documentation/locking/seqlock.rst

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -220,13 +220,14 @@ Read path, three categories:
220220
according to a passed marker. This is used to avoid lockless readers
221221
starvation (too much retry loops) in case of a sharp spike in write
222222
activity. First, a lockless read is tried (even marker passed). If
223-
that trial fails (odd sequence counter is returned, which is used as
224-
the next iteration marker), the lockless read is transformed to a
225-
full locking read and no retry loop is necessary::
223+
that trial fails (sequence counter doesn't match), make the marker
224+
odd for the next iteration, the lockless read is transformed to a
225+
full locking read and no retry loop is necessary, for example::
226226

227227
/* marker; even initialization */
228-
int seq = 0;
228+
int seq = 1;
229229
do {
230+
seq++; /* 2 on the 1st/lockless path, otherwise odd */
230231
read_seqbegin_or_lock(&foo_seqlock, &seq);
231232
232233
/* ... [[read-side critical section]] ... */

Documentation/sound/codecs/cs35l56.rst

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,10 @@ In this example the SSID is 10280c63.
105105

106106
The format of the firmware file names is:
107107

108-
SoundWire (except CS35L56 Rev B0):
108+
SoundWire:
109109
cs35lxx-b0-dsp1-misc-SSID[-spkidX]-l?u?
110110

111-
SoundWire CS35L56 Rev B0:
111+
SoundWire CS35L56 Rev B0 firmware released before kernel version 6.16:
112112
cs35lxx-b0-dsp1-misc-SSID[-spkidX]-ampN
113113

114114
Non-SoundWire (HDA and I2S):
@@ -127,9 +127,8 @@ Where:
127127
* spkidX is an optional part, used for laptops that have firmware
128128
configurations for different makes and models of internal speakers.
129129

130-
The CS35L56 Rev B0 continues to use the old filename scheme because a
131-
large number of firmware files have already been published with these
132-
names.
130+
Early firmware for CS35L56 Rev B0 used the ALSA prefix (ampN) as the
131+
filename qualifier. Support for the l?u? qualifier was added in kernel 6.16.
133132

134133
Sound Open Firmware and ALSA topology files
135134
-------------------------------------------

Documentation/userspace-api/netlink/intro-specs.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,10 @@ Simple CLI
1313
Kernel comes with a simple CLI tool which should be useful when
1414
developing Netlink related code. The tool is implemented in Python
1515
and can use a YAML specification to issue Netlink requests
16-
to the kernel. Only Generic Netlink is supported.
16+
to the kernel.
1717

1818
The tool is located at ``tools/net/ynl/pyynl/cli.py``. It accepts
19-
a handul of arguments, the most important ones are:
19+
a handful of arguments, the most important ones are:
2020

2121
- ``--spec`` - point to the spec file
2222
- ``--do $name`` / ``--dump $name`` - issue request ``$name``

Documentation/wmi/driver-development-guide.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@ to matching WMI devices using a struct wmi_device_id table:
5454
::
5555

5656
static const struct wmi_device_id foo_id_table[] = {
57+
/* Only use uppercase letters! */
5758
{ "936DA01F-9ABD-4D9D-80C7-02AF85C822A8", NULL },
5859
{ }
5960
};

0 commit comments

Comments
 (0)