Skip to content
This repository was archived by the owner on Nov 8, 2023. It is now read-only.

Commit 0ac541d

Browse files
committed
Merge tag 'v6.6-rc4' into android-mainline
Linux 6.6-rc4 Change-Id: I163a55b2f733ef3abee62a85db6a69a59e340e71 Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
2 parents acb56c0 + 8a749fd commit 0ac541d

File tree

234 files changed

+2446
-1620
lines changed

Some content is hidden

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

234 files changed

+2446
-1620
lines changed

Documentation/admin-guide/cgroup-v1/memory.rst

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,13 @@ Brief summary of control files.
9292
memory.oom_control set/show oom controls.
9393
memory.numa_stat show the number of memory usage per numa
9494
node
95+
memory.kmem.limit_in_bytes Deprecated knob to set and read the kernel
96+
memory hard limit. Kernel hard limit is not
97+
supported since 5.16. Writing any value to
98+
do file will not have any effect same as if
99+
nokmem kernel parameter was specified.
100+
Kernel memory is still charged and reported
101+
by memory.kmem.usage_in_bytes.
95102
memory.kmem.usage_in_bytes show current kernel memory allocation
96103
memory.kmem.failcnt show the number of kernel memory usage
97104
hits limits

Documentation/devicetree/bindings/ata/pata-common.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ patternProperties:
3838
ID number 0 and the slave drive will have ID number 1. The PATA port
3939
nodes will be named "ide-port".
4040
type: object
41+
additionalProperties: false
4142

4243
properties:
4344
reg:

Documentation/devicetree/bindings/clock/renesas,5p35023.yaml

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ properties:
3737
maxItems: 1
3838

3939
'#clock-cells':
40+
description:
41+
The index in the assigned-clocks is mapped to the output clock as below
42+
0 - REF, 1 - SE1, 2 - SE2, 3 - SE3, 4 - DIFF1, 5 - DIFF2.
4043
const: 1
4144

4245
clocks:
@@ -68,7 +71,7 @@ examples:
6871
reg = <0x68>;
6972
#clock-cells = <1>;
7073
71-
clocks = <&x1_x2>;
74+
clocks = <&x1>;
7275
7376
renesas,settings = [
7477
80 00 11 19 4c 02 23 7f 83 19 08 a9 5f 25 24 bf
@@ -79,8 +82,8 @@ examples:
7982
assigned-clocks = <&versa3 0>, <&versa3 1>,
8083
<&versa3 2>, <&versa3 3>,
8184
<&versa3 4>, <&versa3 5>;
82-
assigned-clock-rates = <12288000>, <25000000>,
83-
<12000000>, <11289600>,
84-
<11289600>, <24000000>;
85+
assigned-clock-rates = <24000000>, <11289600>,
86+
<11289600>, <12000000>,
87+
<25000000>, <12288000>;
8588
};
8689
};

Documentation/devicetree/bindings/i2c/i2c-mxs.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ title: Freescale MXS Inter IC (I2C) Controller
99
maintainers:
1010
- Shawn Guo <shawnguo@kernel.org>
1111

12+
allOf:
13+
- $ref: /schemas/i2c/i2c-controller.yaml#
14+
1215
properties:
1316
compatible:
1417
enum:
@@ -37,7 +40,7 @@ required:
3740
- dmas
3841
- dma-names
3942

40-
additionalProperties: false
43+
unevaluatedProperties: false
4144

4245
examples:
4346
- |

Documentation/devicetree/bindings/soc/loongson/loongson,ls2k-pmc.yaml

Lines changed: 37 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,16 @@ maintainers:
1111

1212
properties:
1313
compatible:
14-
items:
15-
- enum:
16-
- loongson,ls2k0500-pmc
17-
- loongson,ls2k1000-pmc
18-
- const: syscon
14+
oneOf:
15+
- items:
16+
- const: loongson,ls2k0500-pmc
17+
- const: syscon
18+
- items:
19+
- enum:
20+
- loongson,ls2k1000-pmc
21+
- loongson,ls2k2000-pmc
22+
- const: loongson,ls2k0500-pmc
23+
- const: syscon
1924

2025
reg:
2126
maxItems: 1
@@ -32,6 +37,18 @@ properties:
3237
addition, the PM need according to it to indicate that current
3338
SoC whether support Suspend To RAM.
3439

40+
syscon-poweroff:
41+
$ref: /schemas/power/reset/syscon-poweroff.yaml#
42+
type: object
43+
description:
44+
Node for power off method
45+
46+
syscon-reboot:
47+
$ref: /schemas/power/reset/syscon-reboot.yaml#
48+
type: object
49+
description:
50+
Node for reboot method
51+
3552
required:
3653
- compatible
3754
- reg
@@ -44,9 +61,23 @@ examples:
4461
#include <dt-bindings/interrupt-controller/irq.h>
4562
4663
power-management@1fe27000 {
47-
compatible = "loongson,ls2k1000-pmc", "syscon";
64+
compatible = "loongson,ls2k1000-pmc", "loongson,ls2k0500-pmc", "syscon";
4865
reg = <0x1fe27000 0x58>;
4966
interrupt-parent = <&liointc1>;
5067
interrupts = <11 IRQ_TYPE_LEVEL_LOW>;
5168
loongson,suspend-address = <0x0 0x1c000500>;
69+
70+
syscon-reboot {
71+
compatible = "syscon-reboot";
72+
offset = <0x30>;
73+
mask = <0x1>;
74+
};
75+
76+
syscon-poweroff {
77+
compatible = "syscon-poweroff";
78+
regmap = <&pmc>;
79+
offset = <0x14>;
80+
mask = <0x3c00>;
81+
value = <0x3c00>;
82+
};
5283
};

Documentation/devicetree/bindings/spi/fsl-imx-cspi.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,13 @@ properties:
2222
- const: fsl,imx35-cspi
2323
- const: fsl,imx51-ecspi
2424
- const: fsl,imx53-ecspi
25+
- items:
26+
- enum:
27+
- fsl,imx25-cspi
28+
- fsl,imx50-cspi
29+
- fsl,imx51-cspi
30+
- fsl,imx53-cspi
31+
- const: fsl,imx35-cspi
2532
- items:
2633
- const: fsl,imx8mp-ecspi
2734
- const: fsl,imx6ul-ecspi

Documentation/filesystems/porting.rst

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -949,3 +949,99 @@ mmap_lock held. All in-tree users have been audited and do not seem to
949949
depend on the mmap_lock being held, but out of tree users should verify
950950
for themselves. If they do need it, they can return VM_FAULT_RETRY to
951951
be called with the mmap_lock held.
952+
953+
---
954+
955+
**mandatory**
956+
957+
The order of opening block devices and matching or creating superblocks has
958+
changed.
959+
960+
The old logic opened block devices first and then tried to find a
961+
suitable superblock to reuse based on the block device pointer.
962+
963+
The new logic tries to find a suitable superblock first based on the device
964+
number, and opening the block device afterwards.
965+
966+
Since opening block devices cannot happen under s_umount because of lock
967+
ordering requirements s_umount is now dropped while opening block devices and
968+
reacquired before calling fill_super().
969+
970+
In the old logic concurrent mounters would find the superblock on the list of
971+
superblocks for the filesystem type. Since the first opener of the block device
972+
would hold s_umount they would wait until the superblock became either born or
973+
was discarded due to initialization failure.
974+
975+
Since the new logic drops s_umount concurrent mounters could grab s_umount and
976+
would spin. Instead they are now made to wait using an explicit wait-wake
977+
mechanism without having to hold s_umount.
978+
979+
---
980+
981+
**mandatory**
982+
983+
The holder of a block device is now the superblock.
984+
985+
The holder of a block device used to be the file_system_type which wasn't
986+
particularly useful. It wasn't possible to go from block device to owning
987+
superblock without matching on the device pointer stored in the superblock.
988+
This mechanism would only work for a single device so the block layer couldn't
989+
find the owning superblock of any additional devices.
990+
991+
In the old mechanism reusing or creating a superblock for a racing mount(2) and
992+
umount(2) relied on the file_system_type as the holder. This was severly
993+
underdocumented however:
994+
995+
(1) Any concurrent mounter that managed to grab an active reference on an
996+
existing superblock was made to wait until the superblock either became
997+
ready or until the superblock was removed from the list of superblocks of
998+
the filesystem type. If the superblock is ready the caller would simple
999+
reuse it.
1000+
1001+
(2) If the mounter came after deactivate_locked_super() but before
1002+
the superblock had been removed from the list of superblocks of the
1003+
filesystem type the mounter would wait until the superblock was shutdown,
1004+
reuse the block device and allocate a new superblock.
1005+
1006+
(3) If the mounter came after deactivate_locked_super() and after
1007+
the superblock had been removed from the list of superblocks of the
1008+
filesystem type the mounter would reuse the block device and allocate a new
1009+
superblock (the bd_holder point may still be set to the filesystem type).
1010+
1011+
Because the holder of the block device was the file_system_type any concurrent
1012+
mounter could open the block devices of any superblock of the same
1013+
file_system_type without risking seeing EBUSY because the block device was
1014+
still in use by another superblock.
1015+
1016+
Making the superblock the owner of the block device changes this as the holder
1017+
is now a unique superblock and thus block devices associated with it cannot be
1018+
reused by concurrent mounters. So a concurrent mounter in (2) could suddenly
1019+
see EBUSY when trying to open a block device whose holder was a different
1020+
superblock.
1021+
1022+
The new logic thus waits until the superblock and the devices are shutdown in
1023+
->kill_sb(). Removal of the superblock from the list of superblocks of the
1024+
filesystem type is now moved to a later point when the devices are closed:
1025+
1026+
(1) Any concurrent mounter managing to grab an active reference on an existing
1027+
superblock is made to wait until the superblock is either ready or until
1028+
the superblock and all devices are shutdown in ->kill_sb(). If the
1029+
superblock is ready the caller will simply reuse it.
1030+
1031+
(2) If the mounter comes after deactivate_locked_super() but before
1032+
the superblock has been removed from the list of superblocks of the
1033+
filesystem type the mounter is made to wait until the superblock and the
1034+
devices are shut down in ->kill_sb() and the superblock is removed from the
1035+
list of superblocks of the filesystem type. The mounter will allocate a new
1036+
superblock and grab ownership of the block device (the bd_holder pointer of
1037+
the block device will be set to the newly allocated superblock).
1038+
1039+
(3) This case is now collapsed into (2) as the superblock is left on the list
1040+
of superblocks of the filesystem type until all devices are shutdown in
1041+
->kill_sb(). In other words, if the superblock isn't on the list of
1042+
superblock of the filesystem type anymore then it has given up ownership of
1043+
all associated block devices (the bd_holder pointer is NULL).
1044+
1045+
As this is a VFS level change it has no practical consequences for filesystems
1046+
other than that all of them must use one of the provided kill_litter_super(),
1047+
kill_anon_super(), or kill_block_super() helpers.

Documentation/kbuild/kconfig-language.rst

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,32 @@ above, leading to:
573573
bool "Support for foo hardware"
574574
depends on ARCH_FOO_VENDOR || COMPILE_TEST
575575

576+
Optional dependencies
577+
~~~~~~~~~~~~~~~~~~~~~
578+
579+
Some drivers are able to optionally use a feature from another module
580+
or build cleanly with that module disabled, but cause a link failure
581+
when trying to use that loadable module from a built-in driver.
582+
583+
The most common way to express this optional dependency in Kconfig logic
584+
uses the slightly counterintuitive::
585+
586+
config FOO
587+
tristate "Support for foo hardware"
588+
depends on BAR || !BAR
589+
590+
This means that there is either a dependency on BAR that disallows
591+
the combination of FOO=y with BAR=m, or BAR is completely disabled.
592+
For a more formalized approach if there are multiple drivers that have
593+
the same dependency, a helper symbol can be used, like::
594+
595+
config FOO
596+
tristate "Support for foo hardware"
597+
depends on BAR_OPTIONAL
598+
599+
config BAR_OPTIONAL
600+
def_tristate BAR || !BAR
601+
576602
Kconfig recursive dependency limitations
577603
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
578604

MAINTAINERS

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1963,12 +1963,12 @@ F: drivers/irqchip/irq-aspeed-i2c-ic.c
19631963

19641964
ARM/ASPEED MACHINE SUPPORT
19651965
M: Joel Stanley <joel@jms.id.au>
1966-
R: Andrew Jeffery <andrew@aj.id.au>
1966+
R: Andrew Jeffery <andrew@codeconstruct.com.au>
19671967
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
19681968
L: linux-aspeed@lists.ozlabs.org (moderated for non-subscribers)
19691969
S: Supported
19701970
Q: https://patchwork.ozlabs.org/project/linux-aspeed/list/
1971-
T: git git://git.kernel.org/pub/scm/linux/kernel/git/joel/aspeed.git
1971+
T: git git://git.kernel.org/pub/scm/linux/kernel/git/joel/bmc.git
19721972
F: Documentation/devicetree/bindings/arm/aspeed/
19731973
F: arch/arm/boot/dts/aspeed/
19741974
F: arch/arm/mach-aspeed/
@@ -3058,7 +3058,7 @@ F: Documentation/devicetree/bindings/peci/peci-aspeed.yaml
30583058
F: drivers/peci/controller/peci-aspeed.c
30593059

30603060
ASPEED PINCTRL DRIVERS
3061-
M: Andrew Jeffery <andrew@aj.id.au>
3061+
M: Andrew Jeffery <andrew@codeconstruct.com.au>
30623062
L: linux-aspeed@lists.ozlabs.org (moderated for non-subscribers)
30633063
L: openbmc@lists.ozlabs.org (moderated for non-subscribers)
30643064
L: linux-gpio@vger.kernel.org
@@ -3075,7 +3075,7 @@ F: drivers/irqchip/irq-aspeed-scu-ic.c
30753075
F: include/dt-bindings/interrupt-controller/aspeed-scu-ic.h
30763076

30773077
ASPEED SD/MMC DRIVER
3078-
M: Andrew Jeffery <andrew@aj.id.au>
3078+
M: Andrew Jeffery <andrew@codeconstruct.com.au>
30793079
L: linux-aspeed@lists.ozlabs.org (moderated for non-subscribers)
30803080
L: openbmc@lists.ozlabs.org (moderated for non-subscribers)
30813081
L: linux-mmc@vger.kernel.org
@@ -4082,7 +4082,7 @@ F: drivers/net/wireless/broadcom/brcm80211/
40824082

40834083
BROADCOM BRCMSTB GPIO DRIVER
40844084
M: Doug Berger <opendmb@gmail.com>
4085-
M: Florian Fainelli <florian.fainelli@broadcom>
4085+
M: Florian Fainelli <florian.fainelli@broadcom.com>
40864086
R: Broadcom internal kernel review list <bcm-kernel-feedback-list@broadcom.com>
40874087
S: Supported
40884088
F: Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.yaml
@@ -6647,6 +6647,7 @@ F: drivers/gpu/drm/panel/panel-novatek-nt36672a.c
66476647
DRM DRIVER FOR NVIDIA GEFORCE/QUADRO GPUS
66486648
M: Karol Herbst <kherbst@redhat.com>
66496649
M: Lyude Paul <lyude@redhat.com>
6650+
M: Danilo Krummrich <dakr@redhat.com>
66506651
L: dri-devel@lists.freedesktop.org
66516652
L: nouveau@lists.freedesktop.org
66526653
S: Supported

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
VERSION = 6
33
PATCHLEVEL = 6
44
SUBLEVEL = 0
5-
EXTRAVERSION = -rc3
5+
EXTRAVERSION = -rc4
66
NAME = Hurr durr I'ma ninja sloth
77

88
# *DOCUMENTATION*

arch/arm/boot/dts/ti/omap/motorola-mapphone-common.dtsi

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -614,12 +614,12 @@
614614
/* Configure pwm clock source for timers 8 & 9 */
615615
&timer8 {
616616
assigned-clocks = <&abe_clkctrl OMAP4_TIMER8_CLKCTRL 24>;
617-
assigned-clock-parents = <&sys_clkin_ck>;
617+
assigned-clock-parents = <&sys_32k_ck>;
618618
};
619619

620620
&timer9 {
621621
assigned-clocks = <&l4_per_clkctrl OMAP4_TIMER9_CLKCTRL 24>;
622-
assigned-clock-parents = <&sys_clkin_ck>;
622+
assigned-clock-parents = <&sys_32k_ck>;
623623
};
624624

625625
/*
@@ -640,6 +640,7 @@
640640
&uart3 {
641641
interrupts-extended = <&wakeupgen GIC_SPI 74 IRQ_TYPE_LEVEL_HIGH
642642
&omap4_pmx_core 0x17c>;
643+
overrun-throttle-ms = <500>;
643644
};
644645

645646
&uart4 {

arch/arm/boot/dts/ti/omap/omap3-cpu-thermal.dtsi

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,7 @@ cpu_thermal: cpu-thermal {
1212
polling-delay = <1000>; /* milliseconds */
1313
coefficients = <0 20000>;
1414

15-
/* sensor ID */
16-
thermal-sensors = <&bandgap 0>;
15+
thermal-sensors = <&bandgap>;
1716

1817
cpu_trips: trips {
1918
cpu_alert0: cpu_alert {

arch/arm/boot/dts/ti/omap/omap4-cpu-thermal.dtsi

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,10 @@ cpu_thermal: cpu_thermal {
1212
polling-delay-passive = <250>; /* milliseconds */
1313
polling-delay = <1000>; /* milliseconds */
1414

15-
/* sensor ID */
15+
/*
16+
* See 44xx files for single sensor addressing, omap5 and dra7 need
17+
* also sensor ID for addressing.
18+
*/
1619
thermal-sensors = <&bandgap 0>;
1720

1821
cpu_trips: trips {

arch/arm/boot/dts/ti/omap/omap443x.dtsi

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@
6969
};
7070

7171
&cpu_thermal {
72+
thermal-sensors = <&bandgap>;
7273
coefficients = <0 20000>;
7374
};
7475

0 commit comments

Comments
 (0)