Commit Graph

72915 Commits

Author SHA1 Message Date
Dmitry Baryshkov
273cec70d2 ARM: dts: qcom: sdx55: consolidate IPA properties
Move generic IPA-related properties to the base DTSI file.

Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Reviewed-by: Alex Elder <elder@riscstar.com>
Link: https://lore.kernel.org/r/20260517-ipa-loader-v1-7-3c3764c1b4a3@oss.qualcomm.com
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-07-05 13:52:58 -05:00
Alexandre Messier
811a24b0ec ARM: dts: qcom: msm8974pro-htc-m8: add touchscreen
Add the touchscreen device node for the HTC One (M8).

The downstream vendor kernel used an I2C frequency of 384 kHz
for this bus. Use the same value as the vendor.

Signed-off-by: Alexandre Messier <alex@me.ssier.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260406-m8-dts-additions-v2-4-c4c4bd50af48@me.ssier.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-07-05 11:02:54 -05:00
Alexandre Messier
132a69d409 ARM: dts: qcom: msm8974pro-htc-m8: add Bluetooth pins
Add the required pin configuration to enable Bluetooth.

Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Signed-off-by: Alexandre Messier <alex@me.ssier.org>
Link: https://lore.kernel.org/r/20260406-m8-dts-additions-v2-3-c4c4bd50af48@me.ssier.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-07-05 11:02:54 -05:00
Alexandre Messier
858e8a50ba ARM: dts: qcom: msm8974pro-htc-m8: add NFC support
Add the NFC chip used in the HTC One M8 to its device tree.

The downstream vendor kernel used an I2C frequency of 384 kHz
for this bus. Use the same value as the vendor.

Signed-off-by: Alexandre Messier <alex@me.ssier.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260406-m8-dts-additions-v2-2-c4c4bd50af48@me.ssier.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-07-05 11:02:54 -05:00
Alexandre Messier
c11865aa07 ARM: dts: qcom: msm8974pro-htc-m8: add status LEDs
Add support for the notification LEDs on the HTC One M8.

Two LEDs are available, one orange and one green. Together,
they both form a single notification source, so use a
multicolor LED node to describe this arrangement.

Cc: Lee Jones <lee@kernel.org>
Cc: Pavel Machek <pavel@kernel.org>
Cc: linux-leds@vger.kernel.org
Signed-off-by: Alexandre Messier <alex@me.ssier.org>
Reviewed-by: Konrad Dybcio <konrad.dybcio@oss.qualcomm.com>
Link: https://lore.kernel.org/r/20260406-m8-dts-additions-v2-1-c4c4bd50af48@me.ssier.org
Signed-off-by: Bjorn Andersson <andersson@kernel.org>
2026-07-05 11:02:54 -05:00
Eric Biggers
6727c44461 hwrng: qcom - Move qcom-rng.c into drivers/char/hw_random/
Since this file just implements a hwrng driver, move it into
drivers/char/hw_random/.  Rename the kconfig option accordingly as well.

Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2026-07-05 13:22:35 +08:00
Arnd Bergmann
1608b4d1c5 ARM: mark footbridge as deprecated
Along with RiscPC and SA1100, these are the last remaining Intel StrongARM
machines. The Corel NetWinder used to be particular popular in the late
1990s, but was discontinued during the bankruptcy of rebel.com in 2001.
The other machine is the DEC (later Intel) EBSA285 evaluation board that
was made in small numbers in 1997 for software developers.

The footbridge/netwinder platform was the main target for the first Debian
2.0 "Hamm" release on the Arm architecture back in 1998, but was dropped
in Debian 6.0 "Squeeze" in 2011, which only supported ARMv4T and higher
with the EABI based ports as ARMv4 hardware had fallen already out of
use by that time.

Link: http://netwinder.org/
Cc: Linus Walleij <linus.walleij@linaro.org>
Cc: Russell King <linux@armlinux.org.uk>
Acked-by: Ralph Siemsen <ralphs@netwinder.org>
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Marc Zyngier <maz@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-07-03 20:36:07 +02:00
Arnd Bergmann
016564f922 ARM: mark RiscPC as deprecated
This platform is the oldest still supported machine, dating back
to the original 1994 ARM610 version.  The only currently supported
configuration uses an ARMv4 StrongARM but still requires building
for ARMv3 because of the board design not supporting 16-bit
data access.

ARMv3 support has been removed in gcc-9, and the gcc-8 release
is already old but still supported for building the kernel.

The only set of machines that lacks support for 16-bit load/store
instructions (Alpha EV5 and older) was recently removed from
the kernel.

Since there is little hope of this being maintainable much
longer, plan to remove it in early 2027 while it is still expected
to mostly work.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-07-03 20:36:07 +02:00
Arnd Bergmann
7d92e50cea ARM: mark mach-sa1100 as deprecated
Most of the old StrongARM1100 machines were removed two years ago as part
of a wider cleanup, the remaining four were left either because someone
showed interest in converting them to devicetree, or because they were
still supported by qemu and therefore useful to keep the platform alive.

None of the devicetree conversion actually happened, and qemu has
marked the platform as deprecated, so do the same in the kernel now.

If anyone is still running one of these four machines and planning
to keep updating their kernels, please speak up now so we can adapt
the plans as needed.

If nobody is found using StrongARM1100 any more, it can be removing
during 2027, leaving 7.3-LTS as the last longterm support kernel
for it.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Cc: Kristoffer Ericson <kristoffer.ericson@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-07-03 20:36:07 +02:00
Arnd Bergmann
71b038f9b5 ARM: orion5x: mark all board files as deprecated
Conversion of the old orion5x board files to devicetree has
stalled over the past few years, so it seems better to remove
the remaining ones in order to allow  cleaning up the device
drivers.

Debian and OpenWRT no longer support orion5x, and buildroot
could keep using linux-7.3-LTS for a few more years.

Jeremy Peper still plans to convert the Terastation 2 Pro
to devicetree in the future, but that can be done even
after it is removed.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-07-03 20:36:07 +02:00
Arnd Bergmann
cc7852314a ARM: PXA: mark remaining board files as deprecated
In the 2021 board file removal, the gumstix and sharpsl
support was left around in order to make it easier to convert
more of the PXA platform to device tree, given that both
platforms had some level of support in qemu.

As far as I can tell, nobody has worked on additional DT
conversion in that time, and qemu has in turn deprecated
the entire PXA platform.

Schedule the remaining board files for removal now, as they
are unlikely to be of any help in the future. If anyone
wants to revive support for these machines, they can
obviously still contribute device tree based code and
work on updating the corresponding drivers.

Any drivers that are only usable on legacy PXA board files
can also get removed along with the boards, or saved by
adding devicetree support.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-07-03 20:36:07 +02:00
Arnd Bergmann
5faae2fbe1 ARM: mark ARCH_DOVE as deprecated
The Marvell Armada 510 (Dove) platform is supported both as devicetree
and atags/boardfile variants, with varying degrees of hardware support.

Russell was the last known user of the board file version, and there
are very few users overall. Unless Russell still needs this variant,
let's remove after the next LTS kernel, leaving the CONFIG_MACH_DOVE
variant with devicetree.

Reviewed-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-07-03 20:36:07 +02:00
Arnd Bergmann
4486f02005 ARM: mark IWMMXT as deprecated
With no remaining users and support getting removed from future compilers,
there seems little point in keeping iwmmxt around much longer.

On the other hand, the iwmmxt support in the kernel rarely gets in the
way, so there is little cost, so set a removal date of early 2027 for
the moment. If anyone is still using this, it can be extended as long
there is binutils support.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-07-03 20:36:07 +02:00
Arnd Bergmann
e3c0bc30b1 ARM: update FPE_NWFPE help text
The help text is seriously outdated and predates the introduction of
VFP floating point units that were available as early as some ARM926
based systems.

Change the help text to reflect that this is now a legacy feature
and that it will go away along with OABI support in the future.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Ralph Siemsen <ralphs@netwinder.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-07-03 20:36:07 +02:00
Arnd Bergmann
a1c9be0164 ARM: s3c64xx: extend deprecation schedule
Mark Brown is still using this machine for regular work, so it should
not be removed as originally scheduled.

Give the platform another year, with the option to extend it further
based on the state of ATAGS support next year.

I expect that we end up removing all of s3c64xx when either Mark has
moved his test setup to other hardware, or when all other ATAGS based
machines are getting removed.

Cc: Mark Brown <broonie@kernel.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-07-03 20:36:07 +02:00
Arnd Bergmann
949b2df588 ARM: update DEPRECATED_PARAM_STRUCT removal timeline
This configuration option is for the older boot method that preceeded
ATAGS. This was scheduled for removal back in 2001, but the removal
never happened, presumably because nobody cared enough to actually do it,
not because there are any users left.

Add "(DEPRECATED)' to the Kconfig line and update the timeline so we can
remove it next year along with the other options that are not scheduled
for that timeframe.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-07-03 20:36:07 +02:00
Arnd Bergmann
fe91e4e9da ARM: mark CPU_ENDIAN_BE8 as deprecated
Following the deprecation of big-endian ARMv8 mode in arch/arm64 in commit
1cf89b6bf6 ("arm64: Kconfig: Make CPU_BIG_ENDIAN depend on BROKEN"),
this does the same for ARMv7 (and v6), leaving the code around but
disabled by default: There are no known products that make use of this
mode any more, and it only hangs around for testing that it still works.

At the moment, there are no known bugs with big-endian ARMv7 mode, but
it does break occasionally and require someone to fix it.  By marking
the code as 'depends on BROKEN' now, it will no longer be covered by CI
testing. If any users remain, they can keep patching out the dependency
but are more likely to run into regressions.

The big-endian ARMv5 support (CONFIG_CPU_ENDIAN_BE32) in contrast is
still used on Intel IXP4xx platform, and is the only currently supported
mode there, so this one can still be enabled.

There is no timeline for actually removing the code at this point,
we will likely debate this if we ever remove IXP4xx support on arm,
or big-endian support on ARM64.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-07-03 20:36:07 +02:00
Arnd Bergmann
db75f16378 ARM: turn CONFIG_ATAGS off by default
Only a very small number of machines remain that rely on
traditional board files with the ATAGS boot data instead
of devicetree, and we have not accepted new ones for
a decade.

Most of the remaining ones are on their way out of the
kernel, but the Kconfig option that controls ATAGS
is still enabled by default.

To reflect the actual status of ATAGS support and alert
the remaining users of upstream and out-of-tree platforms
with this, change it to being default-disabled and
add a dependency on CONFIG_EXPERT.

The board specific defconfig files that rely on ATAGS
are changed to turn on both EXPERT and ATAGS if they
were not doing that already, and the ones that explicitly
turned it off before no longer need to.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi> # OMAP
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-07-03 20:36:07 +02:00
Arnd Bergmann
b5fdfa2081 ARM: deprecate support for ARM1136r0
This CPU revision remains a special case as it is now incompatible
with CONFIG_SMP. Only the Nokia N8x0 is used in practice, and even
that one is fairly rare these days, so let's plan to remove all of
them after the 2026 LTS kernel release.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Vladimir Zapolskiy <vz@mleia.com> # Freescale i.MX31
Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi> # OMAP
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-07-03 20:36:07 +02:00
Arnd Bergmann
d702424271 ARM: rework ARM11 CPU selection logic
Support for SMP on ARM1136r0 has been broken for a while, and nobody
is working on fixing it. I had a plan to change ARMv6 support to no
longer coexist in a common kernel with ARMv7 CPUs but instead ARMv5 and
below. This would have addressed the problem, but after a recent mailing
list discussion, we concluded that an easier approach is to just forbid
ARM1136r0 CPU support on SMP-enabled kernels.

This mainly affects users of the Nokia N800/N810 tablets using an
OMAP2420 SoC, which is the only commercial product with an ARM1136r0
that is still supported by the kernel.

The other machines that are still in the same hardware catogory are:

 - TI OMAP2420 H4 reference board
 - TI OMAP2430 SDP software development platform
 - Freescale/NXP i.MX31 Lite Development Kit
 - Buglabs i.MX31 Bug 1.x prototype
 - Arm Integrator/AP with CM1136JF-S core module

To my knowledge, none of these have any actual users aside from
reference boards being used to more easily test the platforms.

There are also a few ARM1136r1 machines, which implement the
ARMv6K SMP support (barriers, atomics and TLS):

 - Eukrea CPUIMX35 reference platform
 - Freescale/NXP i.MX35 Product Development Kit
 - ARM Integrator/CP/IM-LT3 with ARM1136J Core Tile
 - ARM Realview/EB with ARM1136J Core Tile

Again, these are mainly reference implementations rather than
actual products, but since they support ARMv6K, they should
continue to work correctly in SMP-enabled kernels. For the
ARM Core Tile, I have not found a datasheet but instead use
the revision based on what the respective virtual models
report.

All the other ARMv6 platforms use an ARM1176 with ARMv6K,
VMSAv7 and Trustzone support.

To avoid the broken configuration, annotate the ARM1136 based
machines with specific CPU_ARM1136R0 or CPU_ARM1136R2 symbols
in Kconfig and make the r0 variants depend on !SMP.

Link: https://lore.kernel.org/linux-arm-kernel/2831c5a6-cfbf-4fe0-b51c-0396e5b0aeb7@app.fastmail.com/T/
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi> # OMAP
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-07-03 20:36:07 +02:00
Arnd Bergmann
25900bd99d ARM: limit OABI support to StrongARM CPUs
As discussed on the mailing lists, there is no way to build OABI userspace
binaries any more since gcc-4.8, and now support is also getting dropped in
binutils, which will make it impossible to build pure OABI kernels at some
point in the future.

I found no evidence of anyone still sing OABI userspace on embedded systems
that keep getting kernel updates, but there are a few desktop-class machines
that date back to the 1990s using Intel StrongARM processors that were
supported by old versions of Debian, Red Hat or the official Corel
Netwinder distribution.

Add a much stricter Kconfig dependency for both native OABI and OABI_COMPAT
enabled kernels, only allowing either of them to be selected when building
a kernel that targets a StrongARM based machine.

Link: https://lore.kernel.org/lkml/2831c5a6-cfbf-4fe0-b51c-0396e5b0aeb7@app.fastmail.com/
Acked-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-07-03 20:36:07 +02:00
Arnd Bergmann
30b1c4a340 ARM: use CONFIG_AEABI by default everywhere
On ARMv4 and ARMv5, the default is still to build for OABI, with
CONFIG_AEABI disabled, even though distros and toolchains no longer
support OABI as a target.

Change the default to EABI for all architecture levels and change
the defconfig entries as follows:

 - All machines that used to explicitly enable EABI can drop that line now
 - Machines that are likely to actually use old distros and had NWFPE
   enabled in combination with OABI (rpc, footrbridge, netwinder,
   assabet, neponset) explicitly turn it on now.
 - Machines that already had both EABI and NWFPE disabled in defconfig
   (spear3xx, spear6xx) were likely not usable with either OABI or
   EABI and now use EABI instead implicitly, making it more likely that
   they could work.

Acked-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: Nicolas Ferre <nicolas.ferre@microchip.com>
Acked-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi> # OMAP
Acked-by: Alexander Sverdlin <alexander.sverdlin@siemens.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-07-03 20:36:01 +02:00
Uwe Kleine-König (The Capable Hub)
995832b2ce Replace <linux/mod_devicetable.h> by more specific <linux/device-id/*.h> (c files)
Replace the #include of <linux/mod_devicetable.h> by the more specific
<linux/device-id/*.h> where applicable. For most cases the include
can be dropped completely, only a few drivers need one or two headers
added.

Acked-by: Danilo Krummrich <dakr@kernel.org>
Acked-by: Takashi Sakamoto <o-takashi@sakamocchi.jp>
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Link: https://patch.msgid.link/1a3f2007c5c5dcf555c09a4035ce3ae8ef1b6c49.1782808461.git.u.kleine-koenig@baylibre.com
Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>
2026-07-03 07:38:17 +02:00
Sang-Heon Jeon
3db1a9ccf9 ARM: remove unreachable invalid range check in kasan_init()
kasan_init() maps each memblock region with for_each_mem_range(), which
guarantees pa_start < pa_end. Then it skips any region with
pa_start >= arm_lowmem_limit, so pa_start < arm_lowmem_limit is guaranteed
as well.

When pa_end <= arm_lowmem_limit, pa_start < pa_end means start < end, so
the start >= end check is unreachable.

When pa_end > arm_lowmem_limit, end is clamped to __va(arm_lowmem_limit),
and pa_start < arm_lowmem_limit means start < end, so the check is
unreachable as well.

No functional change.

Signed-off-by: Sang-Heon Jeon <ekffu200098@gmail.com>
Link: https://patch.msgid.link/20260630150413.1718632-6-ekffu200098@gmail.com
Signed-off-by: Mike Rapoport (Microsoft) <rppt@kernel.org>
2026-07-01 09:22:40 +03:00
Uwe Kleine-König (The Capable Hub)
9818b99c12 ARM: imx: Drop obsolete stuff from common.h
i.MX21 (and thus imx21_init_early()) is gone since v5.10-rc1 (commit
4b563a0666 ("ARM: imx: Remove imx21 support")).

The init_irq() functions are gone since v5.12-rc5 (commit e2c1b0ff38
("ARM: imx: avic: Convert to using IRQCHIP_DECLARE")).

And mxc_device_init() was removed for v5.10-rc1 (in commit 8485adf17a
("ARM: imx: Remove imx device directory")).

The last user of imx1_reset_init() is gone since v4.9-rc1 (commit
e1291cffcc ("ARM: i.MX: Remove i.MX1 non-DT support")).

Drop declaration of enum mxc_cpu_pwr_mode, the actual definition follows
later in common.h without a usage in-between.

All users of of_device_id also include <linux/of.h>,
<linux/of_address.h> or <linux/of_platform.h> which is enough to not
need the forward declaration.

Signed-off-by: Uwe Kleine-König (The Capable Hub) <u.kleine-koenig@baylibre.com>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-29 18:22:55 -04:00
Andreas Kemnade
88e3d0e820 ARM: omap2plus_defconfig: enable things required by iwd
Several crypto related things are missing for opreation of iwd, turn
them on according to the list being printed out.

:~# /usr/libexec/iwd &
:~# No HMAC(SHA1) support found
No HMAC(MD5) support found
No CMAC(AES) support found
No HMAC(SHA256) support not found
No HMAC(SHA512) support found, certain TLS connections might fail
DES support not found
AES support not found
No CBC(DES3_EDE) support found, certain TLS connections might fail
No CBC(AES) support found, WPS will not be available
No Diffie-Hellman support found, WPS will not be available
The following options are missing in the kernel:
        CONFIG_CRYPTO_USER_API_HASH
        CONFIG_CRYPTO_USER_API_SKCIPHER
        CONFIG_KEY_DH_OPERATIONS
        CONFIG_CRYPTO_ECB
        CONFIG_CRYPTO_MD5
        CONFIG_CRYPTO_CBC
        CONFIG_CRYPTO_SHA256
        CONFIG_CRYPTO_AES
        CONFIG_CRYPTO_DES
        CONFIG_CRYPTO_CMAC
        CONFIG_CRYPTO_HMAC
        CONFIG_CRYPTO_SHA512
        CONFIG_CRYPTO_SHA1

Apparently missing USER_API_SKCIPHER did also
hide some things for iwd.

Signed-off-by: Andreas Kemnade <andreas@kemnade.info>
Link: https://patch.msgid.link/20260616175152.1373709-1-andreas@kemnade.info
Signed-off-by: Kevin Hilman (TI) <khilman@baylibre.com>
2026-06-29 13:14:04 -07:00
Parvathi Pudi
a80ca4c22a arm: multi_v7_defconfig: Enable BRIDGE and DP83848_PHY for TI AM57xx, AM437x and AM335x
This patch enables BRIDGE and DP83848_PHY as kernel modules for AM57xx,
AM437x and AM335x SoCs. BRIDGE is to support STP/RSTP Switch mode using
PRU-ICSS which got recently merged and DP83848 PHY driver to support
TI TLK10X PHY.

Signed-off-by: Parvathi Pudi <parvathi@couthit.com>
Link: https://patch.msgid.link/20260428085003.3023464-1-parvathi@couthit.com
Signed-off-by: Kevin Hilman (TI) <khilman@baylibre.com>
2026-06-29 13:14:04 -07:00
Yuho Choi
7610381427 ARM: OMAP2+: Fix OF node reference leaks in omap_hwmod
The OF helpers that return device nodes acquire references that must be
released by the caller.

_init() leaks the "ocp" bus node returned by of_find_node_by_name() on
all paths after lookup, and also leaks the child returned by
of_get_next_child() when parsing module flags. Route the post-lookup
returns through a common cleanup path and release the child after use.

omap_hwmod_setup_earlycon_flags() leaks the /chosen node and the UART
node resolved from stdout-path. Track them separately and drop both
references after use.

Fixes: 1aa8f0cb19 ("ARM: OMAP2+: Remove unused legacy code for interconnects")
Fixes: 4f21224733 ("ARM: OMAP2+: Check also the first dts child for hwmod flags")
Fixes: 8dd6666f49 ("ARM: OMAP2+: omap_hwmod: Add support for earlycon")
Signed-off-by: Yuho Choi <dbgh9129@gmail.com>
Reviewed-by: Andreas Kemnade <andreas@kemnade.info>
Link: https://patch.msgid.link/20260504164711.2854116-1-dbgh9129@gmail.com
Signed-off-by: Kevin Hilman (TI) <khilman@baylibre.com>
2026-06-29 13:13:52 -07:00
Mithil Bavishi
4a7b197ad2 ARM: OMAP2+: Add CFI type for omap4_finish_suspend
With CONFIG_CFI enabled, OMAP4 can trap in omap4_enter_lowpower()
because omap_pm_ops.finish_suspend points directly to the assembly
routine omap4_finish_suspend, which lacks the expected KCFI type
metadata.

Annotate omap4_finish_suspend with SYM_TYPED_FUNC_START so the assembly
routine carries the KCFI type metadata.

Signed-off-by: Mithil Bavishi <bavishimithil@gmail.com>
Reviewed-by: Nathan Chancellor <nathan@kernel.org>
Reviewed-by: Andreas Kemnade <andreas@kemnade.info>
Link: https://patch.msgid.link/20260604054048.18980-1-bavishimithil@gmail.com
Signed-off-by: Kevin Hilman (TI) <khilman@baylibre.com>
2026-06-29 13:13:52 -07:00
Vidhu Sarwal
21e741f392 ARM: dts: ti: Fix typos in comments
Fix comment typos found with codespell across DaVinci and OMAP
board files:

  limitaion   -> limitation
  swithes     -> switches
  converstion -> conversion
  differnet   -> different

Signed-off-by: Vidhu Sarwal <vidhu.linux@gmail.com>
Link: https://patch.msgid.link/20260626111720.56688-1-vidhu.linux@gmail.com
Signed-off-by: Kevin Hilman (TI) <khilman@baylibre.com>
2026-06-29 13:13:19 -07:00
Krzysztof Kozlowski
68f994ec51 ARM: dts: ti: Add specific compatibles for SCM conf nodes
writing-bindings.rst rules dictate that "syscon" must come with a
specific compatible identifying the register layout.  Add specific
compatibles for these devices.

This also allows to solve a different problem: "syscon" is contradictory
to "simple-bus".  A system controller with registers having their own
functions is not really a trivial MMIO simple bus.  These two cannot be
used together, unless listed as an exception.

Reviewed-by: Andreas Kemnade <andreas@kemnade.info>
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Conor Dooley <conor.dooley@microchip.com>
Link: https://patch.msgid.link/20260608-n-dt-bindings-simple-bus-syscon-v3-3-4eba9ec1212a@oss.qualcomm.com
Signed-off-by: Kevin Hilman (TI) <khilman@baylibre.com>
2026-06-29 13:13:19 -07:00
Roger Quadros
0f44a4dba7 arm: dts: ti: Add device tree support for PRU-ICSS on AM335x
The TI Sitara AM335x ICE-V2 consists of single PRU-ICSS instance,
This patch adds the new device tree overlay file in-order to enable
PRU-ICSS instance, along with makefile changes.

PRU-ICSS instance consists of two PRU cores along with various
peripherals such as the Interrupt Controller (PRU_INTC), the Industrial
Ethernet Peripheral(IEP), the Real Time Media Independent Interface
controller (MII_RT), and the Enhanced Capture (eCAP) event module.

am33xx-l4.dtsi - Adds IEP and eCAP peripheral as child nodes
of the PRUSS subsystem node.

am335x-icev2-prueth.dtso - Adds PRU-ICSS instance node along with PRU
eth port information and corresponding port configuration. It includes
interrupt mapping for packet reception, HW timestamp collection, and PRU
Ethernet ports in MII mode,

GPIO configuration, boot strapping along with delay configuration for
individual PRU Ethernet port and other required nodes.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Basharath Hussain Khaja <basharath@couthit.com>
Signed-off-by: Parvathi Pudi <parvathi@couthit.com>
Reviewed-by: MD Danish Anwar <danishanwar@ti.com>
Link: https://patch.msgid.link/20260428072046.3022679-4-parvathi@couthit.com
Signed-off-by: Kevin Hilman (TI) <khilman@baylibre.com>
2026-06-29 13:13:18 -07:00
Roger Quadros
81aad76217 arm: dts: ti: Add device tree support for PRU-ICSS on AM437x
The TI Sitara AM437x series of devices consists of 2 PRU-ICSS instances
(PRU-ICSS0 and PRU-ICSS1). This patch adds the device tree nodes for the
PRU-ICSS1 instance to support DUAL-MAC mode of operation. Support for
Ethernet over PRU is available only for ICSS1 instance.

PRU-ICSS instance consists of two PRU cores along with various
peripherals such as the Interrupt Controller (PRU_INTC), the Industrial
Ethernet Peripheral(IEP), the Real Time Media Independent Interface
controller (MII_RT), and the Enhanced Capture (eCAP) event module.

am4372.dtsi - Adds IEP and eCAP peripheral as child nodes of the PRUSS
subsystem node.

am437x-idk-evm.dts - Adds PRU-ICSS instance node along with PRU eth port
information and corresponding port configuration. It includes interrupt
mapping for packet reception, HW timestamp collection, and PRU Ethernet
ports in MII mode,

GPIO configuration, boot strapping along with delay configuration for
individual PRU Ethernet port and other required nodes.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Basharath Hussain Khaja <basharath@couthit.com>
Signed-off-by: Parvathi Pudi <parvathi@couthit.com>
Reviewed-by: MD Danish Anwar <danishanwar@ti.com>
Link: https://patch.msgid.link/20260428072046.3022679-3-parvathi@couthit.com
Signed-off-by: Kevin Hilman (TI) <khilman@baylibre.com>
2026-06-29 13:13:18 -07:00
Roger Quadros
381819c384 arm: dts: ti: Add device tree support for PRU-ICSS on AM57xx
The TI Sitara AM57xx series of devices consists of 2 PRU-ICSS instances
(PRU-ICSS1 and PRU-ICSS2). This patch adds the device tree nodes for the
PRU-ICSS2 instance to support DUAL-MAC mode of operation.

Each PRU-ICSS instance consists of two PRU cores along with various
peripherals such as the Interrupt Controller (PRU_INTC), the Industrial
Ethernet Peripheral(IEP), the Real Time Media Independent Interface
controller (MII_RT), and the Enhanced Capture (eCAP) event module.

am57-pruss.dtsi - Adds IEP and eCAP peripheral as child nodes of
the PRUSS subsystem node.

am57xx-idk-common.dtsi - Adds PRU-ICSS2 instance node along with
PRU eth port information and corresponding port configuration. It includes
interrupt mapping for packet reception, HW timestamp collection, and
PRU Ethernet ports in MII mode.

am571x-idk.dts, am572x-idk.dts and am574x-idk.dts - GPIO configuration
along with delay configuration for individual PRU Ethernet port.

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Andrew F. Davis <afd@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
Signed-off-by: Basharath Hussain Khaja <basharath@couthit.com>
Signed-off-by: Parvathi Pudi <parvathi@couthit.com>
Reviewed-by: MD Danish Anwar <danishanwar@ti.com>
Link: https://patch.msgid.link/20260428072046.3022679-2-parvathi@couthit.com
Signed-off-by: Kevin Hilman (TI) <khilman@baylibre.com>
2026-06-29 13:13:18 -07:00
Thomas Richard
d8f1b27c9f ARM: dts: ti: var-som-om44: Add USB Ethernet controller node
Add USB tree description, including the Gigabit Ethernet controller
(LAN7500). Adding the LAN7500 node will allow the bootloader to patch the
devicetree and set the MAC address.

Reviewed-by: Nicolai Buchwitz <nb@tipi-net.de>
Signed-off-by: Thomas Richard <thomas.richard@bootlin.com>
Link: https://patch.msgid.link/20260506-b4-var-som-om44-lan7500-v2-2-b8af59ab877c@bootlin.com
Signed-off-by: Kevin Hilman (TI) <khilman@baylibre.com>
2026-06-29 13:13:18 -07:00
Weigang He
3de939b2ac ARM: imx: fix device_node refcount leaks in imx7_src_init()
imx7_src_init() obtains two device_node references via
of_find_compatible_node() - one for "fsl,imx7d-src" and one for
"fsl,imx7d-gpc" - reusing the same np variable, but never calls
of_node_put() on either. On every i.MX7D boot up to two device_node
refcounts are leaked:

  - The "fsl,imx7d-src" node is leaked both when of_iomap() fails (the
    early return after the mapping) and when it succeeds, because np is
    then overwritten by the second of_find_compatible_node() call
    without releasing the prior reference.
  - The "fsl,imx7d-gpc" node is leaked on every path leaving the
    function after it is acquired.

Release each reference immediately after of_iomap() consumes the node.
of_iomap() maps the node's registers but does not retain a reference to
the device_node, so it is safe to put the node once mapped; this also
drops the first reference before np is reused for the second lookup.

Found by static analysis tool CodeQL.

Fixes: e34645f458 ("ARM: imx: add smp support for imx7d")
Signed-off-by: Weigang He <geoffreyhe2@gmail.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-29 15:57:18 -04:00
Weigang He
936407c356 ARM: imx: fix device_node refcount leak in imx_src_init()
imx_src_init() obtains a device_node reference via
of_find_compatible_node() matching "fsl,imx51-src" and uses it only to
call of_iomap(). It never releases that reference: on the success path
the function returns at the end without of_node_put(np), leaking one
device_node refcount on every boot of an i.MX5/6 platform.

Release the reference right after of_iomap(). of_iomap() maps the
node's registers but does not retain a reference to the device_node, so
the node can be put once the mapping is done. The early return on a NULL
np needs no put.

Found by static analysis tool CodeQL.

Fixes: bd3d924d71 ("ARM i.MX5: Add System Reset Controller (SRC) support for i.MX51 and i.MX53")
Signed-off-by: Weigang He <geoffreyhe2@gmail.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-29 15:57:17 -04:00
Lech Perczak
b9e9f549e9 ARM: dts: imx7d-pico: describe Bluetooth controller
Ampak AP6335i Wi-Fi module atop i.MX7D Pico SoM also supports Bluetooth 4.1
via UART attached to "serial6" port. Describe it, so the controller can
probe automatically on boot.

This is based on "Pico i.MMX Development Kit for Android Things Hardware
Manual" rev. B1 [1], Table 6 on page 12.

Link: https://www.nxp.com/docs/en/user-guide/PICO-IMX7UL-USG.pdf [1]

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-29 15:51:56 -04:00
Yuho Choi
b24c12e1ba ARM: imx: avic: Fix OF node reference leaks
of_find_compatible_node() returns a device node with its reference count
incremented. mxc_init_irq() looks up the i.MX25 CCM node for of_iomap()
and the AVIC node for irq_domain_create_legacy(), but does not release
either temporary reference.

of_iomap() does not consume the node reference, and
irq_domain_create_legacy() takes its own fwnode reference for the domain.
Drop the temporary OF node references after each use.

Fixes: 9b454d16e5 ("ARM: imx: avic: set low-power interrupt mask for imx25")
Fixes: 544496ab5c ("ARM: imx: move irq_domain_add_legacy call into avic driver")
Signed-off-by: Yuho Choi <dbgh9129@gmail.com>
Reviewed-by: Martin Kaiser <martin@kaiser.cx>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-29 13:04:01 -04:00
Lukas Timmermann
b78d749d4b ARM: dts: exynos: Add bluetooth support to manta
Enable the bcm4330-bt device for manta boards on serial0.
Also adds the necessary pin definitions and interrupt handling for
wakeup.

Co-developed-by: Alexandre Marquet <tb@a-marquet.fr>
Signed-off-by: Alexandre Marquet <tb@a-marquet.fr>
Signed-off-by: Lukas Timmermann <linux@timmermann.space>
Link: https://patch.msgid.link/20260614-manta-bluetooth-v2-1-52de06cabf9d@timmermann.space
[krzk: Fixed invalid Co-developed-by for Lukas Timmermann]
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-06-29 12:23:04 +02:00
Thomas Huth
7b06ff7720 ARM: s3c: Replace __ASSEMBLY__ with __ASSEMBLER__ in header files
While the GCC and Clang compilers already define __ASSEMBLER__
automatically when compiling assembly code, __ASSEMBLY__ is a
macro that only gets defined by the Makefiles in the kernel.
This can be very confusing when switching between userspace
and kernelspace coding, or when dealing with uapi headers that
rather should use __ASSEMBLER__ instead. So let's standardize now
on the __ASSEMBLER__ macro that is provided by the compilers.

This is a completely mechanical patch (done with a simple "sed -i"
statement).

Signed-off-by: Thomas Huth <thuth@redhat.com>
Link: https://patch.msgid.link/20260619125827.215977-1-thuth@redhat.com
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-06-29 12:06:07 +02:00
Geert Uytterhoeven
c902a6887e ARM: shmobile: rcar-gen2: Use of_machine_compatible_match() helper
Replace sequences of of_machine_is_compatible() calls by single calls to
the of_machine_compatible_match() helper, to simplify the code, and to
reduce code size.

Note that this does have a slight performance impact on matching
platforms: while the C sequences terminated evaluation after a match,
(internal) of_device_compatible_match() calculates a matching score, and
thus always checks against all passed compatible values.

Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://patch.msgid.link/2230eb28da9b8d8bdee4e4fd7e19dc8f074531bc.1780499233.git.geert+renesas@glider.be
2026-06-29 11:18:03 +02:00
Michal Simek
568248504d arm: dts: xilinx: drop bias-high-impedance on SDIO CD/WP pins
Zynq-7000 boards used the same invalid combination of bias-high-impedance
and bias-pull-up on SDIO card-detect and write-protect pin groups. Keep
only bias-pull-up, as in the arm64 ZynqMP fix.

Link: https://patch.msgid.link/f8f0aa0d0a732127b5cb725871d06a7739f0a499.1780496388.git.michal.simek@amd.com
Signed-off-by: Michal Simek <michal.simek@amd.com>
2026-06-29 10:34:45 +02:00
Tomer Maimon
d7cb66fad5 arm: dts: nuvoton: npcm7xx: Drop redundant FIU clock-names
The NPCM7xx FIU controller nodes reference a single clock, but their
clock-names properties are not described by the FIU binding. Drop the
undocumented names so the DTS matches the binding.

Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2026-06-29 09:59:10 +09:30
Tomer Maimon
13f9cdcf46 arm: dts: nuvoton: npcm7xx: Drop bogus FIU memory reg-names
The NPCM7xx FIU controller nodes only describe the control register block,
but they still advertise a second "memory" entry in reg-names. Drop the
bogus name so the DTS matches the resources actually present in each node.

Signed-off-by: Tomer Maimon <tmaimon77@gmail.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2026-06-29 09:59:10 +09:30
Linus Torvalds
364f4a55c6 USB/Thunderbolt driver changes for 7.2-rc1
Here is the big set of USB and Thunderbolt driver changes for 7.2-rc1.
 
 Lots of little stuff in here, major highlights include:
   - USB4STREAM support for Thunderbolt devices.  A new way to send "raw"
     data very quickly over a USB4 connection to another system directly.
   - Other thunderbolt updates and changes to make the stream code work
   - xhci driver updates and additions
   - typec driver updates and additions
   - usb gadget driver updates and fixes for reported issues
   - zh_CN documentation translation of the USB documentation
   - usb-serial driver updates
   - dts cleanups for some USB platforms
   - other minor USB driver updates and tweaks
 
 All of these have been in linux-next for over a week with no reported
 issues, most of them for many many weeks.
 
 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
 -----BEGIN PGP SIGNATURE-----
 
 iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCajk1lg8cZ3JlZ0Brcm9h
 aC5jb20ACgkQMUfUDdst+ymieQCg1VgSwN2sXBtMDGi4Sca+ecADx2kAn0bm/e/C
 JjShAcuQ/vj/6zNJm0ll
 =vXkP
 -----END PGP SIGNATURE-----

Merge tag 'usb-7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb

Pull USB and Thunderbolt driver updates from Greg KH:
 "Here is the big set of USB and Thunderbolt driver changes for 7.2-rc1.

  Lots of little stuff in here, major highlights include:

   - USB4STREAM support for Thunderbolt devices. A new way to send "raw"
     data very quickly over a USB4 connection to another system directly

   - Other thunderbolt updates and changes to make the stream code work

   - xhci driver updates and additions

   - typec driver updates and additions

   - usb gadget driver updates and fixes for reported issues

   - zh_CN documentation translation of the USB documentation

   - usb-serial driver updates

   - dts cleanups for some USB platforms

   - other minor USB driver updates and tweaks

  All of these have been in linux-next for over a week with no reported
  issues, most of them for many many weeks"

* tag 'usb-7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (131 commits)
  usb: ucsi: huawei_gaokun: support mode switching
  thunderbolt: debugfs: Fix sideband write size check
  thunderbolt: debugfs: Fix margining error counter buffer leak
  usb: host: xhci-rcar: Split R-Car Gen2 and Gen3 .plat_start() handling
  usb: host: xhci-rcar: Remove SET_XHCI_PLAT_PRIV_FOR_RCAR() macro
  usb: xhci: allocate internal DCBAA mirror dynamically
  usb: xhci: allocate DCBAA based on host controller max slots
  usb: xhci: refactor DCBAA struct
  xhci: Prevent queuing new commands if xhci is inaccessible
  xhci: dbc: detect and recover hung DbC during enumeraton
  xhci: dbc: add timestamps to DbC state changes in a new helper.
  xhci: dbc: add helper to set and clear DbC DCE enable bit
  xhci: dbc: serialize enabling and disabling dbc
  xhci: dbc: Fix sysfs ABI Documentation for xhci dbc states
  usb: xhci: Improve Soft Retries after short transfers
  usb: xhci: Remove isochronous URB_SHORT_NOT_OK handling
  usb: xhci: Remove skip_isoc_td()
  usb: xhci: Simplify xhci_quiesce()
  usb: xhci: remove legacy 'num_trbs_free' tracking
  usb: xhci: fix typo in xhci_set_port_power() comment
  ...
2026-06-22 12:09:47 -07:00
Linus Torvalds
2e05544060 mm.git review status for mm-hotfixes-stable..mm-nonmm-stable
Everything:
 
 Total patches:       108
 Reviews/patch:       0.84
 Reviewed rate:       75%
 
 Patch series in this merge:
 
 - The 2 patch series "taskstats: fix TGID dead-thread stat retention"
   from Yiyang Chen fixes a taskstats TGID aggregation bug where fields
   added in the TGID query path were not preserved after thread exit, and
   adds a kselftest covering the regression.
 
 - The 2 patch series "lib/tests: string_helpers: Slight improvements"
   from Andy Shevchenko improves lib/tests/string_helpers_kunit.c a little.
 
 - The 2 patch series "lib/base64: decode fixes" from Josh Law addreesses
   minor issues in lib/base64.c.
 
 - The 3 patch series "selftests/filelock: Make output more kselftestish"
   from Mark Brown makes the output from the ofdlocks test a bit easier for
   tooling to work with, and also ignores the generated file.
 
 - The 3 patch series "uaccess: unify inline vs outline
   copy_{from,to}_user() selection" from Yury Norov simplifies the usercopy
   code by removing the selectability of inlining copy_{from,to}_user().
 
 - The 5 patch series "ocfs2: validate inline xattr header consumers"
   from ZhengYuan Huang fixes a number of possible issues in the ocfs2
   xattr code.
 
 - The 8 patch series "lib and lib/cmdline enhancements" from Dmitry
   Antipov provides additional robustness checking in the cmdline handling
   code and its in-kernel testing and selftests.
 
 - The 18 patch series "cleanup the RAID6 P/Q library" from Christoph
   Hellwig cleans up the RAID6 P/Q library to match the recent updates to
   the RAID 5 XOR library and other CRC/crypto libraries.
 
 - The 3 patch series "ocfs2: harden inode validators against forged
   metadata" from Michael Bommarito adds three structural checks to OCFS2
   dinode validation so malformed on-disk fields are rejected before
   ocfs2_populate_inode() copies them into the in-core inode.
 
 - The 2 patch series "lib/raid: replace __get_free_pages() call with
   kmalloc()" from Mike Rapoport cleans up the lib/raid code by using
   kmalloc() in more places.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTTMBEPP41GrTpTJgfdBJ7gKXxAjgUCajgeIQAKCRDdBJ7gKXxA
 jmlWAQCLJVDZNJMFaXy4a+YHdu3tfemLpSy83A0Le61tOZUdBQD/Sf/7rhgeaM74
 32yp53TZLA8xHImCGEin/1ddPJ8DbgY=
 =GW2I
 -----END PGP SIGNATURE-----

Merge tag 'mm-nonmm-stable-2026-06-21-10-22' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull non-MM updates from Andrew Morton:

 - "taskstats: fix TGID dead-thread stat retention" (Yiyang Chen)

   Fix a taskstats TGID aggregation bug where fields added in the TGID
   query path were not preserved after thread exit, and adds a kselftest
   covering the regression.

 - "lib/tests: string_helpers: Slight improvements" (Andy Shevchenko)

   Improve lib/tests/string_helpers_kunit.c a little

 - "lib/base64: decode fixes" (Josh Law)

   Address minor issues in lib/base64.c

 - "selftests/filelock: Make output more kselftestish" (Mark Brown)

   Make the output from the ofdlocks test a bit easier for tooling to
   work with. Also ignore the generated file

 - "uaccess: unify inline vs outline copy_{from,to}_user() selection"
   (Yury Norov)

   Simplify the usercopy code by removing the selectability of inlining
   copy_{from,to}_user().

 - "ocfs2: validate inline xattr header consumers" (ZhengYuan Huang)

   Fix a number of possible issues in the ocfs2 xattr code

 - "lib and lib/cmdline enhancements" (Dmitry Antipov)

   Provide additional robustness checking in the cmdline handling code
   and its in-kernel testing and selftests

 - "cleanup the RAID6 P/Q library" (Christoph Hellwig)

   Clean up the RAID6 P/Q library to match the recent updates to the
   RAID 5 XOR library and other CRC/crypto libraries

 - "ocfs2: harden inode validators against forged metadata" (Michael
   Bommarito)

   Add three structural checks to OCFS2 dinode validation so malformed
   on-disk fields are rejected before ocfs2_populate_inode() copies them
   into the in-core inode

 - "lib/raid: replace __get_free_pages() call with kmalloc()" (Mike
   Rapoport)

   Clean up the lib/raid code by using kmalloc() in more places

* tag 'mm-nonmm-stable-2026-06-21-10-22' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (108 commits)
  ocfs2: fix circular locking dependency in ocfs2_dio_end_io_write
  ocfs2: fix NULL h_transaction deref in ocfs2_assure_trans_credits
  lib: interval_tree_test: validate benchmark parameters
  ocfs2: avoid moving extents to occupied clusters
  treewide: fix transposed "sign" typos and update spelling.txt
  ocfs2: fix UBSAN array-index-out-of-bounds in ocfs2_sum_rightmost_rec
  fat: reject BPB volumes whose data area starts beyond total sectors
  selftests/uevent: increase __UEVENT_BUFFER_SIZE to avoid ENOBUFS on busy systems
  lib/test_firmware: allocate the configured into_buf size
  fs: efs: remove unneeded debug prints
  checkpatch: cuppress warnings when Reported-by: is followed by Link:
  MAINTAINERS: add Alexander as a kcov reviewer
  mailmap: update Alexander Sverdlin's Email addresses
  fs: fat: inode: replace sprintf() with scnprintf()
  ocfs2: fix out-of-bounds write in ocfs2_remove_refcount_extent
  ocfs2: fix race between ocfs2_control_install_private() and ocfs2_control_release()
  ocfs2/dlm: require a ref for locking_state debugfs open
  ocfs2: reject FITRIM ranges shorter than a cluster
  ocfs2: validate fast symlink target during inode read
  ocfs2: add journal NULL check in ocfs2_checkpoint_inode()
  ...
2026-06-21 13:20:19 -07:00
Linus Torvalds
6505114e82 soc: arm code changes for 7.2
The largest addition here is the revived support for the ZTE ZX
 SoC platform, though this mostly documentation.
 
 The other changes are code cleanups that deal with continued
 conversion of the GPIO library away from GPIO numbers to
 descriptors and a few minor bugfixes.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmovyncACgkQmmx57+YA
 GNmY/RAAlinPvdbpf4z7D+nlEIiDSEqM437qycXXb1sTE43p5au6qejwkh9UQ+IA
 Z3yRP5eXHVrwYcXBTqswvxNaBPMob1F/Lcr0anLrIxx4rMY91EA2wz1oLelWUVDR
 INRTnzbJSVGPpDrheDYgioL2gJpOzLAvQMUNAUiXy46nteko5RQjNdQwzz2g/syu
 z8MQKNwsKYO3wPqMvjHuZTc5veHmoW8jYfxd36K8k+3qyRyrftHI/v1opTR6dVhn
 Ib0PLnsRAQRGGnHF1xbsXDTM4YIxk7+R074KchuIz7l8XTziNjzHrgeGAkGLyjz/
 3jxqzT+tzr7wKJnM34onfbbRymW0TUD+yWvI0DRI5kTJ9az18WMS+MHpBc8wW0fL
 klyyaqkIlfgnT5nEEym31LzUZvP0O92DUKSBYnsdEiFQFIU0el4Lu6dmfh900fp/
 KrZRSr9fsY1pnZB/DQXaoA0/FJcngw4lAUeRwdwQ8j4sbh/3rX6MX5JHrg0AxOI4
 IuMGwC+b0etjxNk8V0wCdjRdxqUMMxLxtdktbbmFregjgJ6GKuNVBjCgajQYG6JX
 p4sjFRY7aLEHCZ/sjV/lnmrFmvYxm4nRBM5po1SvpmJuOGntTrmvczzzTMFJLWFZ
 6SeAYp+ugvBXWrU873vwVeyRvr3SPxwsh4SPF4MeHFnixcO3DgA=
 =QOYC
 -----END PGP SIGNATURE-----

Merge tag 'soc-arm-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull arm SoC code updates from Arnd Bergmann:
 "The largest addition here is the revived support for the ZTE ZX SoC
  platform, though this mostly documentation.

  The other changes are code cleanups that deal with continued
  conversion of the GPIO library away from GPIO numbers to descriptors
  and a few minor bugfixes"

* tag 'soc-arm-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  MAINTAINERS: Add Axiado reviewer and Maintainers
  ARM: remove the last few uses of do_bad_IRQ()
  ARM: imx31: Fix IIM mapping leak in revision check
  ARM: imx3: Fix CCM node reference leak
  ARM: orion5x: update board check in mss2_pci_init() to use the DT
  arm: mvebu_v5_defconfig: remove stale MACH_LINKSTATION_LSCHL reference
  ARM: mvebu: simplify of_node_put calls
  ARM: mvebu: drop unnecessary NULL check
  arm: boot: ep93xx: don't rely on machine_is_*() for removed board files
  ARM: zte: clean up zx297520v3 doc. warnings
  arm64: Kconfig: drop unneeded dependency on OF_GPIO for ARCH_MVEBU
  firmware: imx: sm-misc: Make scmi_imx_misc_ctrl_nb variable static
  ARM: zte: Add zx297520v3 platform support
  ARM: pxa: pxa27x: attach software node to its target GPIO controller
  ARM: pxa: pxa25x: attach software node to its target GPIO controller
  ARM: pxa: spitz: attach software nodes to their target GPIO controllers
  ARM: pxa: statify platform device definitions in spitz board file
  ARM: omap2: simplify allocation for omap_device
  ARM: select legacy gpiolib interfaces where used
  ARM: s3c: use gpio lookup table for LEDs
2026-06-17 11:28:10 -07:00
Linus Torvalds
61cf958810 soc: defconfig updates for 7.2
The main change this time is a cleanup series from Krzysztof Kozlowski
 that updates the defconfig files to be more in sync with changes to
 the Kconfig files that moved options around or removed the completely.
 
 In addition, a number of drivers get enabled, in order to support
 more hardware out of the box, as usual.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmovyaAACgkQmmx57+YA
 GNm7uw/+J91Gu+fM30dCblf4j5LgdbZAaMC3JNbVgznHBcBRUQcA/vTgzBZHP9x7
 ihDjG+3KDVbJqqzMMIAsXtZzkWJzjQ/zK5qsLSFGeUC8aKtJiHo57kSaZbYrlU+9
 UqdB4juV7CtMJwWQHfafm3hEarIvY+vrGGDRicfwDt6DcWAwgFMzkuLxXBdsHj/l
 BMMTX+2bn9uIk6GBu+hHJFDP+74wIFVQy3xJzVEA989ETawLP7xyd+2sFKlca2k/
 wH76UJF8fxeXdET1sqnhMSnPSGKzbhcnBho8J5MmRUF4mRFikYN8g7io+L7wuGUd
 V477v2V+JGruoq19dWo/X2EXQtNE5dk17wqiMPsgEyYds1FRUhFOjnJSrrjEUp+e
 vyMx2j0zTnyW/J309aZ8htkkFoW+gUUtEaeAnI0Cm6twTuI4ZyERCrJDGM61bPmi
 2MzBvNvd3n94h/vnxGUvIiz0ZLEnzmkhXPWOBi2eG1TuLkZamilwvKUgQM+KKvAN
 R/4WP2j9MJ9DQY+rw2n7w6/QEn6EQkcC9rpA3HLFu/o0It1Sfrs4WHlZWrekOBA6
 ej/UxsZhQuJg/iHdQkwPVRDGE+NOMvpjLIyiZgWlEFsOiPDIFoV6lWRZzXNvsV79
 FUh2A9p5q6Z9ShTPeKw4kEP2r++v2vMokMbtgzbJTAozDzchMTg=
 =56zC
 -----END PGP SIGNATURE-----

Merge tag 'soc-defconfig-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC defconfig updates from Arnd Bergmann:
 "The main change this time is a cleanup series from Krzysztof Kozlowski
  that updates the defconfig files to be more in sync with changes to
  the Kconfig files that moved options around or removed the completely.

  In addition, a number of drivers get enabled, in order to support more
  hardware out of the box, as usual"

* tag 'soc-defconfig-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  arm64: defconfig: enable BST SDHCI controller
  arm64: configs: Update defconfig for AST2700 platform support
  ARM: multi_v7_defconfig: Enable dma-buf heaps
  ARM: configs: Drop duplicated CONFIG_EXT4_FS
  arm64: defconfig: Enable DP83822 PHY driver
  ARM: configs: at91: sama7: add sama7d65 i3c-hci
  arm64: defconfig: Enable PCI M.2 power sequencing driver
  arm64: defconfig: Enable CIX Sky1 pinctrl, PCIe host, and Cadence GPIO
  ARM: multi_v7_defconfig: Correct QCOM_RPMH and QCOM_RPMHPD
  ARM: multi_v7_defconfig: Cleanup redundant options
  ARM: configs: Drop redundant SND_ATMEL_SOC
  ARM: configs: Drop redundant I2C_DESIGNWARE_PLATFORM
  ARM: multi_v7_defconfig: Move entries to match savedefconfig
  arm64: defconfig: Switch Ethernet drivers to modules
  arm64: defconfig: Drop unused Ethernet vendors
  arm64: defconfig: Drop default or selected drivers
  arm64: defconfig: Drop unused legacy netfilter options
  arm64: defconfig: Move entries to match savedefconfig
  pinctrl: qcom: Make important drivers default (2)
2026-06-17 11:26:33 -07:00
Linus Torvalds
aab799b1bd soc: devicetree updates for 7.2
There are fewer devicetree updates this time that the last few ones, with
 five SoC types getting added:
 
  - Qualcomm Dragonwing IPQ9650 is a new wireless networking SoC using
    four Cortex-A55 and one Cortex-A78 core, which is a significant
    upgrade from older generations
 
  - ZTE zx297520v3 is an older low-end wireless SoC using a single
    Cortex-A53 core, which so far can only run 32-bit kernels.  This brings
    back the ZX family of chips that was removed in 2021 after support
    for the original zx296702 and zx296718 chips was never completed.
 
  - Renesas R-Car M3Le (R8A779MD) is a variant of the R-Car M3-N (R8A77965)
    automotive SoC.
 
  - Apple t8122 (M3) is the 2023 generation of their laptop SoCs,
    which has now been reverse-engineered to the point of having initial
    kernel support for five laptop models.
 
  - ASPEED AST27xx is their first baseboard managment controller using
    a 64-bit core, the Cortex-A35, following earlier generations using
    ARMv5/v6/v7 CPUs.
 
 These all come with one or more initial boards, and in total there
 are 39 new boards getting added across SoC families, including:
 
  - Two NAS boxes using the old Cortina Systems Gemini SoC based on
    an ARMv4 FA526 CPU core
 
  - 18 industrial embedded boards using NXP i.MX6/8/9 and LX2160A
    SoCs from Variscite, Toradex and SolidRun, plus a number of
    overlays for combinations with additional boards
 
  - One new carrier board and SoM using TI K3 AM62x, in addition to
    new overlays for older SoMs
 
  - Two new boards using Spacemit K3 (no relation with TI) RISC-V
    SoCs.
 
  - Three phones from Google, Nothing and Motorola, all using Qualcomm
    Snapdragon SoCs
 
  - AST26xx BMC support for two server boards
 
 While there is still a significant number of patches improving hardware
 support for the existing boards across vendors (NXP, Qualcomm, Renesas,
 Rockchips, Mediatek, ...), a much smaller number of cleanups and warning
 fixes have made it in this time.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmovyQ0ACgkQmmx57+YA
 GNmE2hAAk4UguDtXr6fCYcIiBGqEtKhPmuvD98edmRyemg1x3ZbHIZn52rUqKFoz
 HDi1BL7NkKdDuIWJ5DvqyHGLMg6kCEbiYSsjdkjN2Hcsx+I8NtokCR0hRtteNPQ9
 f6kgDj9+VsWvXTsYKFU87qkK1bC5nVrLS7xxIuuCIYxULvSEX5GGJbHQ93qxNUam
 6GrFcDHnozh9OfETSBw9bME16FiMxapgghPxMaAmVzuB+iGr4xyrEHmyu9gThsuJ
 O2P04LIhu9j9CZOjaJ54+v41AtMIVE7xG1+MUC5JcWBc7OMVLE30uGgsW9jBKaii
 Wsxa3D08+m1JYeFbhJR6tWAf4HbIEpudEoJmlSdwRhvYte15kU90f917aTNFYBow
 sBf6G09t4ZLsDr9NzCx+cWUnoVLdlYv4auRGNxoWsxe4ed9G6c+yiZN2pBaFNXuT
 wNJqrFstS9mszBaPItgt4e5Tck+IB0uKNqhbSWa3rFyKrXQ9SpZOKVN6cPlwFjhT
 wWYZcAzUL8n2Sz71l/U/QqjN6hqnZWFghe9B3wr81/XQ4sPjWHWoTeRfnees+vFM
 LtE77TGPW2KdZpRI38qfyKWWH3PwKaTtZ07ne8NOvh60zmhK+uUFGzzWAhKlO/Z2
 a3tX8evXRTOb5NrvWzGlwpPwtE0R71oRIwxG1MlmFdlJzddI4Xc=
 =EhYX
 -----END PGP SIGNATURE-----

Merge tag 'soc-dt-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC devicetree updates from Arnd Bergmann:
 "There are fewer devicetree updates this time that the last few ones,
  with five SoC types getting added:

   - Qualcomm Dragonwing IPQ9650 is a new wireless networking SoC using
     four Cortex-A55 and one Cortex-A78 core, which is a significant
     upgrade from older generations

   - ZTE zx297520v3 is an older low-end wireless SoC using a single
     Cortex-A53 core, which so far can only run 32-bit kernels. This
     brings back the ZX family of chips that was removed in 2021 after
     support for the original zx296702 and zx296718 chips was never
     completed.

   - Renesas R-Car M3Le (R8A779MD) is a variant of the R-Car M3-N
     (R8A77965) automotive SoC.

   - Apple t8122 (M3) is the 2023 generation of their laptop SoCs, which
     has now been reverse-engineered to the point of having initial
     kernel support for five laptop models.

   - ASPEED AST27xx is their first baseboard managment controller using
     a 64-bit core, the Cortex-A35, following earlier generations using
     ARMv5/v6/v7 CPUs.

  These all come with one or more initial boards, and in total there are
  39 new boards getting added across SoC families, including:

   - Two NAS boxes using the old Cortina Systems Gemini SoC based on an
     ARMv4 FA526 CPU core

   - 18 industrial embedded boards using NXP i.MX6/8/9 and LX2160A SoCs
     from Variscite, Toradex and SolidRun, plus a number of overlays for
     combinations with additional boards

   - One new carrier board and SoM using TI K3 AM62x, in addition to new
     overlays for older SoMs

   - Two new boards using Spacemit K3 (no relation with TI) RISC-V SoCs.

   - Three phones from Google, Nothing and Motorola, all using Qualcomm
     Snapdragon SoCs

   - AST26xx BMC support for two server boards

  While there is still a significant number of patches improving
  hardware support for the existing boards across vendors (NXP,
  Qualcomm, Renesas, Rockchips, Mediatek, ...), a much smaller number
  of cleanups and warning fixes have made it in this time"

* tag 'soc-dt-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (665 commits)
  arm64: dts: aspeed: Fix duplicate pinctrl labels and address scheme
  arm64: dts: bst: enable eMMC controller in C1200
  dt-bindings: display/lvds-codec: add ti,sn65lvds93
  arm64: dts: allwinner: a523: Add missing GPIO interrupt
  arm64: dts: lx2160a-rev2: avoid 32-bit pcie window system ram overlap
  arm64: dts: aspeed: Add initial AST27xx SoC device tree
  arm64: Kconfig: Add ASPEED SoC family Kconfig support
  dt-bindings: arm: aspeed: Add AST2700 board compatible
  arm64: dts: allwinner: a523: add gpadc node
  arm64: dts: allwinner: Add EL2 virtual timer interrupt
  ARM: dts: sun8i: a83t: Add MIPI CSI-2 controller node
  dt-bindings: media: sun6i-a31-isp: Add optional interconnect properties
  dt-bindings: media: sun6i-a31-csi: Add optional interconnect properties
  arm64: dts: imx{91,93}-phyboard-segin: Add peb-av-18 overlays
  arm64: dts: imx93-var-som-symphony: enable ADC
  arm64: dts: imx93-var-som-symphony: enable TPM3 PWM
  arm64: dts: imx93-var-som-symphony: keep RGB_SEL low
  arm64: dts: imx93-var-som-symphony: enable UART7
  arm64: dts: imx93-var-som-symphony: add TPM support
  arm64: dts: imx91-var-som-symphony: fix RGB_SEL handling
  ...
2026-06-17 11:16:56 -07:00
Linus Torvalds
59a6c7ac0a bitmap updates for v7.2
- new handy helper FIELD_GET_SIGNED() (Yury);
  - arch test_and_set_bit_lock() and clear_bit_unlock() cleanup (Randy);
  - __bf_shf() simplification (Yury);
  - bitmap_print_to_pagebuf() removal (Yury);
  - RISCV/bitrev conditional support (Jindie, Yury);
 -----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCgAdFiEEi8GdvG6xMhdgpu/4sUSA/TofvsgFAmowS0sACgkQsUSA/Tof
 vshqLgwAw2RkV8ZHAniyPgz4noGztto+fcD70UbMgkh48n46PSKIUPCUvOj4RGHc
 Nzcjg6VkHLlypb7U3fHoXOHhkt+nTt+OeVDtZCmr8OzlRYmWXAo9TptfalDAlH1A
 OucRocjYSkwl/nbuYk0EQ/0+AcTFlfVTeyyus6wUYt7Nj1ncCNjKF2K5EjtF4aoQ
 JiA4d9LKWCIN4qFodP/9aFDzLX5MvqHgvOmBPSSFZKkMAer9HHCa/V3jHH3JMh21
 bMPjZvaPUCI9oywLL+pDe0RRhP1CYFevxJ/Tnpcx0elV+CekrzuSsM3zpRbPt6hR
 0P+8VVzUuoI8yth5mSH1gvUn9ZDvDeognTpKpXR574lB83A8Ub/Gu/NGMXO3TY0q
 mtuVbI5ZG0dCqahjEZvJQJmZ/qqbmwDhQDBtPS0x3S9XyzhNAga+JFpr6FXhULx8
 b8ZrDPc5BGLtTt5aBOAgpN10CeFM8JHxku1B489sqRXQWaeKW++GkVfVTZ9UOK1E
 8c3l/1Bl
 =z8f4
 -----END PGP SIGNATURE-----

Merge tag 'bitmap-for-7.2' of https://github.com/norov/linux

Pull bitmap updates from Yury Norov:
 "This includes the new FIELD_GET_SIGNED() helper,
  bitmap_print_to_pagebuf() removal, RISCV/bitrev support, and a couple
  cleanups.

   - new handy helper FIELD_GET_SIGNED() (Yury)

   - arch test_and_set_bit_lock() and clear_bit_unlock() cleanup (Randy)

   - __bf_shf() simplification (Yury)

   - bitmap_print_to_pagebuf() removal (Yury)

   - RISCV/bitrev conditional support (Jindie, Yury)"

* tag 'bitmap-for-7.2' of https://github.com/norov/linux:
  MAINTAINERS: BITOPS: include bitrev.[ch]
  arch/riscv: Add bitrev.h file to support rev8 and brev8
  bitops: Define generic___bitrev8/16/32 for reuse
  lib/bitrev: Introduce GENERIC_BITREVERSE
  arch: select HAVE_ARCH_BITREVERSE conditionally on BITREVERSE
  bitmap: fix find helper documentation
  bitmap: drop bitmap_print_to_pagebuf()
  cpumask: switch cpumap_print_to_pagebuf() to using scnprintf()
  bitfield: wire __bf_shf to __builtin_ctzll
  bitops: use common function parameter names
  ptp: switch to using FIELD_GET_SIGNED()
  rtc: rv3032: switch to using FIELD_GET_SIGNED()
  wifi: rtw89: switch to using FIELD_GET_SIGNED()
  iio: mcp9600: switch to using FIELD_GET_SIGNED()
  iio: pressure: bmp280: switch to using FIELD_GET_SIGNED()
  iio: magnetometer: yas530: switch to using FIELD_GET_SIGNED()
  iio: intel_dc_ti_adc: switch to using FIELD_GET_SIGNED()
  x86/extable: switch to using FIELD_GET_SIGNED()
  bitfield: add FIELD_GET_SIGNED()
2026-06-17 11:38:38 +01:00
Linus Torvalds
8479bb8c44 Modules changes for v7.2-rc1
- Add a missing return value check for module_extend_max_pages()
   to prevent a kernel oops on memory allocation failure.
 
 - Force sh_addr to 0 for architecture-specific module sections on
   arm, arm64, m68k, and riscv. This prevents non-zero section
   addresses when linking modules with ld.bfd -r, which may cause
   tools to misbehave and result in worse compressibility.
 
 - Replace pr_warn! with pr_warn_once! for set_param null pointer
   warnings in Rust abstractions, now that the _once variant is
   available.
 
 Note that as part of our maintainer rotation, Petr Pavlu will be
 taking over module subsystem pull requests for the next six months.
 
 Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQSE9au1u/dCZerzchhaByWrOaGnegUCaiycUAAKCRBaByWrOaGn
 ekFVAP9dELwbhP0QjWFhewtSMDYXsvqyEMZ91XAc0DX84/8LVgD+MGIPkaH2rO+Q
 saUUE+X6zAYpug5pop/GtDpufPRrLwI=
 =0DZj
 -----END PGP SIGNATURE-----

Merge tag 'modules-7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/modules/linux

Pull modules updates from Sami Tolvanen:

 - Add a missing return value check for module_extend_max_pages() to
   prevent a kernel oops on memory allocation failure.

 - Force sh_addr to 0 for architecture-specific module sections on arm,
   arm64, m68k, and riscv. This prevents non-zero section addresses when
   linking modules with ld.bfd -r, which may cause tools to misbehave
   and result in worse compressibility.

 - Replace pr_warn! with pr_warn_once! for set_param null pointer
   warnings in Rust abstractions, now that the _once variant is
   available.

* tag 'modules-7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/modules/linux:
  rust: module_param: add missing newline to pr_warn_once
  module: decompress: check return value of module_extend_max_pages()
  rust: module_param: use `pr_warn_once!` for null pointer warning
  module, riscv: force sh_addr=0 for arch-specific sections
  module, m68k: force sh_addr=0 for arch-specific sections
  module, arm64: force sh_addr=0 for arch-specific sections
  module, arm: force sh_addr=0 for arch-specific sections
2026-06-17 11:35:58 +01:00
Linus Torvalds
056e065a6b sound updates for 7.2-rc1
Unsurprisingly, we've had a fairly busy development cycle with
 various fixes and enhancements.  While the majority of changes consist
 of device-specific fixes, a significant number of cleanups, hardening,
 and modernizations have been applied to the core frameworks as well.
 
 Below are some highlights:
 
 * ALSA Core:
 - Hardening, race condition, and UAF/leak fixes in the ALSA timer and
   sequencer cores
 - Widespread adoption of flexible array members across core structures
 - Integration of new simple refcount helper functions to simplify code
 
 * ASoC Core:
 - Introduction of a unified SoundWire enumeration helper to clean up
   redundant device initialization across codecs
 - Enhancements to SDCA support, including handling devices with
   multiple functions of the same type and proper jack reporting masks
 - Continued refactoring of ASoC component debugfs and DAPM structures
 - Simplification and improvements to the format auto-selection
   mechanism
 - Added shared BCLK rate constraints for cross-DAI coordination
 
 * ASoC Platforms & Codecs:
 - Initial bring-up and power management support for AMD ACP 7.x
 - Support for Everest Semi ES9356 (SDCA), Mediatek MT2701 (on-chip
   HDMI) and MT8196 SoCs, Renesas RZ/G3E, SpacemiT K3, and TI
   TAC5xx2/TAS67524
 - Added a new generic driver for GPIO-driven amplifiers
 - Continued mass conversion of locking code to guard() helpers across
   numerous platform drivers (MediaTek, Rockchip, STM32, Samsung, etc.)
 - Cleanup of legacy non-DT platform data and rollbacks for obsolete SH
   Ecovec24/7724se boards
 
 * HD- and USB-Audio:
 - Device-specific hardware quirks and fixes for various Realtek
   HD-Audio devices (Lenovo, HP, ASUS, Acer, Clevo)
 - Refinements to Qualcomm USB-audio offloading support
 - Front-panel controls and autogain status support for Scarlett Gen 4
 - Quirks for XIBERIA (K03S), Sennheiser (MOMENTUM 3), Edifier (MF200),
   Novation (Mininova), and Behringer (Flow 8) USB-audio devices
 - Improved robustness by rolling back or propagating write errors to the
   mixer control caches (Babyface Pro, US-16x08, Scarlett)
 
 * Others:
 - Support for the HT-Omega eClaro PCI sound card in the Oxygen driver
 - Robustness improvements and fixes for Virtio-audio, Xen-front, and
   legacy OSS dmasound drivers
 -----BEGIN PGP SIGNATURE-----
 
 iQJCBAABCAAsFiEEIXTw5fNLNI7mMiVaLtJE4w1nLE8FAmoxPGIOHHRpd2FpQHN1
 c2UuZGUACgkQLtJE4w1nLE+wOA/+IVmz8RuySkrOpVkKepK4lVCbG3oZM1twTFkh
 YNhOOGWAjueCTfhuiTHadrg0eP4hKsO2Padu2OEFp6aZLH8zJI7UCinoRuvQ8yep
 gmQs0rsMsLkYd8JCDJjC+6kltvhigbKkrWza8FgBHu1fxJ0PQuhwKhUW/vrP4OsM
 7HrGP2lmaWHetRh8v9NxzhJWrUgqXtpklmUZJQvnIHe5ER752I6fO3QaKjLMJ+O1
 EBIjpA1kP8kw0z8yvW3RAmfAyrGB5J4AnLDZ5AmPf61v+xPgy3FsqbbWRC0CDCZB
 5KC2/AToDNOXPUbUqVKEv6lj6c6dhxf6+1zqcCYokMA1bsiCsnU2jtYsX9DOZjWw
 qs+MDLkcYRlol2UZrOCRkJZkfqqaKsIqUE3P+MaTJdgTspMrl9Bd0M3TzGLe6Kxi
 4HpA3+z1yNSWvUEwDTpXjKIg1Qni7NsfNLZHzYDCd2UW/sAV5pD0phEXRveVerTL
 qxeL3Fwmil2ApeTEwdXqdXiaDs9DV2wQU1hPfukOXiUYSXAYhSA+D4NIWmWPs4nU
 WsgcMo/Tq8GdapE2KxulOS4KuMddhxCZAg2UQAERPVAz61UlkbXJ15P7A8xKEm3h
 PhPOlKzH9tzsDjG2zPwnkxLLNvHfbBJjbpy6tvi45qhKWptG4nuiYcxfhnGogi63
 367P/Wg=
 =wMnQ
 -----END PGP SIGNATURE-----

Merge tag 'sound-7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound updates from Takashi Iwai:
 "Unsurprisingly, we've had a fairly busy development cycle with various
  fixes and enhancements. While the majority of changes consist of
  device-specific fixes, a significant number of cleanups, hardening,
  and modernizations have been applied to the core frameworks as well.

  Below are some highlights:

  ALSA Core:
   - Hardening, race condition, and UAF/leak fixes in the ALSA timer and
     sequencer cores
   - Widespread adoption of flexible array members across core
     structures
   - Integration of new simple refcount helper functions to simplify
     code

  ASoC Core:
   - Introduction of a unified SoundWire enumeration helper to clean up
     redundant device initialization across codecs
   - Enhancements to SDCA support, including handling devices with
     multiple functions of the same type and proper jack reporting masks
   - Continued refactoring of ASoC component debugfs and DAPM structures
   - Simplification and improvements to the format auto-selection
     mechanism
   - Added shared BCLK rate constraints for cross-DAI coordination

  ASoC Platforms & Codecs:
   - Initial bring-up and power management support for AMD ACP 7.x
   - Support for Everest Semi ES9356 (SDCA), Mediatek MT2701 (on-chip
     HDMI) and MT8196 SoCs, Renesas RZ/G3E, SpacemiT K3, and TI
     TAC5xx2/TAS67524
   - Added a new generic driver for GPIO-driven amplifiers
   - Continued mass conversion of locking code to guard() helpers across
     numerous platform drivers (MediaTek, Rockchip, STM32, Samsung, etc)
   - Cleanup of legacy non-DT platform data and rollbacks for obsolete
     SH Ecovec24/7724se boards

  HD- and USB-Audio:
   - Device-specific hardware quirks and fixes for various Realtek
     HD-Audio devices (Lenovo, HP, ASUS, Acer, Clevo)
   - Refinements to Qualcomm USB-audio offloading support
   - Front-panel controls and autogain status support for Scarlett Gen 4
   - Quirks for XIBERIA (K03S), Sennheiser (MOMENTUM 3), Edifier
     (MF200), Novation (Mininova), and Behringer (Flow 8) USB-audio
     devices
   - Improved robustness by rolling back or propagating write errors to
     the mixer control caches (Babyface Pro, US-16x08, Scarlett)

  Others:
   - Support for the HT-Omega eClaro PCI sound card in the Oxygen driver
   - Robustness improvements and fixes for Virtio-audio, Xen-front, and
     legacy OSS dmasound drivers"

* tag 'sound-7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (483 commits)
  ALSA: usb-audio: Add iface reset and delay quirk for XIBERIA K03S
  ALSA: hda/realtek: Add quirk for Lenovo Xiaoxin 14 GT
  ALSA: hda/realtek: Add CS35L41 I2C quirk for ASUS UM3405GA
  ALSA: timer: Fix racy timeri->timer changes with rwlock
  ALSA: core: Fix unintuitive behavior of snd_power_ref_and_wait()
  ALSA: seq: avoid stale FIFO cells during resize
  ALSA: seq: oss: Serialize readq reset state with q->lock
  ASoC: dt-bindings: Fix RT5677 "realtek,gpio-config" type
  ASoC: audio-graph-card2: recommend to use auto select DAI format
  ASoC: update auto format selection method
  ASoC: renesas: rcar: update auto select format
  ASoC: codecs: pcm3168a: update auto select format
  ASoC: codecs: ak4619: update auto select format
  ASoC: codecs: peb2466: don't use array if single pattern
  ASoC: codecs: idt821034: don't use array if single pattern
  ASoC: codecs: framer-codec: don't use array if single pattern
  ASoC: remove SND_SOC_POSSIBLE_xBx_xFx
  ASoC: adau1372: Clear PLL_EN on failed PLL lock without reset GPIO
  ALSA: seq: Don't re-bounce the error event
  ASoC: bcm: cygnus: use scoped child node loop
  ...
2026-06-17 11:18:45 +01:00
Linus Torvalds
b85966adbf Networking changes for 7.2.
Core & protocols
 ----------------
 
  - Work on removing rtnl_lock protection throughout the stack continues.
    In this chapter:
     - don't use rtnl_lock for IPv6 multicast routing configuration
     - don't take rtnl_lock in ethtool for modern drivers
     - prepare Qdisc dump callbacks for rtnl_lock removal
 
  - Support dumping just ifindex + name of all interfaces, under RCU.
    It's a common operation for Netlink CLI tools (when translating
    names to ifindexes) and previously required full rtnl_lock.
 
  - Support dumping qdiscs and page pools for a specific netdev. Even tho
    user space wants a dump of all netdevs, most of the time, the OOO
    programming model results in repeating the dump for each netdev.
    Which, in absence of a cache, leads to a O(n^2) behavior.
 
  - Flush nexthops once on multi-nexthop removal (e.g. when device goes
    down), another O(n^2) -> O(n) improvement.
 
  - Rehash locally generated traffic to a different nexthop on retransmit
    timeout.
 
  - Honor oif when choosing nexthop for locally generated IPv6 traffic.
 
  - Convert TCP Auth Option to crypto library, and drop non-RFC algos.
 
  - Increase subflow limits in MPTCP to 64 and endpoint limit to 256.
 
  - Support MPTCP signaling of IPv6 address + port (ADD_ADDR). We need
    to selectively skip reporting of the standard TCP Timestamp option,
    because they won't fit into the header space together (12 + 30 > 40).
 
  - Support using bridge neighbor suppression, Duplicate Address
    Detection, Gratuitous ARP and unsolicited NA forwarding - in EVPN
    deployments, e.g. VXLAN fabrics (IPv4 and IPv6).
 
  - Improve link state reporting for upper netdevs (e.g. macvlan) over
    tunnel devices (again, mostly for EVPN deployments).
 
  - Support binding GENEVE tunnels to a local address.
 
  - Speed up UDP tunnel destruction (remove one synchronize_rcu()).
 
  - Support exponential field encoding in multicast (IGMPv3 and MLDv2).
 
  - Support attaching PSP crypto offload to containers (veth, netkit).
 
  - Add a new IPSec Netlink message XFRM_MSG_MIGRATE_STATE that allows
    migrating individual IPsec SAs independently of their policies.
    The existing XFRM_MSG_MIGRATE is tightly coupled to policy+SA
    migration, lacks SPI for unique SA identification, and cannot express
    reqid changes or migrate Transport mode selectors. The new interface
    identifies the SA via SPI and mark, supports reqid changes, address
    family changes, encap removal, and uses an atomic create+install
    flow under x->lock to prevent SN/IV reuse during AEAD SA migration.
 
  - Implement GRO/GSO support for PPPoE.
 
  - Convert sockopt callbacks in a number of protocols to iov_iter.
 
 Cross-tree stuff
 ----------------
 
  - Remove support for Crypto TFM cloning (unblocked after the TCP Auth
    Option rework). This feature regressed performance for all crypto API
    users, since it changed crypto transformation objects into reference-
    -counted objects.
 
  - Add FCrypt-PCBC implementation to rxrpc and remove it from the global
    crypto API as obsolete and insecure.
 
 Wireless
 --------
 
  - Major rework of station bandwidth handling, fixing issues with lower
    capability than AP.
 
  - Cleanups for EMLSR spec issues (drafts differed).
 
  - More Neighbor Awareness Networking (Wi-Fi Aware) work (multicast,
    schedule improvements, multi-station etc.)
 
  - Some Ultra High Reliability (UHR) / IEEE 802.11bn (D1.4) work
    (e.g. non-primary channel access, UHR DBE support).
 
  - Fine Timing Measurement ranging (i.e. distance measurement) APIs.
 
 Netfilter
 ---------
 
  - Use per-rule hash initval in nf_conncount. This avoids unnecessary
    lock contention with short keys (e.g. conntrack zones) in different
    namespaces.
 
  - Various safety improvements, both in packet parsing and object
    lifetimes. Notably add refcounts to conntrack timeout policy.
 
 Deletions
 ---------
 
  - Remove TLS + sockmap integration. TLS wants to pin user pages
    to avoid a copy, and sockmap wants to write to the input stream.
    More work on this integration is clearly needed, and we can't find
    any users (original author admitted that they never deployed it).
 
  - Remove support for TLS offload with TCP Offload Engine (the far
    more common opportunistic offload is retained). The locking looks
    unfixable (driver sleeps under TCP spin locks) and people from
    the vendor that added this are AWOL.
 
  - Remove more ATM code, trying to leave behind only what PPPoATM needs,
    AAL5 and br2684 with permanent circuits.
 
  - Remove AppleTalk. Let it join hamradio in our out of tree protocol
    graveyard, I mean, repository.
 
  - Disable 32-bit x_tables compatibility (32bit binaries on 64bit kernel)
    interface in user namespaces. To be deleted completely, soon.
 
  - Remove 5/10 MHz support from cfg80211/mac80211.
 
 Drivers
 -------
 
  - Software:
    - Support DEVMEM/DMABUF Tx over NETMEM_TX_NO_DMA devices (netkit).
    - bonding: add knob to strictly follow 802.3ad for link state.
 
  - New drivers:
    - Alibaba Elastic Ethernet Adaptor (cloud vNIC).
    - NXP NETC switch within i.MX94.
 
  - DPLL:
    - Add operational state to pins (implement in zl3073x).
    - Add generic DPLL type, for daisy-chaining DPLLs (implement in ice).
 
  - Ethernet high-speed NICs:
    - Huawei (hinic3):
      - enhance tc flow offload support with queue selection, tunnels
    - nVidia/Mellanox:
      - avoid over-copying payload to the skb's linear part (up to 60%
        win for LRO on slow CPUs like ARM64 V2)
      - expose more per-queue stats over the standard API
      - support additional, unprivileged PFs in the DPU configuration
      - support Socket Direct (multi-PF) with switchdev offloads
      - add a pool / frag allocator for DMA mapped buffers for control
        objects, save memory on systems with 64kB page size
      - take advantage of the ability to dynamically change RSS table
        size, even when table is configured by the user
      - increase the max RSS table size for even traffic distribution
 
  - Ethernet NICs:
    - Marvell/Aquantia:
      - AQC113 PTP support
    - Realtek USB (r8152):
      - support 10Gbit Link Speeds and Energy-Efficient Ethernet (EEE)
      - support firmware loaded (for RTL8157/RTL8159)
      - support for the RTL8159
    - Intel (ixgbe):
      - support Energy-Efficient Ethernet (EEE) on E610 devices
 
  - Ethernet switches:
    - Airoha:
      - support multiple netdevs on a single GDM block / port
    - Marvell (mv88e6xxx):
      - support SERDES of mv88e6321
    - Microchip (ksz8/9):
      - rework the driver callbacks to remove one indirection layer
    - Motorcomm (yt921x):
      - support port rate policing
      - support TBF qdisc offload
      - support ACL/flower offload
    - nVidia/Mellanox:
      - expose per-PG rx_discards
    - Realtek:
      - rtl8365mb: bridge offloading and VLAN support
 
  - Ethernet PHYs:
    - Airoha:
      - support Airoha AN8801R Gigabit PHYs.
    - Micrel:
      - implement 3 low-loss cable tunables
    - Realtek:
      - support MDI swapping for RTL8226-CG
      - support MDIO for RTL931x
    - Qualcomm:
      - at803x: Rx and Tx clock management for IPQ5018 PHY
    - Motorcomm:
      - support YT8522 100M RMII PHY
      - set drive strength in YT8531s RGMII
    - TI:
      - dp83822: add optional external PHY clock
 
  - Bluetooth:
    - hci_sync: add support for HCI_LE_Set_Host_Feature [v2]
    - SMP: use AES-CMAC library API
    - Intel:
      - support Product level reset
      - support smart trigger dump
    - Mediatek:
      - add event filter to filter specific event
    - Realtek:
      - fix RTL8761B/BU broken LE extended scan
 
  - WiFi:
    - Broadcom (b43):
      - new support for a 11n device
    - MediaTek (mt76):
      - support mt7927
      - mt792x: broken usb transport detection
      - mt7921: regulatory improvements
    - Qualcomm (ath9k):
      - GPIO interface improvements
    - Qualcomm (ath12k):
      - WDS support
      - replace dynamic memory allocation in WMI Rx path
      - thermal throttling/cooling device support
      - 6 GHz incumbent interference detection
      - channel 177 in 5 GHz
    - Realtek (rt89):
      - RTL8922AU support
      - USB 3 mode switch for performance
      - better monitor radiotap support
      - RTL8922DE preparations
 
 Signed-off-by: Jakub Kicinski <kuba@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE6jPA+I1ugmIBA4hXMUZtbf5SIrsFAmox1O4ACgkQMUZtbf5S
 Irve7hAAgvCYRFvQ/1dvL+PORg2KqVW4rWXMvNrEWaMVAEXJIIPJoxen6zn6a/72
 aRs2Ord/wVM/Uh291TOrARwtv1U0oOvOvnbrVM2u06o/EqjtxRAZSF9quTlPdm6Q
 RvlkR5X9XXM2MwbDc1zYNTITfhVv80YDCFmYGI7O8dyhLuyspX2eU0SiW33Twl4f
 y6RLcn12gyUbDpa6vt+tari6cFCO/X2zot/uwaDY38b+kwsMHunrj3/PSfJzeYIU
 5mD7jG+xsPxQlEskMYGOjVT5VeMdRquhb9UGwoostZpuEPYZfzTdFtphC1qZqIPk
 8O8ngAW1yYNIY9TTMPF3Y3LMpOiyZq6/P4KY+tksbeDw8vvTYJzEgw3VpwurZQLM
 vfHKDj1kM6VLNekeCI+2cip06flVH3jtIkN0KOERwzTSS8NUbs6PuoEP0HLdjafj
 cr/pgSSTQPUsQkpS5R5Ld3bwpnKea56CQ36p2E8JvU2akwK5RnvqiZiTAfz2z2Tg
 M0NVlTsJ07ucNBxsO4l7osDtRTnzUqo+ZeTo+zR5l0cGRXPd9nJByk257z4IAlcQ
 2MHrJmCZ+ZFKhmkUNUPBdFBATbRgOZHzA/iiiThBrT2hDvWQ2kygO9+IkJBS/WYx
 eQz7G9hb6Xn1ifWVvPVD0oDL3DKKTotQIN90PZCzvObQFWMc1Vk=
 =oNfE
 -----END PGP SIGNATURE-----

Merge tag 'net-next-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next

Pull networking updates from Jakub Kicinski:
 "Core & protocols:

   - Work on removing rtnl_lock protection throughout the stack
     continues. In this chapter:
       - don't use rtnl_lock for IPv6 multicast routing configuration
       - don't take rtnl_lock in ethtool for modern drivers
       - prepare Qdisc dump callbacks for rtnl_lock removal

   - Support dumping just ifindex + name of all interfaces, under RCU.
     It's a common operation for Netlink CLI tools (when translating
     names to ifindexes) and previously required full rtnl_lock.

   - Support dumping qdiscs and page pools for a specific netdev. Even
     tho user space wants a dump of all netdevs, most of the time, the
     OOO programming model results in repeating the dump for each
     netdev. Which, in absence of a cache, leads to a O(n^2) behavior.

   - Flush nexthops once on multi-nexthop removal (e.g. when device goes
     down), another O(n^2) -> O(n) improvement.

   - Rehash locally generated traffic to a different nexthop on
     retransmit timeout.

   - Honor oif when choosing nexthop for locally generated IPv6 traffic.

   - Convert TCP Auth Option to crypto library, and drop non-RFC algos.

   - Increase subflow limits in MPTCP to 64 and endpoint limit to 256.

   - Support MPTCP signaling of IPv6 address + port (ADD_ADDR). We need
     to selectively skip reporting of the standard TCP Timestamp option,
     because they won't fit into the header space together (12 + 30 >
     40).

   - Support using bridge neighbor suppression, Duplicate Address
     Detection, Gratuitous ARP and unsolicited NA forwarding - in EVPN
     deployments, e.g. VXLAN fabrics (IPv4 and IPv6).

   - Improve link state reporting for upper netdevs (e.g. macvlan) over
     tunnel devices (again, mostly for EVPN deployments).

   - Support binding GENEVE tunnels to a local address.

   - Speed up UDP tunnel destruction (remove one synchronize_rcu()).

   - Support exponential field encoding in multicast (IGMPv3 and MLDv2).

   - Support attaching PSP crypto offload to containers (veth, netkit).

   - Add a new IPSec Netlink message XFRM_MSG_MIGRATE_STATE that allows
     migrating individual IPsec SAs independently of their policies.

     The existing XFRM_MSG_MIGRATE is tightly coupled to policy+SA
     migration, lacks SPI for unique SA identification, and cannot
     express reqid changes or migrate Transport mode selectors.

     The new interface identifies the SA via SPI and mark, supports
     reqid changes, address family changes, encap removal, and uses an
     atomic create+install flow under x->lock to prevent SN/IV reuse
     during AEAD SA migration.

   - Implement GRO/GSO support for PPPoE.

   - Convert sockopt callbacks in a number of protocols to iov_iter.

  Cross-tree stuff:

   - Remove support for Crypto TFM cloning (unblocked after the TCP Auth
     Option rework). This feature regressed performance for all crypto
     API users, since it changed crypto transformation objects into
     reference-counted objects.

   - Add FCrypt-PCBC implementation to rxrpc and remove it from the
     global crypto API as obsolete and insecure.

  Wireless:

   - Major rework of station bandwidth handling, fixing issues with
     lower capability than AP.

   - Cleanups for EMLSR spec issues (drafts differed).

   - More Neighbor Awareness Networking (Wi-Fi Aware) work (multicast,
     schedule improvements, multi-station etc.)

   - Some Ultra High Reliability (UHR) / IEEE 802.11bn (D1.4) work
     (e.g. non-primary channel access, UHR DBE support).

   - Fine Timing Measurement ranging (i.e. distance measurement) APIs.

  Netfilter:

   - Use per-rule hash initval in nf_conncount. This avoids unnecessary
     lock contention with short keys (e.g. conntrack zones) in different
     namespaces.

   - Various safety improvements, both in packet parsing and object
     lifetimes. Notably add refcounts to conntrack timeout policy.

  Deletions:

   - Remove TLS + sockmap integration. TLS wants to pin user pages to
     avoid a copy, and sockmap wants to write to the input stream. More
     work on this integration is clearly needed, and we can't find any
     users (original author admitted that they never deployed it).

   - Remove support for TLS offload with TCP Offload Engine (the far
     more common opportunistic offload is retained). The locking looks
     unfixable (driver sleeps under TCP spin locks) and people from the
     vendor that added this are AWOL.

   - Remove more ATM code, trying to leave behind only what PPPoATM
     needs, AAL5 and br2684 with permanent circuits.

   - Remove AppleTalk. Let it join hamradio in our out of tree protocol
     graveyard, I mean, repository.

   - Disable 32-bit x_tables compatibility (32bit binaries on 64bit
     kernel) interface in user namespaces. To be deleted completely,
     soon.

   - Remove 5/10 MHz support from cfg80211/mac80211.

  Drivers:

   - Software:
       - Support DEVMEM/DMABUF Tx over NETMEM_TX_NO_DMA devices (netkit)
       - bonding: add knob to strictly follow 802.3ad for link state

   - New drivers:
       - Alibaba Elastic Ethernet Adaptor (cloud vNIC).
       - NXP NETC switch within i.MX94.

   - DPLL:
       - Add operational state to pins (implement in zl3073x).
       - Add generic DPLL type, for daisy-chaining DPLLs (implement in ice).

   - Ethernet high-speed NICs:
       - Huawei (hinic3):
           - enhance tc flow offload support with queue selection,
             tunnels
       - nVidia/Mellanox:
           - avoid over-copying payload to the skb's linear part (up to
             60% win for LRO on slow CPUs like ARM64 V2)
           - expose more per-queue stats over the standard API
           - support additional, unprivileged PFs in the DPU
             configuration
           - support Socket Direct (multi-PF) with switchdev offloads
           - add a pool / frag allocator for DMA mapped buffers for
             control objects, save memory on systems with 64kB page size
           - take advantage of the ability to dynamically change RSS
             table size, even when table is configured by the user
           - increase the max RSS table size for even traffic
             distribution

   - Ethernet NICs:
       - Marvell/Aquantia:
           - AQC113 PTP support
       - Realtek USB (r8152):
           - support 10Gbit Link Speeds and Energy-Efficient Ethernet
             (EEE)
           - support firmware loaded (for RTL8157/RTL8159)
           - support for the RTL8159
       - Intel (ixgbe):
           - support Energy-Efficient Ethernet (EEE) on E610 devices

   - Ethernet switches:
       - Airoha:
           - support multiple netdevs on a single GDM block / port
       - Marvell (mv88e6xxx):
           - support SERDES of mv88e6321
       - Microchip (ksz8/9):
           - rework the driver callbacks to remove one indirection layer
       - Motorcomm (yt921x):
           - support port rate policing
           - support TBF qdisc offload
           - support ACL/flower offload
       - nVidia/Mellanox:
           - expose per-PG rx_discards
       - Realtek:
           - rtl8365mb: bridge offloading and VLAN support

   - Ethernet PHYs:
       - Airoha:
           - support Airoha AN8801R Gigabit PHYs.
       - Micrel:
           - implement 3 low-loss cable tunables
       - Realtek:
           - support MDI swapping for RTL8226-CG
           - support MDIO for RTL931x
       - Qualcomm:
           - at803x: Rx and Tx clock management for IPQ5018 PHY
       - Motorcomm:
           - support YT8522 100M RMII PHY
           - set drive strength in YT8531s RGMII
       - TI:
           - dp83822: add optional external PHY clock

   - Bluetooth:
       - hci_sync: add support for HCI_LE_Set_Host_Feature [v2]
       - SMP: use AES-CMAC library API
       - Intel:
           - support Product level reset
           - support smart trigger dump
       - Mediatek:
           - add event filter to filter specific event
       - Realtek:
           - fix RTL8761B/BU broken LE extended scan

   - WiFi:
       - Broadcom (b43):
           - new support for a 11n device
       - MediaTek (mt76):
           - support mt7927
           - mt792x: broken usb transport detection
           - mt7921: regulatory improvements
       - Qualcomm (ath9k):
           - GPIO interface improvements
       - Qualcomm (ath12k):
           - WDS support
           - replace dynamic memory allocation in WMI Rx path
           - thermal throttling/cooling device support
           - 6 GHz incumbent interference detection
           - channel 177 in 5 GHz
       - Realtek (rt89):
           - RTL8922AU support
           - USB 3 mode switch for performance
           - better monitor radiotap support
           - RTL8922DE preparations"

* tag 'net-next-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1778 commits)
  ipv4: fib_rule: Move fib4_rules_exit() to ->exit().
  net: serialize netif_running() check in enqueue_to_backlog()
  net: skmsg: preserve sg.copy across SG transforms
  appletalk: move the protocol out of tree
  appletalk: stop storing per-interface state in struct net_device
  selftests/bpf: test that TLS crypto is rejected on a sockmap socket
  selftests/bpf: drop the unused kTLS program from test_sockmap
  selftests/bpf: remove sockmap + ktls tests
  tls: remove dead sockmap (psock) handling from the SW path
  tls: reject the combination of TLS and sockmap
  atm: remove orphaned uAPI for deleted drivers, protocols and SVCs
  atm: remove unused ATM PHY operations
  atm: remove the unused pre_send and send_bh device operations
  atm: remove the unused change_qos device operation
  atm: remove SVC socket support and the signaling daemon interface
  atm: remove the local ATM (NSAP) address registry
  atm: remove dead SONET PHY ioctls
  atm: remove the unused send_oam / push_oam callbacks
  atm: remove AAL3/4 transport support
  net: dsa: sja1105: fix lastused timestamp in flower stats
  ...
2026-06-17 08:17:00 +01:00
Jakub Kicinski
8a398a0c18 appletalk: move the protocol out of tree
AppleTalk has been removed in MacOS X 10.6 (Snow Leopard), in 2009,
according to Wikipedia. We recently got a burst of AI generated
fixes to this protocol which nobody is reviewing.

Let AppleTalk follow AX.25 and hamradio out of the Linux tree.
We we will maintain the code at: github.com/linux-netdev/mod-orphan
for anyone interested in playing with it.

Retain the uAPI for now. No strong reason, simply because I suspect
keeping it will be less controversial.

Acked-by: Stephen Hemminger <stephen@networkplumber.org>
Link: https://patch.msgid.link/20260615222935.947233-3-kuba@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-16 14:37:06 -07:00
Linus Torvalds
ef3b7426a6 CRC updates for 7.2
Accelerate CRC64-NVME for 32-bit ARM by refactoring the arm64 NEON
 intrinsics implementation to be shared by 32-bit and 64-bit.
 
 Also apply a similar cleanup to the 32-bit ARM NEON implementation of
 xor_gen(), where it now reuses code from the 64-bit implementation.
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYIADIWIQSacvsUNc7UX4ntmEPzXCl4vpKOKwUCajA5WBQcZWJpZ2dlcnNA
 a2VybmVsLm9yZwAKCRDzXCl4vpKOKxAOAP9RLfiQ3S+ZCQhjl4j9niyFvrfXfDpR
 aekeeaGnqA95CQEAs/0MYR1gt/VqeB8T4NjDiy0+8+HxruJ4A3nqWs7dLQ0=
 =hSHr
 -----END PGP SIGNATURE-----

Merge tag 'crc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux

Pull CRC updates from Eric Biggers:
 "Accelerate CRC64-NVME for 32-bit ARM by refactoring the arm64 NEON
  intrinsics implementation to be shared by 32-bit and 64-bit.

  Also apply a similar cleanup to the 32-bit ARM NEON implementation of
  xor_gen(), where it now reuses code from the 64-bit implementation"

* tag 'crc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux:
  crypto: aegis128 - Use neon-intrinsics.h on ARM too
  lib/crc: arm: Enable arm64's NEON intrinsics implementation of crc64
  lib/crc: Turn NEON intrinsics crc64 implementation into common code
  xor/arm64: Use shared NEON intrinsics implementation from 32-bit ARM
  xor/arm: Replace vectorized implementation with arm64's intrinsics
  ARM: Add a neon-intrinsics.h header like on arm64
2026-06-16 09:16:37 +05:30
Linus Torvalds
0d8c113493 This update includes the following changes:
API:
 
 - Drop support for off-CPU cryptography in af_alg.
 - Document that af_alg is *always* slower.
 - Document the deprecation of af_alg.
 - Remove zero-copy support from skcipher and aead in af_alg.
 - Cap AEAD AD length to 0x80000000 in af_alg.
 - Free default RNG on module exit.
 
 Algorithms:
 
 - Fix vli multiplication carry overflow in ecc.
 - Drop unused cipher_null crypto_alg.
 - Remove unused variants of drbg.
 - Use lib/crypto in drbg.
 - Use memcpy_from/to_sglist in authencesn.
 - Allow authenc(hmac(sha{256,384}),cts(cbc(aes))) in FIPS mode.
 - Disallow RSA PKCS#1 SHA-1 sig algs in FIPS mode.
 - Filter out async aead implementations at alloc in krb5.
 - Fix non-parallel fallback by rstoring callback in pcrypt.
 - Validate poly1305 template argument in chacha20poly1305.
 
 Drivers:
 
 - Add sysfs PCI reset support to qat.
 - Add KPT support for GEN6 devices to qat.
 - Remove unused character device and ioctls from qat.
 - Add support for hw access via SMCC to mtk.
 - Remove prng support from crypto4xx.
 - Remove prng support from hisi-trng.
 - Remove prng support from sun4i-ss.
 - Remove prng support from xilinx-trng.
 - Remove loongson-rng.
 - Remove exynos-rng.
 
 Others:
 
 - Remove support for AIO on sockets.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEn51F/lCuNhUwmDeSxycdCkmxi6cFAmovcvMACgkQxycdCkmx
 i6emMA/8DfjbQLm7kGXKhlHaAZ9MgSxVUDs+yz+I1XbFL0sbEbLmZlwMiEta2Rg0
 GteR+ZGxkzBbDwL3CHQ+ZJHycCgPxokeRJJ9rWT1j+tGEkJoj/00SRtzMqVXXcY5
 0LGVcw8Ru15oUH7+PlMqnIKYhxrmIPXYGsSwP8FBdRF5CN2q1KNmfW5rtrc8KhPH
 g3SRgH6sE2Bv1cQ7C6GKlgqE89WX41nUil5F5jyQwMlylqZV7SErPjFtc6aqgcoV
 CQP0C2rC0LzZhfTrrnzXLT1h6RUNwulnQAkSICo40F9XZYO+o5EeZvRP0ESNvrda
 fNYCqFOWZaQDjtfnxNT1ZrjT0R00H/Am/Hz5rNFng2sB/XArAqzvHTHtvbuV8t0O
 Kew+KrMEWHSaGnsr+W4lYTw4wZKS1mxjE1P/FcVQN1WLeI5cNywyCVeD3qmhgcws
 GACmM4ghFErBTajBfcHa8dMCshidMQVA6fqHEdOmNn+CxOCZhEdlLmfnJO1KCnEr
 Aw9dnwhtuEdwha1kjNlzN0HC0T/zoumtINqI3Els4/23L7LW8doBAuyGLDd3VmII
 Vr3gu3Oj9pv4Tl0RYJKRObFWM7MwVU6RpVxz2eVkEuM+ZM2je5kZo56tEa8vELrp
 aM/L3yMeuYohssBcP9mfLpR7JCGB2186h47IUGGP6Jz0XjSy7Ns=
 =4BGT
 -----END PGP SIGNATURE-----

Merge tag 'v7.2-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6

Pull crypto updates from Herbert Xu:
 "API:
   - Drop support for off-CPU cryptography in af_alg
   - Document that af_alg is *always* slower
   - Document the deprecation of af_alg
   - Remove zero-copy support from skcipher and aead in af_alg
   - Cap AEAD AD length to 0x80000000 in af_alg
   - Free default RNG on module exit

  Algorithms:
   - Fix vli multiplication carry overflow in ecc
   - Drop unused cipher_null crypto_alg
   - Remove unused variants of drbg
   - Use lib/crypto in drbg
   - Use memcpy_from/to_sglist in authencesn
   - Allow authenc(hmac(sha{256,384}),cts(cbc(aes))) in FIPS mode
   - Disallow RSA PKCS#1 SHA-1 sig algs in FIPS mode
   - Filter out async aead implementations at alloc in krb5
   - Fix non-parallel fallback by rstoring callback in pcrypt
   - Validate poly1305 template argument in chacha20poly1305

  Drivers:
   - Add sysfs PCI reset support to qat
   - Add KPT support for GEN6 devices to qat
   - Remove unused character device and ioctls from qat
   - Add support for hw access via SMCC to mtk
   - Remove prng support from crypto4xx
   - Remove prng support from hisi-trng
   - Remove prng support from sun4i-ss
   - Remove prng support from xilinx-trng
   - Remove loongson-rng
   - Remove exynos-rng

  Others:
   - Remove support for AIO on sockets"

* tag 'v7.2-p1' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6: (196 commits)
  crypto: tegra - fix refcount leak in tegra_se_host1x_submit()
  crypto: rng - Free default RNG on module exit
  crypto: testmgr - allow authenc(hmac(sha{256,384}),cts(cbc(aes))) in FIPS mode
  hwrng: jh7110 - fix refcount leak in starfive_trng_read()
  crypto: atmel-ecc - drop dead code in atmel_ecdh_max_size
  crypto: cavium/cpt - fix DMA cleanup using wrong loop index
  crypto: marvell/octeontx - fix DMA cleanup using wrong loop index
  MAINTAINERS: make myself the maintainer of the Qualcomm QCE driver
  crypto: amcc - convert irq_of_parse_and_map to platform_get_irq
  crypto: sun4i-ss - Remove insecure and unused rng_alg
  hwrng: xilinx - Move xilinx-rng into drivers/char/hw_random/
  crypto: xilinx-trng - Replace crypto_drbg_ctr_df() with HMAC-SHA512
  crypto: xilinx-trng - Fix return value of xtrng_hwrng_trng_read()
  crypto: xilinx-trng - Remove crypto_rng interface
  crypto: exynos-rng - Remove exynos-rng driver
  hwrng: hisi-trng - Move hisi-trng into drivers/char/hw_random/
  crypto: hisi-trng - Remove crypto_rng interface
  crypto: loongson - Remove broken and unused loongson-rng
  crypto: crypto4xx - Remove insecure and unused rng_alg
  crypto: qat - validate RSA CRT component lengths
  ...
2026-06-16 09:01:23 +05:30
Linus Torvalds
bd77e50c9a fbdev fixes & cleanups for 7.2-rc1:
Removal of drivers:
 - Hercules monochrome ISA graphics adapter driver [Ethan Nelson-Moore]
 - Hercules mdacon console driver [Ethan Nelson-Moore]
 
 Changes affecting many drivers at once:
 - possible memory leak fixes in various drivers [Abdun Nihaal]
 - many conversions to use strscpy() [David Laight]
 - Use named initializers in drivers [Uwe Kleine-König]
 
 Code fixes:
 - fbcon: don't suspend/resume when vc is graphics mode [Lu Yao]
 - modedb: fix a possible UAF in fb_find_mode() [Tuo Li]
 - modedb: Fix entry for 1920x1080-60 mode [Steffen Persvold]
 - arm: Export acorndata_8x8 font symbol for bootloader [Helge Deller]
 - omap2: fix use-after-free in omapfb_mmap [Hongling Zeng]
 
 Cleanups:
 - pxa168fb: use devm_ioremap_resource() [AlbertoArostegui]
 - provice helpers for fb_set_var() and fb_blank() and fbcon updates [Thomas Zimmermann]
 - fbcon: Use correct type for vc_resize() return value [Jiacheng Yu]
 - chipsfb: add missing MODULE_DESCRIPTION() macro [Rahman Mahmutović]
 - sunxvr2500: replace printk with device-aware logging functions [Rahman Mahmutović]
 - sm712: Fix operator precedence in big_swap macro [Li RongQing]
 - imxfb: Use of_device_get_match_data() [Rosen Penev]
 - atmel_lcdfb: Use of_device_get_match_data() [Rosen Penev]
 
 Documentation fixes:
 - grvga: Fix CLUT register address offset in comment [Eduardo Silva]
 - omap/dss: Fix stale modedb.c path [Costa Shulyupin]
 - correct CONFIG_FB_TILEBLITTING macro name in #endif comment [Ethan Nelson-Moore]
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQS86RI+GtKfB8BJu973ErUQojoPXwUCajAoegAKCRD3ErUQojoP
 X9kQAQC7h8nMZ+VZWjmGY3C8UMooNOXSMXv2oAA7IvMwvs5MtQD7BejDK7UQMjyd
 xod+t1k6XYzX1j8CDwa7k0qeQaLfvgc=
 =Q7dE
 -----END PGP SIGNATURE-----

Merge tag 'fbdev-for-7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev

Pull fbdev updates from Helge Deller:
 "Beside the removal of the Hercules monochrome ISA graphics driver and
  the corresponding text console driver, there is just the typical
  maintanance with smaller driver fixes and cleanups:

  Removal of drivers:
   - Hercules monochrome ISA graphics adapter driver (Ethan Nelson-Moore)
   - Hercules mdacon console driver (Ethan Nelson-Moore)

  Changes affecting many drivers at once:
   - possible memory leak fixes in various drivers (Abdun Nihaal)
   - many conversions to use strscpy() (David Laight)
   - Use named initializers in drivers (Uwe Kleine-König)

  Code fixes:
   - fbcon: don't suspend/resume when vc is graphics mode (Lu Yao)
   - modedb: fix a possible UAF in fb_find_mode() (Tuo Li)
   - modedb: Fix entry for 1920x1080-60 mode (Steffen Persvold)
   - arm: Export acorndata_8x8 font symbol for bootloader (Helge Deller)
   - omap2: fix use-after-free in omapfb_mmap (Hongling Zeng)

  Cleanups:
   - pxa168fb: use devm_ioremap_resource() (Alberto Arostegui)
   - provice helpers for fb_set_var() and fb_blank() and fbcon updates
     (Thomas Zimmermann)
   - fbcon: Use correct type for vc_resize() return value (Jiacheng Yu)
   - chipsfb: add missing MODULE_DESCRIPTION() macro (Rahman Mahmutović)
   - sunxvr2500: replace printk with device-aware logging functions
     (Rahman Mahmutović)
   - sm712: Fix operator precedence in big_swap macro (Li RongQing)
   - imxfb: Use of_device_get_match_data() (Rosen Penev)
   - atmel_lcdfb: Use of_device_get_match_data() (Rosen Penev)

  Documentation fixes:
   - grvga: Fix CLUT register address offset in comment (Eduardo Silva)
   - omap/dss: Fix stale modedb.c path (Costa Shulyupin)
   - correct CONFIG_FB_TILEBLITTING macro name in #endif comment (Ethan
     Nelson-Moore)"

* tag 'fbdev-for-7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev: (43 commits)
  fbdev: modedb: Fix misaligned fields in the 1920x1080-60 mode
  fbdev: modedb: fix a possible UAF in fb_find_mode()
  fbdev: s3fb: Use strscpy() to copy strings into arrays
  fbdev: sm501fb: Fix buffer errors in OF binding code
  fbcon: correct CONFIG_FB_TILEBLITTING macro name in #endif comment
  fbdev/arm: Export acorndata_8x8 font symbol for bootloader
  fbdev: mmpfb: Use strscpy() to copy device name
  fbdev: sisfb: Replace strlen() strcpy() pair with strscpy()
  fbdev: rivafb: Use strscpy() to copy device name
  fbdev: cyber2000fb: Use strscpy() to copy device name
  fbdev: atmel_lcdfb: Use strscpy() to copy device name
  fbdev: Do not export fbcon from fbdev
  fbdev: Wrap fbcon updates from vga-switcheroo in helper
  fbdev: Wrap user-invoked calls to fb_blank() in helper
  fbdev: Wrap user-invoked calls to fb_set_var() in helper
  fbdev: omap2: fix use-after-free in omapfb_mmap
  docs: omap/dss: Fix stale modedb.c path
  fbdev: pxa168fb: use devm_ioremap_resource() for MMIO
  fbdev: grvga: Fix CLUT register address offset in comment
  fbdev: sunxvr2500: replace printk with device-aware logging functions
  ...
2026-06-16 08:28:41 +05:30
Linus Torvalds
77d084d66b gpio updates for v7.2-rc1
GPIO core:
 - Add an initial set of kunit test cases for the GPIO subsystem
 - Use the devres owner as the GPIO chip's parent in absence of any other
   parent
 - Fix const-correctness of GPIO chip SRCU guards
 - Provide new GPIO consumer interfaces: gpiod_is_single_ended() and
   fwnode_gpiod_get()
 - Quarantine all legacy GPIO APIs in linux/gpio/legacy.h
 - Use __ro_after_init where applicable
 
 New drivers:
 - Add driver for the GPIO controller on Waveshare DSI TOUCH panels
 
 Removed drivers:
 - Remove the obsolete ts5500 GPIO driver
 
 Driver updates:
 - Modernize gpio-timberdale: remove platform data support and use generic
   device property accessors
 - Extend test build coverage by enabling COMPILE_TEST for more GPIO
   drivers
 - Add some missing dependencies in Kconfig
 - Add support for sparse fixed direction to gpio-regmap
 - Remove dead code from gpio-nomadik
 - use BIT() in gpio-mxc
 - use bitmap_complement() in gpio-xilinx and gpio-pca953x
 - Use more appropriate printing functions where applicable
 - Use named initializers for platform_device_id and i2c_device_id arrays
 - Convert gpio-altera to using the generic GPIO chip helper library
 - Add support for new models to gpio-dwapb, gpio-zynq, gpio-usbio and
   gpio-tegra186
 - Unify the naming convention for Qualcomm in GPIO drivers
 - Fix interrupt bank mapping to GPIO chips in gpio-mt7621
 - Add support for the lines-initial-states property to gpio-74x164
 - Switch to using dynamic GPIO base in gpio-ixp4xx
 - Move the handling of an OF quirk from ASoC to gpiolib-of.c where other
   such quirks live
 - Use handle_bad_irq() in gpio-ep93xx
 - Some other minor tweaks and refactorings
 
 Devicetree bindings:
 - Document the Waveshare GPIO controller for DSI TOUCH panels
 - Document new models: Tegra238 in gpio-tegra186 and EIO GPIO in gpio-zynq
 - Add new properties for gpio-dwapb and fairchild,74hc595
 - Fix whitespace issues
 - Sort compatibles alphabetically in gpio-zynq
 
 Documentation:
 - Fix kerneldoc warnings in gpio-realtek-otto
 
 Misc:
 - Attach software nodes representing GPIO chips to the actual struct
   device objects associated with them in some legacy platforms enabling
   real firmware node lookup instead of string matching
 - Drop unneeded dependencies on OF_GPIO from bus and staging drivers
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEkeUTLeW1Rh17omX8BZ0uy/82hMMFAmovs6IACgkQBZ0uy/82
 hMNGIRAAj5dQALT1UfZ7jYRXR035CvQU1Sdn3O+0Y+r10eBdRaT573iI9IRDmoiu
 KOVoYdOD5mBP+nTYK6De88MTqm3kSDPnN6+fNlNv1dLz6tGyV30mmS1Ub0S4SrC/
 fKQJlj41EL+T/cK304KgQ3u0PpqS7lxSr8/3II5tIii0ED5uXN/t66IuZ4ztCA4p
 6F6WK4DNsxRs5HFGnVaoZjB45KiH6LqDzLqZb+OBVpETGSK4gRzXiHsVVqPUFZAr
 IkPDTrhE9jyGUr54HWFCCVL05K/yMoUlcFGiohxgpZNA2Vmzi0GvoVZBHcqZs1Bg
 EEG114QzqEjLLpvBaJidlBMJafrUB11prlUpkkjjceqJlakWlCDWfBsi3T9rRA27
 R7eBQ0XqDOMoMcFCKHkJVajkPK/rqFMz5LU9+AyXOXkGYO8VI6+6u8ylJY3CjZeB
 ziR5CE9Ly7WDO08CO3UlrVWvNQzh7BUQK/yoP+cRWUbPEP/NV6Jz2yfK5CDMlCDl
 4UYyxYnjaqUFx74TpFB2GtcA61Sqvy2EAATe6UL4uQcGrT16lDqiAJA0kYGChzjc
 4KvQBPen8ESb4n/zjfNdXOtCNxPm7JIFNjXPFuw62+w7qGKtDwDZUcr6FF3cZYVL
 oeUThOj4dwpsl3Pbd56nJYBHsiPyvgrm4Fk5Gv4+f2biIHZCas0=
 =MzJz
 -----END PGP SIGNATURE-----

Merge tag 'gpio-updates-for-v7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux

Pull gpio updates from Bartosz Golaszewski:
 "There's one new driver, one legacy driver removed, a kunit test-suite
  for the GPIO core, support for new models in existing drivers and a
  slew of various changes in many places though I can't think of
  anything controversial that would stand out - it's been a relatively
  calm cycle.

  GPIO core:
   - Add an initial set of kunit test cases for the GPIO subsystem
   - Use the devres owner as the GPIO chip's parent in absence of any
     other parent
   - Fix const-correctness of GPIO chip SRCU guards
   - Provide new GPIO consumer interfaces: gpiod_is_single_ended() and
     fwnode_gpiod_get()
   - Quarantine all legacy GPIO APIs in linux/gpio/legacy.h
   - Use __ro_after_init where applicable

  New drivers:
   - Add driver for the GPIO controller on Waveshare DSI TOUCH panels

  Removed drivers:
   - Remove the obsolete ts5500 GPIO driver

  Driver updates:
   - Modernize gpio-timberdale: remove platform data support and use
     generic device property accessors
   - Extend test build coverage by enabling COMPILE_TEST for more GPIO
     drivers
   - Add some missing dependencies in Kconfig
   - Add support for sparse fixed direction to gpio-regmap
   - Remove dead code from gpio-nomadik
   - use BIT() in gpio-mxc
   - use bitmap_complement() in gpio-xilinx and gpio-pca953x
   - Use more appropriate printing functions where applicable
   - Use named initializers for platform_device_id and i2c_device_id
     arrays
   - Convert gpio-altera to using the generic GPIO chip helper library
   - Add support for new models to gpio-dwapb, gpio-zynq, gpio-usbio and
     gpio-tegra186
   - Unify the naming convention for Qualcomm in GPIO drivers
   - Fix interrupt bank mapping to GPIO chips in gpio-mt7621
   - Add support for the lines-initial-states property to gpio-74x164
   - Switch to using dynamic GPIO base in gpio-ixp4xx
   - Move the handling of an OF quirk from ASoC to gpiolib-of.c where
     other such quirks live
   - Use handle_bad_irq() in gpio-ep93xx
   - Some other minor tweaks and refactorings

  Devicetree bindings:
   - Document the Waveshare GPIO controller for DSI TOUCH panels
   - Document new models: Tegra238 in gpio-tegra186 and EIO GPIO in
     gpio-zynq
   - Add new properties for gpio-dwapb and fairchild,74hc595
   - Fix whitespace issues
   - Sort compatibles alphabetically in gpio-zynq

  Documentation:
   - Fix kerneldoc warnings in gpio-realtek-otto

  Misc:
   - Attach software nodes representing GPIO chips to the actual struct
     device objects associated with them in some legacy platforms
     enabling real firmware node lookup instead of string matching
   - Drop unneeded dependencies on OF_GPIO from bus and staging drivers"

* tag 'gpio-updates-for-v7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (62 commits)
  gpio: nomadik: remove dead DB8540 code from <gpio/gpio-nomadik.h>
  gpio: mt7621: fix interrupt banks mapping on gpio chips
  bus: ts-nbus: drop unneeded dependency on OF_GPIO
  staging: media: max96712: drop unneeded dependency on OF_GPIO
  gpiolib: Replace strcpy() with memcpy()
  gpio: remove obsolete UAF FIXMEs from lookup paths
  gpio: core: fix const-correctness of gpio_chip_guard
  gpio: mxc: use BIT() macro
  gpio: realtek-otto: fix kernel-doc warnings
  gpio: max77620: Unify usage of space and comma in platform_device_id array
  gpio: Use named initializers for platform_device_id arrays
  gpio: cros-ec: Drop unused assignment of platform_device_id driver data
  ARM: omap1: enable real software node lookup of GPIOs on Nokia 770
  ARM: omap1: use platform_device_register_full() for GPIO devices on OMAP 16xx
  ARM: omap1: drop unused variable from omap16xx_gpio_init()
  gpio: gpiolib: use seq_puts() for plain strings
  gpio: ts5500: remove obsolete driver
  gpio: add kunit test cases for the GPIO subsystem
  kunit: provide kunit_platform_device_unregister()
  kunit: provide kunit_platform_device_register_full()
  ...
2026-06-16 07:30:52 +05:30
Linus Torvalds
186d3c4e92 A series of updates for the VDSO:
- Remove the redundant CONFIG_GENERIC_TIME_VSYSCALL after converting the
     remaining users over.
 
   - Rework and sanitize the MIPS VDSO handling, so it does not handle the
     time related VDSO if there is no VDSO capable clocksource available.
     Also stop mapping VDSO data pages unconditionally even if there is no
     usage possible.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmotog4QHHRnbHhAa2Vy
 bmVsLm9yZwAKCRCmGPVMDXSYoYD5D/41UOOboDxkv3Ei0gS12RfFL/pHWPotWMvA
 eUS4Ohko2pYubZB+iv87QQD5HC6TBN9yXbUjpvS0wN9jVSlXgQOdJ0JkNYYbPfjH
 nsBt7g/ksCA0Tv0KxnUUtECCTu6frtXkSi5iDU03DVNvxLMDmRaXg+D10TKGiCfb
 q1g2IoenA6YWz8pUkwOSI5wInepN8Dt9s5VXRsBQS9J9Uin/ZWAIwghIEhfFPNZu
 braNUSyJ+A7xISipOjWD1kEfBjcUzr24AuMZ9XHpxnykdWoa57qNEoTnjm+bVWpU
 hK0ED4nXSM8qxioV1Kye0h+hUi0T7amNtq6OSfAL+oXWHINvUe2PybqK+sZ1pPFb
 0MSP/J4mV9CIvriPA33fTXw/VxigI/puCMtGuSLLXHwh2xW8hadz7wGU9lqF4E7E
 f+X9NYqZSmx/82z0KKPFtIQyfrozquRBzy2ZiUloh7ek7GKF5tvuN8lds3Ghuf/6
 9Hqr/YquG1Zuu+j95ozVIm7fhDjmMktxAwyAbg5WkNGqOEw7MyhoUGXjKKG29uLa
 PRitT9DklL5vndzjizkLc1C2DuC++OhpnJCqRWOjJ9/TbvBC6Rn6aKwYyVTFX9xM
 4VauNLQg0q9uG0TyW6o3aakaFk9OIKT+vl7bWO0G4g2YZaKDOs7s+b9sdNNNQq5R
 lTL5F0KUCQ==
 =Z90m
 -----END PGP SIGNATURE-----

Merge tag 'timers-vdso-2026-06-13' of gitolite.kernel.org:pub/scm/linux/kernel/git/tip/tip

Pull vdso updates from Thomas Gleixner:

 - Remove the redundant CONFIG_GENERIC_TIME_VSYSCALL after converting
   the remaining users over.

 - Rework and sanitize the MIPS VDSO handling, so it does not handle the
   time related VDSO if there is no VDSO capable clocksource available.
   Also stop mapping VDSO data pages unconditionally even if there is no
   usage possible.

* tag 'timers-vdso-2026-06-13' of gitolite.kernel.org:pub/scm/linux/kernel/git/tip/tip:
  MIPS: VDSO: Fold MIPS_CLOCK_VSYSCALL into MIPS_GENERIC_GETTIMEOFDAY
  MIPS: VDSO: Gate microMIPS restriction on GCC version
  MIPS: VDSO: Fold MIPS_DISABLE_VDSO into MIPS_GENERIC_GETTIMEOFDAY
  clocksource/drivers/mips-gic-timer: Only use VDSO_CLOCKMODE_GIC when it is a available
  MIPS: csrc-r4k: Only use VDSO_CLOCKMODE_R4K when it is a available
  MIPS: VDSO: Only map the data pages when the vDSO is used
  MIPS: Introduce Kconfig MIPS_GENERIC_GETTIMEOFDAY
  vdso/datastore: Always provide symbol declarations
  MAINTAINERS: Add include/linux/vdso_datastore.h to vDSO block
  vdso/gettimeofday: Rename __arch_get_vdso_u_timens_data()
  vdso/treewide: Drop GENERIC_TIME_VSYSCALL
  vdso/vsyscall: Gate update_vsyscall() behind CONFIG_GENERIC_GETTIMEOFDAY
  riscv: vdso: Drop CONFIG_GENERIC_TIME_VSYSCALL guard around syscall fallbacks
2026-06-15 13:57:13 +05:30
Linus Torvalds
f20e2fdaae Updates for clocksource/clockevent drivers:
- Add devm helpers for clocksources, which allows to simplify driver
     teardown and probe failure handling.
 
   - More module conversion work
 
   - Update the support for the ARM EL2 virtual timer including the required
     ACPI changes.
 
   - Add clockevent and clocksource support for the TI Dual Mode Timer
 
   - Fix the support for multiple watchdog instances in the TEGRA186 driver
 
   - Add D1 timer support to the SUN5I driver
 
   - The usual devicetree updates, cleanups and small fixes all over the place
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmotjBUQHHRnbHhAa2Vy
 bmVsLm9yZwAKCRCmGPVMDXSYoaXND/0Z+wx27W4g4n9OTc//dfG+iV4eg05On9Fg
 LhlnyanjvIiZwWEBR0AdLDFHgxCqQV0fHpgldsz/Qlk/5uXcpsrGIhqwAiWynppU
 SLcZyW5XrZp4syTQfIxaAwAqMzGfW3nHWEkaRYCo/Q8oTDfvrXzY0AWYoK+bDkL3
 NmnIuNGdLD+VoD4E3tn0/Q/MTtA4+DI9Cq98S5lOOchkO01ZOxx9OTalhAGFEvOo
 zk6YSW2qeUtvc3stahPSvAOaC6EcAalp7wNjWDeHV/c2kUmoKlGpsgvb8Mt+0vPD
 exNdctuTFGU2zrS1s0IB22n8RkSCzloxiTBs4Ec88ecn+cLIwq3oeuqchNiH/Quw
 YzQWuYhG1ML5i5/g3sAnYu+Hj5DOvB/0IBiYlCxKH4rf49RtBn1AQWt4OzdKzuQS
 /fnYqw+4N5XCodHzQbFv7Kbs+21lXXYubt9RLvSl6QYc4xfJRfWCS7rJdXUExw3D
 5visGs+tUozi8C23t+BCWJ7jJsd0uNk51gmvOPUI3ybgL5YFwz1YdY4OwAAQT57i
 MGiDbC4nMz7nlyWkl40ZVjOvl8bNvCGozq30tRux+CPmpYUi/87ToraKZy8ulSra
 +26/ekATKXSfcyUh+TinA10AnnmCdxUyfA1WpZ6z/bCVdZqqHXK6HBf0OY8+u3um
 zhrXH2BJBQ==
 =4vQE
 -----END PGP SIGNATURE-----

Merge tag 'timers-clocksource-2026-06-13' of gitolite.kernel.org:pub/scm/linux/kernel/git/tip/tip

Pull clocksource updates from Thomas Gleixner:
 "Updates for clocksource/clockevent drivers:

   - Add devm helpers for clocksources, which allows to simplify driver
     teardown and probe failure handling.

   - More module conversion work

   - Update the support for the ARM EL2 virtual timer including the
     required ACPI changes.

   - Add clockevent and clocksource support for the TI Dual Mode Timer

   - Fix the support for multiple watchdog instances in the TEGRA186
     driver

   - Add D1 timer support to the SUN5I driver

   - The usual devicetree updates, cleanups and small fixes all over the
     place"

* tag 'timers-clocksource-2026-06-13' of gitolite.kernel.org:pub/scm/linux/kernel/git/tip/tip: (24 commits)
  clocksource: move NXP timer selection to drivers/clocksource
  clocksource/drivers/timer-tegra186: Reserve and service a kernel watchdog
  clocksource/drivers/timer-tegra186: Register all accessible watchdog timers
  clocksource/drivers/timer-tegra186: Correct num_wdts for Tegra186 and Tegra234
  clocksource/drivers/timer-tegra186: Fix support for multiple watchdog instances
  clocksource/drivers/timer-ti-dm: Add clockevent support
  clocksource/drivers/timer-ti-dm: Add clocksource support
  clocksource/drivers/timer-ti-dm: Fix property name in comment
  dt-bindings: timer: arm,arch_timer: Fix requirements for interrupt description
  clocksource/drivers/arm_arch_timer: Default to EL2 virtual timer when running VHE
  ACPI: GTDT: Parse information related to the EL2 virtual timer
  ACPI: GTDT: Account for GTDTv3 size when walking the platform timer descriptors
  clocksource: Add devm_clocksource_register_*() helpers
  clocksource/drivers/sun5i: Add D1 hstimer support
  dt-bindings: timer: allwinner,sun5i-a13-hstimer: add H616 and D1
  dt-bindings: timer: Add StarFive JHB100 clint
  dt-bindings: timer: renesas,rz-mtu3: document RZ/{T2H,N2H}
  dt-bindings: timer: renesas,rz-mtu3: Remove TCIU8 interrupt
  dt-bindings: timer: Remove sifive,fine-ctr-bits property
  clocksource/drivers/timer-of: Make the code compatible with modules
  ...
2026-06-15 13:34:03 +05:30
Linus Torvalds
857ae5a445 Interrupt chip driver changes:
- Replace the support for the AST2700-A0 early silicon with a proper
     driver for the final A2 production silicon
 
   - Rename and rework the StarFive JH8100 interrupt controller for the new
     JHB100 SoC as JH8100 was discontinued before production.
 
   - Add support for Amlogic A9 SoCs to the meson-gpio interrupt controller
 
   - Expand the Econet interrupt controller driver to support MIPS 34Kc
     Vectored External Interrupt Controller mode.
 
   - Prevent a NULL pointer dereference in the GICv4 code as the vLPI code
     blindly assumes that the ITS was populated. Add the missing sanity check.
 
   - Add support for software triggered and for error interrupts to the
     Renesas RZ/T2H driver.
 
   - Add interrupt redirection support for the loongarch architecture.
 
   - Add multicore support to the Realtek RTL interrupt driver
 
   - The usual updates, enhancements and fixes all over the place
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmotiUMQHHRnbHhAa2Vy
 bmVsLm9yZwAKCRCmGPVMDXSYoVI1D/9hTno8fq6LtgB/YbY81m6Ulf6uHTiLzwkl
 bRd/62h99W/moP+teVapIbh00swIP7gc2tcS9JJ1Jh8rXcr+ePe5305MV0JvyywP
 Kiyv8GFLoviWKsekieDGnRJeX630toB4VonOKJHY47q6xBqwVspf5vHlK6jCKWbB
 QdLHTWJ2dbrwTu8vDRSA3J2u3/cZco9UxABrT0m/JMyDrJSIft9tkTNIrHVjfQyO
 OeDhZ4qTCGkvY6yOFQ4T+2e2s4D+Uz4FGoUo8q2Usrmt/c2fCqdrkVhIH6mIRzN0
 tC183K+eqhEGmoQ6/HjQfHZqULimHxkD4To6jZLjJ26L2aHjW/9yGIjX4JYVpFn9
 nWRaWcx9Bc16uauIHdPclHMJr9sDNGuBGNeHiPC0XcVzj8kjSnkR/N9axQ9FPM4j
 xoqrVC576A5oe/nMqfdVmVFbTDApgS05kHpinCe+Y4jZPZGpzPvULJiIfEwQbw+M
 C3xXSGiy7dxG0S84tx03AvNvewtw9UFwXLxLftHIYQ6arCul/m8eRpErjneQhcnf
 sbH5Hgkk4V37QsLwn1w51yuqeg+N/SOnLnkld93sXJhPEzaPenwbiteIKPsargng
 9DR9DVDtskAnESj/UNHhSuaQvbRHyYh3IYbudC2iqAGCOkp3+Qzd9UKPJ/mbJHe3
 DMAl9mbZLw==
 =zJc2
 -----END PGP SIGNATURE-----

Merge tag 'irq-drivers-2026-06-13' of gitolite.kernel.org:pub/scm/linux/kernel/git/tip/tip

Pull interrupt chip driver updates from Thomas Gleixner:

 - Replace the support for the AST2700-A0 early silicon with a proper
   driver for the final A2 production silicon

 - Rename and rework the StarFive JH8100 interrupt controller for the
   new JHB100 SoC as JH8100 was discontinued before production.

 - Add support for Amlogic A9 SoCs to the meson-gpio interrupt
   controller

 - Expand the Econet interrupt controller driver to support MIPS 34Kc
   Vectored External Interrupt Controller mode.

 - Prevent a NULL pointer dereference in the GICv4 code as the vLPI code
   blindly assumes that the ITS was populated. Add the missing sanity
   check.

 - Add support for software triggered and for error interrupts to the
   Renesas RZ/T2H driver.

 - Add interrupt redirection support for the loongarch architecture.

 - Add multicore support to the Realtek RTL interrupt driver

 - The usual updates, enhancements and fixes all over the place

* tag 'irq-drivers-2026-06-13' of gitolite.kernel.org:pub/scm/linux/kernel/git/tip/tip: (32 commits)
  irqchip/irq-realtek-rtl: Add multicore support
  irqchip/irq-realtek-rtl: Add/simplify register helpers
  irqchip/loongarch-ir: Add IR (interrupt redirection) irqchip support
  irqchip/loongarch-avec: Return IRQ_SET_MASK_OK_DONE when keep affinity
  irqchip/loongarch-avec: Prepare for interrupt redirection support
  Docs/LoongArch: Add advanced extended IRQ model
  irqchip/qcom-pdc: Use FIELD_GET() to extract bank index and bit position
  irqchip/qcom-pdc: Add PDC_VERSION() macro to describe version register fields
  irqchip/qcom-pdc: Tighten ioremap clamp to single DRV region size
  irqchip/qcom-pdc: Split __pdc_enable_intr() into per-version helpers
  irqchip/exynos-combiner: Remove useless spinlock
  irqchip/renesas-rzt2h: Add error interrupts support
  irqchip/renesas-rzt2h: Add software-triggered interrupts support
  irqchip/gic-v4: Don't advertise VLPIs if no ITS is probed
  irqchip/gic-v3-its: Use FIELD_MODIFY()
  irqchip/econet-en751221: Support MIPS 34Kc VEIC mode
  dt-bindings: interrupt-controller: econet: Add CPU interrupt mapping
  irqchip/meson-gpio: Add support for Amlogic A9 SoCs
  dt-bindings: interrupt-controller: Add support for Amlogic A9 SoCs
  irqchip/meson-gpio: Use the correct register in meson_s4_gpio_irq_set_type()
  ...
2026-06-15 13:25:32 +05:30
Linus Torvalds
13e1a6d6a1 Interrupt core code changes:
- Rework of /proc/interrupt handling:
 
       /proc/interrupts was subject to micro optimizations for a long time,
       but most of the low hanging fruit was left on the table. This rework
       addresses the major time consuming issues:
 
         - Printing a long series of zeros one by one via a format string
           instead of counting subsequent zeros and emitting a string
           constant.
 
         - Simplify and cache the conditions whether interrupts should be printed
 
 	- Use a proper iteration over the interrupt descriptor xarray
           instead of walking and testing one by one.
 
         - Provide helper functions for the architecture code to emit the
           architecture specific counters
 
 	- Convert the counter structure in x86 to an array, which
           simplifies the output and add mechanisms to suppress unused
           architecture interrupts, which just occupy space for
           nothing. Adopt the new core mechanisms.
 
       This adjusts the gdb scripts related to interrupt counter statitics
       to work with the new mechanisms.
 
     - Prevent a string overflow in the /proc/irq/$N/ directory name
       creation code.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEEQp8+kY+LLUocC4bMphj1TA10mKEFAmoths8QHHRnbHhAa2Vy
 bmVsLm9yZwAKCRCmGPVMDXSYoSoMEACRODwHjNfULjgD2heHbiPKsmPMRZvwO1Ud
 xu5XAoNT1gwxnLo4D+KrGCZeyxka+byRpby6eNg7HdRJuu3DUf8umwt/Q472I9a9
 ck8OGFp8ntbxnueISKfzxY/O2eXHYxSKmmfZMv3wdOKbvn5OUlFT6eHPjb8PzVUM
 7DiXsBL8s3MNHwdJ3grG5lBh60pt5fujzURwYAqvh/i8jlDHxsFRTMGuhR710knr
 YZrgZ4/7ffnEbDsn98xezPewRomIbhhEijgfjkkbnYYUub6Y2RHJqOzZhlp6zNgi
 vTsU/suW3ryVuzG34rL2uHvsxOcJY1HNA+ING7fkRmPuKxRGKOMBQfPmLQcWqP69
 GxwGIlBvNbAEYievgTCS7GNHTy3t0JbxTGhHcBvX3oMtnnOSTttqH9XzvrTwGxjj
 fMUykfvB+40Fp47D+t0JDhgyNNEkixSBjW8/gogZFQ0OdMFX6BQZNT/DLhMMC0LR
 JbqMpfsffp5+gYam/wixv3sPlxajMpQ2w8ocgyUHVAeFMo1LOY1spUuO3+Tq7nSj
 xt95xVg6HQDr+L+8QmZmnRq27uG276CxPpLotbPMsrn0Ax5PL+fymfmVsFmJFjAR
 ZHKK3tSD6M94GtklfKlB/yBJGNRafH4MVZbMa0iUxGI6UyAFr/Yror3mfDK9NsIA
 WTwwaqI8qw==
 =z6vj
 -----END PGP SIGNATURE-----

Merge tag 'irq-core-2026-06-13' of gitolite.kernel.org:pub/scm/linux/kernel/git/tip/tip

Pull interrupt core updates from Thomas Gleixner:

  - Rework of /proc/interrupt handling:

    /proc/interrupts was subject to micro optimizations for a long time,
    but most of the low hanging fruit was left on the table. This rework
    addresses the major time consuming issues:

      - Printing a long series of zeros one by one via a format string
        instead of counting subsequent zeros and emitting a string
        constant.

      - Simplify and cache the conditions whether interrupts should be
        printed

      - Use a proper iteration over the interrupt descriptor xarray
        instead of walking and testing one by one.

      - Provide helper functions for the architecture code to emit the
        architecture specific counters

      - Convert the counter structure in x86 to an array, which
        simplifies the output and add mechanisms to suppress unused
        architecture interrupts, which just occupy space for nothing.
        Adopt the new core mechanisms.

    This adjusts the gdb scripts related to interrupt counter statistics
    to work with the new mechanisms.

  - Prevent a string overflow in the /proc/irq/$N/ directory name
    creation code.

* tag 'irq-core-2026-06-13' of gitolite.kernel.org:pub/scm/linux/kernel/git/tip/tip:
  x86/irq: Add missing 's' back to thermal event printout
  genirq/proc: Speed up /proc/interrupts iteration
  genirq/proc: Runtime size the chip name
  genirq: Expose irq_find_desc_at_or_after() in core code
  genirq: Add rcuref count to struct irq_desc
  genirq/proc: Increase default interrupt number precision to four
  genirq: Calculate precision only when required
  genirq: Cache the condition for /proc/interrupts exposure
  genirq/manage: Make NMI cleanup RT safe
  genirq: Expose nr_irqs in core code
  scripts/gdb: Update x86 interrupts to the array based storage
  x86/irq: Move IOAPIC misrouted and PIC/APIC error counts into irq_stats
  x86/irq: Suppress unlikely interrupt stats by default
  x86/irq: Make irqstats array based
  genirq/proc: Utilize irq_desc::tot_count to avoid evaluation
  genirq/proc: Avoid formatting zero counts in /proc/interrupts
  x86/irq: Optimize interrupts decimals printing
  genirq/proc: Size interrupt directory names for 10-digit interrupt numbers
2026-06-15 13:19:41 +05:30
Linus Torvalds
36808d5e98 Driver core changes for 7.2-rc1
- deferred probe:
   - Fix race where deferred probe timeout work could be permanently
     canceled by using mod_delayed_work()
   - Fix missing jiffies conversion in deferred_probe_extend_timeout()
   - Guard timeout extension with delayed_work_pending() to prevent
     premature firing
   - Use system_percpu_wq instead of the deprecated system_wq
   - Update deferred_probe_timeout documentation
 
 - device:
   - Replace direct struct device bitfield access (can_match, dma_iommu,
     dma_skip_sync, dma_ops_bypass, state_synced, dma_coherent,
     of_node_reused, offline, offline_disabled) with flag-based
     accessors using bit operations
   - Reject devices with unregistered buses
   - Delete unused DEVICE_ATTR_PREALLOC()
   - Add low-level device attribute macros with const show/store
     callbacks, allowing device attributes to reside in read-only memory
   - Move core device attributes to read-only memory
   - Constify group array pointers in driver_add_groups() /
     driver_remove_groups(), struct bus_type, and struct device_driver
 
 - device property:
   - Fix fwnode reference leak in fwnode_graph_get_endpoint_by_id()
   - Initialize all fields of fwnode_handle in fwnode_init()
   - Provide swnode_get()/swnode_put() wrappers around kobject_get/put()
   - Allow passing struct software_node_ref_args pointers directly to
     PROPERTY_ENTRY_REF()
 
 - driver_override:
   - Migrate amba, cdx, vmbus, and rpmsg to the generic driver_override
     infrastructure, fixing a UAF from unsynchronized access to
     driver_override in bus match() callbacks
   - Remove the now-unused driver_set_override()
 
 - firmware loader:
   - Fix recursive lock deadlock in device_cache_fw_images() when async
     work falls back to synchronous execution
   - Fix device reference leak in firmware_upload_register()
 
 - platform:
   - Pass KBUILD_MODNAME through the platform driver registration macro
     to create module symlinks in sysfs for built-in drivers; move
     module_kset initialization to a pure_initcall and tegra cbb
     registration to core_initcall to ensure correct ordering
   - Pass THIS_MODULE implicitly through a coresight_init_driver() macro
 
 - sysfs:
   - Upgrade OOB write detection in sysfs_kf_seq_show() from printk to
     WARN
   - Add return value clamping to sysfs_kf_read()
 
 - Rust:
   - ACPI:
     - Fix missing match data for PRP0001 by exporting
       acpi_of_match_device()
 
   - Auxiliary:
     - Replace drvdata() with dedicated registration data on
       auxiliary_device. drvdata() exposed the driver's bus device
       private data beyond the driver's own scope, creating ordering
       constraints and forcing the data to outlive all registrations
       that access it. Registration data is instead scoped structurally
       to the Registration object, making lifecycle ordering enforced
       by construction rather than convention.
 
   - Rust-native device driver lifetimes (HRT):
     - Allow Rust device drivers to carry a lifetime parameter on their
       bus device private data, tied to the device binding scope -- the
       interval during which a bus device is bound to a driver. Device
       resources like pci::Bar<'a> and IoMem<'a> can be stored directly
       in the driver's bus device private data with a lifetime bounded
       by the binding scope, so the compiler enforces at build time that
       they do not outlive the binding. This removes Devres indirection
       from every access site and eliminates try_access() failure paths
       in destructors.
 
       Bus driver traits use a Generic Associated Type (GAT)
       Data<'bound> to introduce the lifetime on the private data,
       rather than parameterizing the Driver trait itself. Auxiliary
       registration data, where the lifetime is not introduced by a
       trait callback but must be threaded through Registration, uses
       the ForLt trait (a type-level abstraction for types generic over
       a lifetime).
 
 - Misc:
   - Fix DT overlayed devices not probing by reverting the broken
     treewide overlay fix and re-running fw_devlink consumer pickup when
     an overlay is applied to a bound device
   - Use root_device_register() for faux bus root device; add sanity
     check for failed bus init
   - Fix dev_has_sync_state() data race with READ_ONCE() and move it to
     base.h
   - Avoid spurious device_links warning when removing a device while
     its supplier is unbinding
   - Switch ISA bus to dynamic root device
   - Fix suspicious RCU usage in kernfs_put()
   - Remove devcoredump exit callback
   - Constify devfreq_event_class
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQS2q/xV6QjXAdC7k+1FlHeO1qrKLgUCai1lNQAKCRBFlHeO1qrK
 LjX1AP4kEb6SJdvBFlG/IJcG9vyqA7+Cig8OIlx9vEX7e7GvNwEAxL2HltAlAd5Q
 cOIJOlu0uM+j1mn0JyuM9b0WJrxDLAA=
 =E5mG
 -----END PGP SIGNATURE-----

Merge tag 'driver-core-7.2-rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/driver-core/driver-core

Pull driver core updates from Danilo Krummrich:
 "Deferred probe:
   - Fix race where deferred probe timeout work could be permanently
     canceled by using mod_delayed_work()
   - Fix missing jiffies conversion in deferred_probe_extend_timeout()
   - Guard timeout extension with delayed_work_pending() to prevent
     premature firing
   - Use system_percpu_wq instead of the deprecated system_wq
   - Update deferred_probe_timeout documentation

  device:
   - Replace direct struct device bitfield access (can_match, dma_iommu,
     dma_skip_sync, dma_ops_bypass, state_synced, dma_coherent,
     of_node_reused, offline, offline_disabled) with flag-based
     accessors using bit operations
   - Reject devices with unregistered buses
   - Delete unused DEVICE_ATTR_PREALLOC()
   - Add low-level device attribute macros with const show/store
     callbacks, allowing device attributes to reside in read-only memory
   - Move core device attributes to read-only memory
   - Constify group array pointers in driver_add_groups() /
     driver_remove_groups(), struct bus_type, and struct device_driver

  device property:
   - Fix fwnode reference leak in fwnode_graph_get_endpoint_by_id()
   - Initialize all fields of fwnode_handle in fwnode_init()
   - Provide swnode_get()/swnode_put() wrappers around kobject_get/put()
   - Allow passing struct software_node_ref_args pointers directly to
     PROPERTY_ENTRY_REF()

  driver_override:
   - Migrate amba, cdx, vmbus, and rpmsg to the generic driver_override
     infrastructure, fixing a UAF from unsynchronized access to
     driver_override in bus match() callbacks
   - Remove the now-unused driver_set_override()

  firmware loader:
   - Fix recursive lock deadlock in device_cache_fw_images() when async
     work falls back to synchronous execution
   - Fix device reference leak in firmware_upload_register()

  platform:
   - Pass KBUILD_MODNAME through the platform driver registration macro
     to create module symlinks in sysfs for built-in drivers; move
     module_kset initialization to a pure_initcall and tegra cbb
     registration to core_initcall to ensure correct ordering
   - Pass THIS_MODULE implicitly through a coresight_init_driver() macro

  sysfs:
   - Upgrade OOB write detection in sysfs_kf_seq_show() from printk to
     WARN
   - Add return value clamping to sysfs_kf_read()

  Rust:
   - ACPI:

     Fix missing match data for PRP0001 by exporting
     acpi_of_match_device()

   - Auxiliary:

     Replace drvdata() with dedicated registration data on
     auxiliary_device. drvdata() exposed the driver's bus device private
     data beyond the driver's own scope, creating ordering constraints
     and forcing the data to outlive all registrations that access it.
     Registration data is instead scoped structurally to the
     Registration object, making lifecycle ordering enforced by
     construction rather than convention.

   - Rust-native device driver lifetimes (HRT):

     Allow Rust device drivers to carry a lifetime parameter on their
     bus device private data, tied to the device binding scope -- the
     interval during which a bus device is bound to a driver. Device
     resources like pci::Bar<'a> and IoMem<'a> can be stored directly in
     the driver's bus device private data with a lifetime bounded by the
     binding scope, so the compiler enforces at build time that they do
     not outlive the binding. This removes Devres indirection from every
     access site and eliminates try_access() failure paths in
     destructors.

     Bus driver traits use a Generic Associated Type (GAT) Data<'bound>
     to introduce the lifetime on the private data, rather than
     parameterizing the Driver trait itself. Auxiliary registration
     data, where the lifetime is not introduced by a trait callback but
     must be threaded through Registration, uses the ForLt trait (a
     type-level abstraction for types generic over a lifetime).

  Misc:
   - Fix DT overlayed devices not probing by reverting the broken
     treewide overlay fix and re-running fw_devlink consumer pickup when
     an overlay is applied to a bound device
   - Use root_device_register() for faux bus root device; add sanity
     check for failed bus init
   - Fix dev_has_sync_state() data race with READ_ONCE() and move it to
     base.h
   - Avoid spurious device_links warning when removing a device while
     its supplier is unbinding
   - Switch ISA bus to dynamic root device
   - Fix suspicious RCU usage in kernfs_put()
   - Remove devcoredump exit callback
   - Constify devfreq_event_class"

* tag 'driver-core-7.2-rc1' of gitolite.kernel.org:pub/scm/linux/kernel/git/driver-core/driver-core: (81 commits)
  software node: allow passing reference args to PROPERTY_ENTRY_REF()
  driver core: platform: set mod_name in driver registration
  coresight: pass THIS_MODULE implicitly through a macro
  kernel: param: initialize module_kset in a pure_initcall
  soc/tegra: cbb: Move driver registration from pure_initcall to core_initcall
  firmware_loader: Fix recursive lock in device_cache_fw_images()
  driver core: Use system_percpu_wq instead of system_wq
  driver core: remove driver_set_override()
  rpmsg: use generic driver_override infrastructure
  Drivers: hv: vmbus: use generic driver_override infrastructure
  cdx: use generic driver_override infrastructure
  amba: use generic driver_override infrastructure
  rust: devres: add 'static bound to Devres<T>
  samples: rust: rust_driver_auxiliary: showcase lifetime-bound registration data
  rust: auxiliary: generalize Registration over ForLt
  rust: types: add `ForLt` trait for higher-ranked lifetime support
  gpu: nova-core: separate driver type from driver data
  samples: rust: rust_driver_pci: use HRT lifetime for Bar
  rust: io: make IoMem and ExclusiveIoMem lifetime-parameterized
  rust: pci: make Bar lifetime-parameterized
  ...
2026-06-15 12:41:17 +05:30
Linus Torvalds
73f399414a Kbuild / Kconfig changes for 7.2
Kbuild:
 
 - Remove broken module linking exclusion for BTF
 
 - Add documentation around how offset header files work
 
 - Include unstripped vDSO libraries in pacman packages
 
 - Bump minimum version of LLVM for building the kernel to 17.0.1 and
   clean up unnecessary workarounds
 
 - Use a context manager in run-clang-tools
 
 - Add dist macro value if present to release tag for RPM packages
 
 - Detect and report truncated buf_printf() output in modpost
 
 - Add __llvm_covfun and __llvm_covmap to section whitelist in modpost
 
 - Support Clang's distributed ThinLTO mode
 
 - Remove architecture specific configurations for AutoFDO and Propeller
   to ease individual architecture maintenance
 
 Kconfig:
 
 - Add kconfig-sym-check target to look for dangling Kconfig symbol
   references and invalid tristate literal values
 
 - Harden against potential NULL pointer dereference
 
 - Fix typo in Kconfig test comment
 
 Signed-off-by: Nathan Chancellor <nathan@kernel.org>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQR74yXHMTGczQHYypIdayaRccAalgUCaijIpwAKCRAdayaRccAa
 lszAAQD0PuP+a0IejIyubuvEeB0ecG5nvKZIV99veIaivp9J4QD+PwYuPf+Y9A0r
 PqiV0IBrnhbmjNrSj8Clt2eHXqa4jg4=
 =J1xQ
 -----END PGP SIGNATURE-----

Merge tag 'kbuild-7.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kbuild/linux

Pull Kbuild / Kconfig updates from Nathan Chancellor:
 "Kbuild:

   - Remove broken module linking exclusion for BTF

   - Add documentation around how offset header files work

   - Include unstripped vDSO libraries in pacman packages

   - Bump minimum version of LLVM for building the kernel to 17.0.1 and
     clean up unnecessary workarounds

   - Use a context manager in run-clang-tools

   - Add dist macro value if present to release tag for RPM packages

   - Detect and report truncated buf_printf() output in modpost

   - Add __llvm_covfun and __llvm_covmap to section whitelist in modpost

   - Support Clang's distributed ThinLTO mode

   - Remove architecture specific configurations for AutoFDO and
     Propeller to ease individual architecture maintenance

  Kconfig:

   - Add kconfig-sym-check target to look for dangling Kconfig symbol
     references and invalid tristate literal values

   - Harden against potential NULL pointer dereference

   - Fix typo in Kconfig test comment"

* tag 'kbuild-7.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kbuild/linux: (31 commits)
  kconfig: tests: fix typo in comment
  kconfig: Remove the architecture specific config for Propeller
  kconfig: Remove the architecture specific config for AutoFDO
  modpost: Add __llvm_covfun and __llvm_covmap to section_white_list
  kconfig: add kconfig-sym-check static checker
  kbuild: Remove unnecessary 'T' modifier in cmd_ar_builtin_fixup
  kbuild: distributed build support for Clang ThinLTO
  kbuild: move vmlinux.a build rule to scripts/Makefile.vmlinux_a
  scripts: modpost: detect and report truncated buf_printf() output
  kbuild: rpm-pkg: append %{?dist} macro to Release tag
  run-clang-tools: run multiprocessing.Pool as context manager
  compiler-clang.h: Drop explicit version number from "all" diagnostic macro
  compiler-clang.h: Remove __cleanup -Wunused-variable workaround
  kbuild: Remove check for broken scoping with clang < 17 in CC_HAS_ASM_GOTO_OUTPUT
  x86/entry/vdso32: Remove conditional omission of '.cfi_offset eflags'
  x86/module: Revert "Deal with GOT based stack cookie load on Clang < 17"
  x86/build: Drop unnecessary '-ffreestanding' addition to KBUILD_CFLAGS
  scripts/Makefile.warn: Drop -Wformat handling for clang < 16
  riscv: Drop tautological condition from TOOLCHAIN_NEEDS_OLD_ISA_SPEC
  riscv: Remove tautological condition from selection of ARCH_SUPPORTS_CFI
  ...
2026-06-15 05:01:15 +05:30
Linus Torvalds
7e0e7bd60d vfs-7.2-rc1.misc
Please consider pulling these changes from the signed vfs-7.2-rc1.misc tag.
 
 Thanks!
 Christian
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQRAhzRXHqcMeLMyaSiRxhvAZXjcogUCaiwLKgAKCRCRxhvAZXjc
 ou/zAP9SOUE6n58i0BdhLYw0RA9Ge5tz42e4inSFi4tkgfCrDwEAlxbRHDcMyhWB
 dHmx8OW6b5riMrW+lGPMH58RMoTkdQ4=
 =3vuc
 -----END PGP SIGNATURE-----

Merge tag 'vfs-7.2-rc1.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs

Pull misc vfs updates from Christian Brauner:
 "Features:

   - Reduce pipe->mutex contention by pre-allocating pages outside the
     lock in anon_pipe_write().

     anon_pipe_write() called alloc_page() once per page while holding
     pipe->mutex. The allocation can sleep doing direct reclaim and runs
     memcg charging, which extends the critical section and stalls any
     concurrent reader on the same mutex. Now up to 8 pages are
     pre-allocated before the mutex is taken, leftovers are recycled
     into the per-pipe tmp_page[] cache before unlock, and any remainder
     is released after unlock, keeping the allocator out of the critical
     section on both sides. On a writers x readers sweep with 64KB
     writes against a 1 MB pipe throughput improves 6-28% and average
     write latency drops 5-22%; under memory pressure - when the cost of
     holding the mutex across reclaim is highest - throughput improves
     21-48% and latency drops 17-33%. The microbenchmark is added to
     selftests.

   - uaccess/sockptr: fix the ignored_trailing logic in
     copy_struct_to_user() to behave as documented and the usize check
     in copy_struct_from_sockptr() for user pointers, and add
     copy_struct_{from,to}_bounce_buffer() and copy_struct_to_sockptr()
     helpers for upcoming users (IPPROTO_SMBDIRECT, IPPROTO_QUIC).

   - bpf: add a sleepable bpf_real_inode() kfunc that resolves the real
     inode backing a dentry via d_real_inode(). On overlayfs the inode
     attached to the dentry doesn't carry the underlying device
     information; this is used by the filesystem restriction BPF program
     that was merged into systemd.

   - docs: add guidelines for submitting new filesystems, motivated by
     the maintenance burden abandoned and untestable filesystems impose
     on VFS developers, blocking infrastructure work like folio
     conversions and iomap migration.

  Fixes:

   - libfs: set SB_I_NOEXEC and SB_I_NODEV by default in init_pseudo()
     and drop the now-redundant assignments in callers. This began as a
     one-line dma-buf fix for a path_noexec() warning; a pseudo
     filesystem has no reason not to set SB_I_NOEXEC. All init_pseudo()
     callers were audited: the only visible effect is on dma-buf where
     SB_I_NOEXEC silences the warning.

   - Handle set_blocksize() failures in legacy filesystems (bfs, hpfs,
     qnx4, jfs, befs, affs, isofs, minix, ntfs3, omfs). Mounting a
     device with a sector size > PAGE_SIZE crashed roughly half of them;
     the rest had the same missing error handling pattern. Plus a
     follow-up releasing the superblock buffer_head when setting the
     minix v3 block size fails.

   - mount: honour SB_NOUSER in the new mount API.

   - fs/fcntl: fix a SOFTIRQ-unsafe lock order in fasync signaling by
     switching the process-group paths of send_sigio() and send_sigurg()
     from read_lock(&tasklist_lock) to RCU, matching the single-PID
     path.

   - vfs: add an FS_USERNS_DELEGATABLE flag and set it for NFS, fixing
     delegated NFS mounts (fsopen() in a container with the mount
     performed by a privileged daemon) that broke when non-init
     s_user_ns was tied to FS_USERNS_MOUNT.

   - selftests/namespaces: fix a hang in nsid_test where an unreaped
     grandchild kept the TAP pipe write-end open, a waitpid(-1) race in
     listns_efault_test, and a false FAIL on kernels without listns()
     where the tests should SKIP.

   - filelock: fix the break_lease() stub signature for
     CONFIG_FILE_LOCKING=n.

   - init/initramfs_test: wait for the async initramfs unpacking before
     running; the test and do_populate_rootfs() share the parser state.

   - fs/coredump: reduce redundant log noise in
     validate_coredump_safety().

   - iomap: pass the correct length to fserror_report_io() in
     __iomap_write_begin().

   - backing-file: fix the backing_file_open() kerneldoc.

  Cleanups:

   - initramfs: refactor the cpio hex header parsing to use hex2bin()
     instead of the hand-rolled simple_strntoul() which is reverted, and
     extend the initramfs KUnit tests to cover header fields with 0x
     prefixes.

   - Replace __get_free_pages() and friends with kmalloc()/kzalloc()
     across quota, proc, ocfs2/dlm, nilfs2, nfs, nfsd, libfs, jfs, jbd2,
     isofs, fuse, select, namespace, configfs, binfmt_misc, bfs, and the
     do_mounts init code - part of the larger work of replacing page
     allocator calls with kmalloc().

   - Use clear_and_wake_up_bit() in unlock_buffer() and
     journal_end_buffer_io_sync() instead of open-coding the sequence.

   - Drop unused VFS exports: unexport drop_super_exclusive(), remove
     start_removing_user_path_at(), and fold __start_removing_path()
     into start_removing_path().

   - fs/read_write: narrow the __kernel_write() export with
     EXPORT_SYMBOL_FOR_MODULES().

   - vfs: uapi: retire octal and hex constants in favor of (1 << n) for
     the O_ flags. Finding a free bit for a new flag across the
     architectures was needlessly hard with the mixed bases.

   - dcache: add extra sanity checks of dead dentries in dentry_free()
     via a new DENTRY_WARN_ONCE() that also prints d_flags.

   - iov_iter: use kmemdup_array() in dup_iter() to harden the
     allocation against multiplication overflow.

   - fs/pipe: write to ->poll_usage only once.

   - vfs: remove an always-taken if-branch in find_next_fd().

   - dcache: use kmalloc_flex() for struct external_name in __d_alloc().

   - namei: use QSTR() instead of QSTR_INIT() in path_pts().

   - sync_file_range: delete dead S_ISLNK code.

   - Comment fixes: retire a stale comment in fget_task_next() and fix
     assorted spelling mistakes"

* tag 'vfs-7.2-rc1.misc' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs: (73 commits)
  backing-file: fix backing_file_open() kerneldoc parameter
  iomap: pass the correct len to fserror_report_io in __iomap_write_begin
  vfs: add FS_USERNS_DELEGATABLE flag and set it for NFS
  filelock: fix break_lease() stub signature for CONFIG_FILE_LOCKING=n
  vfs: uapi: retire octal and hex numbers in favor of (1 << n) for O_ flags
  bpf: add bpf_real_inode() kfunc
  fs/read_write: Do not export __kernel_write() to the entire world
  libfs: drop redundant SB_I_NOEXEC/SB_I_NODEV in init_pseudo() callers
  libfs: set SB_I_NOEXEC and SB_I_NODEV by default in init_pseudo()
  mount: honour SB_NOUSER in the new mount API
  fs/fcntl: fix SOFTIRQ-unsafe lock order in fasync signaling
  selftests/pipe: add pipe_bench microbenchmark
  fs/pipe: pre-allocate pages outside pipe->mutex in anon_pipe_write
  fs: retire stale comment in fget_task_next()
  fs: fix spelling mistakes in comment
  bfs: replace get_zeroed_page() with kzalloc()
  binfmt_misc: replace __get_free_page() with kmalloc()
  configfs: replace __get_free_pages() with kzalloc()
  fs/namespace: use __getname() to allocate mntpath buffer
  fs/select: replace __get_free_page() with kmalloc()
  ...
2026-06-15 03:59:45 +05:30
Linus Torvalds
4242809533 ARM fixes for 7.1
Three fixes:
 - Avoid KASAN instrumentation of half-word IO
 - Use a byte load for KASAN shadow stack
 - Fix kexec and hibernation with PAN
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEuNNh8scc2k/wOAE+9OeQG+StrGQFAmousPYACgkQ9OeQG+St
 rGREqQ/+OdeNlX8q7h7Hv5kOXsrjsD/UMjsunzP/RKeZUYskF0zxJyK+qc6BjW1g
 +5zxSikZ+cZZT0rrGma5gOBpNG0FtJSF02CyCSjlKyb6nu09wc1aMZ/DiAMQkZ/u
 wunswFeR3pO97YT6QxJMcv2MVabH4FvWg7aym5KmJycWwRYzDwd1id0b/aEDyP6n
 bEnspk1RnAgp12mC4IjK+dKlsd9wgbrCNBXCyGw35cqEuqaVG021Jkprwxk3jdK/
 sunFPQVZebewiQFQOTQP6jNudYOfV6Uf+7wu67C7inLdffe7r+OW+Z2aFuHXJmXo
 lbpQvmgzHMzpFq5nNQaMFO3cwe6HwPwwDJbXf6eDWvbKPaaU6AQf+Ywcbj/P6Aj6
 7+ellXuSkErTKZSVrJ/wdLB2I1CGHkWbMX6VSXizuZJ5H07E40urkEqIALyw3Q4z
 +8RxnOrfsrlVeE1m+rm5FpOSxokD8kbSn66fP2EwIG1lRbbmFw402nj51a7Vuc8e
 RcSqPt3Y8L9vHCh9c2hxc/IzYTyE21wKeWWP9qPsvR79xyJLLgPbAwvk6sxGLDEY
 Fcourk96GROJ1RQxNXLzjgexrVCVBgZgW+qeOwVcxzejWZbkx7i/9UFCokTHO0bg
 4UrMJ6+XWH49PwDTlxjHBn+HFgAwLlZyFNIbee6fQNqxvYgxo68=
 =aiHy
 -----END PGP SIGNATURE-----

Merge tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux

Pull ARM fixes from Russell King:

 - Avoid KASAN instrumentation of half-word IO

 - Use a byte load for KASAN shadow stack

 - Fix kexec and hibernation with PAN

* tag 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rmk/linux:
  ARM: 9476/1: mm: fix kexec and hibernation with CONFIG_CPU_TTBR0_PAN
  ARM: 9475/1: entry: use byte load for KASAN VMAP stack shadow
  ARM: 9474/1: io: avoid KASAN instrumentation of raw halfword I/O
2026-06-14 15:37:39 +01:00
Thomas Gleixner
c66494c79e - Remove the sifive,fine-ctr-bits property bindings because it is a
redundant information (Nick Hu)
 
 - Remove the TCIU8 interrupt bindings on Renesas because it should not
   be described as the documentation marked reserved and fix the
   conditional reset line for the RZ/{T2H,N2H} (Cosmin Tanislav)
 
 - Add the StarFive JHB100 clint DT bindings compatible string (Ley
   Foon Tan)
 
 - Extend schema condition for interrupts to cover D1 compatible
   variant an add the D1 hstimer support (Michal Piekos)
 
 - Update the ARM architected timer support to handle the ACPI GTDT v3
   format and the EL2 virtual timer, enabling Linux to use the most
   appropriate timer when running with VHE, while also fixing several
   Device Trees to accurately reflect the underlying hardware (Marc
   Zyngier)
 
 - Cleanup and add the clocksource and the clockevent in the TI DM
   timer (Markus Schneider-Pargmann)
 
 - Add the multiple watchdogs support in the tegra186 and
   tegra234. Dedicate one as a kernel watchdog (Kartik Rajput)
 
 - Add the NXP clocksource selection for the scheduler in the Kconfig
   (Enric Balletbo i Serra)
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEGn3N4YVz0WNVyHskqDIjiipP6E8FAmoq0wgACgkQqDIjiipP
 6E8Ungf/SNh8g6NbP6Gqg5Vs0WxlM75EGeJsryLFXooXjLa2TJVh5/i3fm0kh8uG
 xi/cs2NLWsAMezLwLQhmB+mMGzsZh4WswgTu7EqCkXgd+TMqV9Wi57vU18nOX8gs
 XKGxCUqg+kOGAoj5FsZLyq6Sy/NfMHxxY2kSq4oUG2o/xWaLYwDvRcW8iXXAjj/U
 321YrB77lJ+FefUiZveiykf+QjzOXkiPlJTGroOcEL8F/Hm5YMBDfAtW6zslfiFw
 KmOjraY9wkRqQVT9xFeJrssCpn8iCzb9DXpKQUkTAahYgVc0Im7g3p/GOkUHmQFE
 KfvgBNO/tt3+m/Q8FO3la8gPF6LuaA==
 =upV/
 -----END PGP SIGNATURE-----

Merge tag 'timers-v7.2-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/daniel.lezcano/linux into timers/clocksource

Pull clocksource/driver updates from Daniel Lezcano:

  - Remove the sifive,fine-ctr-bits property bindings because it is a
    redundant information (Nick Hu)

  - Remove the TCIU8 interrupt bindings on Renesas because it should not
    be described as the documentation marked reserved and fix the
    conditional reset line for the RZ/{T2H,N2H} (Cosmin Tanislav)

  - Add the StarFive JHB100 clint DT bindings compatible string (Ley
    Foon Tan)

  - Extend schema condition for interrupts to cover D1 compatible
    variant an add the D1 hstimer support (Michal Piekos)

  - Update the ARM architected timer support to handle the ACPI GTDT v3
    format and the EL2 virtual timer, enabling Linux to use the most
    appropriate timer when running with VHE, while also fixing several
    Device Trees to accurately reflect the underlying hardware (Marc
    Zyngier)

  - Cleanup and add the clocksource and the clockevent in the TI DM
    timer (Markus Schneider-Pargmann)

  - Add the multiple watchdogs support in the tegra186 and
    tegra234. Dedicate one as a kernel watchdog (Kartik Rajput)

  - Add the NXP clocksource selection for the scheduler in the Kconfig
    (Enric Balletbo i Serra)

Link: https://lore.kernel.org/all/1e55e8d6-8024-4f17-8620-ab3385465d76@oss.qualcomm.com
2026-06-13 16:24:29 +02:00
Linus Torvalds
fd41dc46db soc: fixes for 7.3, part 3
Two more small fixes came in, both addressing corner cases in platform
 specific code: the microchip mpfs system controller probe and the CPU
 power management on 32-bit rockchips SoCs.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmorLtUACgkQmmx57+YA
 GNm00xAAsYhcrY71KndI6OCLG/j8/WXd544Ghu/18JTVAzBiSug4KRtBfPaMCzAK
 ZyPX/G5SqihSYOTZ8ETMUSFasde7AyHE7UphB5TMH5uesPjjKdToGMVWnhjVpY7y
 3ECYSsbkWw0p8FHwh//utRxThwSaK0wnJrb2Q465Wf9URktBrQ5jGltfOow8+jji
 nLMZ5UpQ21tqQP0qkPkusIDqQKabfcFzjjzuj+2e0BCFZcxLChZXO+xxfTYjkMjt
 eOzVuN75QIbRK1QVc9aHo+xs7pFqR969tNK7889aSXLUi2UzyFy+32pPxeZQVyWB
 vTHsx5/RqhIvu9BwSHPNTOSYhjS6EmYR5PPOyB74uhMnhwCtjfHEiP28K9J5ROfC
 FVBIAJvb7w4aLoBcxQoI3wroCzv22RV4wiy+FPvUX8RT0kZ1D4aj0N0x1SDxoJ1I
 mak2Cf5m4vRfJ1PIQroxX3hn0M36ayp4Z7kKX8CAol8fc8fUanXRy+6VN34IByiC
 c54Hlt6xNaOBVm7xC1tuONgvRRmoTI8RvtRK9uvOAyiqx5hjNDuTuhXGwG/WApYL
 PTC7Yzmqb5Hj6FhuCsG0IO32DzHY6E2lBCsnpYjPDDo41oYDM+ALFJ4w67d6rfgf
 Ns9phfPVzgNJF2i/r1rU26auN+zg4IgzI+hMbkzxsVNLJ4giBoU=
 =4BDQ
 -----END PGP SIGNATURE-----

Merge tag 'soc-fixes-7.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC fixes from Arnd Bergmann:
 "Two more small fixes came in, both addressing corner cases in platform
  specific code: the microchip mpfs system controller probe and the CPU
  power management on 32-bit rockchips SoCs"

* tag 'soc-fixes-7.1-3' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  ARM: rockchip: keep reset control around
  soc: microchip: mpfs-sys-controller: fix resource leak on probe error
2026-06-12 08:44:56 -07:00
Eric Biggers
b2c41fa9dd crypto: sun4i-ss - Remove insecure and unused rng_alg
Remove sun4i_ss_rng, as it is insecure and unused:

- It has multiple vulnerabilities.  sun4i_ss_prng_seed() is missing
  locking and has a buffer overflow.  sun4i_ss_prng_generate() fails to
  fill the entire buffer with cryptographic random bytes, because it
  rounds the destination length down and also doesn't actually wait for
  the hardware to be ready before pulling bytes from it.

- No user of this code is known.  It's usable only theoretically via the
  "rng" algorithm type of AF_ALG.  But userspace actually just uses the
  actual Linux RNG (/dev/random etc) instead.  And rng_algs don't
  contribute entropy to the actual Linux RNG either.  (This may have
  been confused with hwrng, which does contribute entropy.)

The sun4i_ss_prng_seed() buffer overflow was reported by Tianchu Chen
and discovered by Atuin - Automated Vulnerability Discovery Engine

There's no point in fixing all these vulnerabilities individually when
this is unused code, so let's just remove it.

Fixes: b8ae5c7387 ("crypto: sun4i-ss - support the Security System PRNG")
Cc: stable@vger.kernel.org
Reported-by: Tianchu Chen <flynnnchen@tencent.com>
Closes: https://lore.kernel.org/r/af749a8447bd7f0e9dd26ca6c87e9c6afecb09d9@linux.dev/
Acked-by: Corentin LABBE <clabbe.montjoie@gmail.com>
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2026-06-12 09:56:45 +08:00
Jakub Kicinski
9bbdc7dc40 bluetooth-next pull request for net-next:
core:
  - hci_sync: Add support for HCI_LE_Set_Host_Feature [v2]
  - SMP: Use AES-CMAC library API
  - sockets: convert to getsockopt_iter
  - Add SPDX id lines to some source files
 
 drivers:
  - btintel_pcie: Support Product level reset
  - btintel_pcie: Add support for smart trigger dump
  - btintel_pcie: Add 50 ms delay before MAC init on BlazarIW
  - btintel_pcie: Separate coredump work from RX work
  - btmtk: add event filter to filter specific event
  - btrtl: fix RTL8761B/BU broken LE extended scan
  - btusb: Add Realtek RTL8922AE VID/PID 0bda/d922
  - btusb: Add Realtek RTL8922AE VID/PID 0bda/d923
  - btusb: MT7922: Add VID/PID 0e8d/223c
  - btusb: MT7925: Add VID/PID 0e8d/8c38
  - btusb: Add support for TP-Link TL-UB250
  - btusb: Add Mercusys MA530 for Realtek RTL8761BUV
  - btusb: Add TP-Link UB600 for Realtek 8761BUV
  - btusb: Add support for Intel Lizard Peak 2 (0x8087:0x0040)
  - btusb: Add USB ID 2c4e:0128 for Mercusys MA60XNB
  - btusb: MT7925: Add VID/PID 13d3/3609
 -----BEGIN PGP SIGNATURE-----
 
 iQJNBAABCgA3FiEE7E6oRXp8w05ovYr/9JCA4xAyCykFAmoq/Z0ZHGx1aXoudm9u
 LmRlbnR6QGludGVsLmNvbQAKCRD0kIDjEDILKcT7D/95d51+waua8bgXq+NTuu2P
 y/bkdabneNVKzeoBOSZJ4fewMlQRUAckNQxzxszjqNtANpFZTxOxbHn+lznghCaI
 VeSSM/AioQe/rqhhrE/nFj1iEJdidxjV4MR/766FfB+ofUfBaFbHk2O07ObwCBIw
 7OxGUt6vZK6QyOirTztG631Jnx4V+rVunh7ueWXCZyNytTxxlW3olR4iBdVHPYCf
 AgCyd+y++/VOM/8EmjjJJQFV65bNK2k9KZWfEAA+g+SMdoReeJ1k6ibIaFusmOuQ
 pORpj9u3CrD9DxC1lJ6DmBNlYxKLZGlBgqr4FNV1H4+VwnRhE8hbvHoC9dzM3FLE
 rkqWfQ1r0dx2I/v/xB5PnHS+BDa1REH1ozvc/OY2RpaKE8kzq4MHDnUm0VId90wh
 BS42x3AmDBLbvkm4a9Ebw0h6Tr2mnvK0PEs7CZL5yLfDwlZNNz2P/BNSnJIT8uIL
 tAqhlnjX1WoyF8kJGo6GVQE0K85dhj+03Tz4igyrJb1rOF6RT8RX69MjbnIaRdd5
 2AXSOpFWSEBadQMdYpTy4iJgk2yqhbw+8UyAzoctIqpJ5D3iBn1AT44YRThx55nn
 0+dpQcUx31oCQNQYBs8uydmzF8J/Md+hsXT1Mod+fGi4HdJYmg8ij7TrBMPSMUNw
 QkYqiqVlIDBb4Iw5QLcmew==
 =kMwJ
 -----END PGP SIGNATURE-----

Merge tag 'for-net-next-2026-06-11' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next

Luiz Augusto von Dentz says:

====================
bluetooth-next pull request for net-next:

core:
 - hci_sync: Add support for HCI_LE_Set_Host_Feature [v2]
 - SMP: Use AES-CMAC library API
 - sockets: convert to getsockopt_iter
 - Add SPDX id lines to some source files

drivers:
 - btintel_pcie: Support Product level reset
 - btintel_pcie: Add support for smart trigger dump
 - btintel_pcie: Add 50 ms delay before MAC init on BlazarIW
 - btintel_pcie: Separate coredump work from RX work
 - btmtk: add event filter to filter specific event
 - btrtl: fix RTL8761B/BU broken LE extended scan
 - btusb: Add Realtek RTL8922AE VID/PID 0bda/d922
 - btusb: Add Realtek RTL8922AE VID/PID 0bda/d923
 - btusb: MT7922: Add VID/PID 0e8d/223c
 - btusb: MT7925: Add VID/PID 0e8d/8c38
 - btusb: Add support for TP-Link TL-UB250
 - btusb: Add Mercusys MA530 for Realtek RTL8761BUV
 - btusb: Add TP-Link UB600 for Realtek 8761BUV
 - btusb: Add support for Intel Lizard Peak 2 (0x8087:0x0040)
 - btusb: Add USB ID 2c4e:0128 for Mercusys MA60XNB
 - btusb: MT7925: Add VID/PID 13d3/3609

* tag 'for-net-next-2026-06-11' of git://git.kernel.org/pub/scm/linux/kernel/git/bluetooth/bluetooth-next: (49 commits)
  Bluetooth: btintel_pcie: Separate coredump work from RX work
  Bluetooth: btmtksdio: fix infinite loop in btmtksdio_txrx_work()
  Bluetooth: qca: Add BT FW build version to kernel log
  Bluetooth: vhci: validate devcoredump state before side effects
  Bluetooth: L2CAP: validate connectionless PSM length
  Bluetooth: hci: validate codec capability element length
  Bluetooth: L2CAP: Fix UAF in channel timeout by holding conn ref
  Bluetooth: btintel_pcie: Load IOSF debug regs by controller variant
  Bluetooth: btintel_pcie: Add 50 ms delay before MAC init on BlazarIW
  Bluetooth: Add SPDX id lines to some source files
  Bluetooth: btintel_pcie: Add support for smart trigger dump
  Bluetooth: hci_h5: reset hci_uart::priv in the close() method
  Bluetooth: btusb: clean up probe error handling
  Bluetooth: btusb: fix wakeup irq devres lifetime
  Bluetooth: btusb: fix wakeup source leak on probe failure
  Bluetooth: btusb: fix use-after-free on marvell probe failure
  Bluetooth: btusb: fix use-after-free on registration failure
  Bluetooth: btmtk: fix URB leak in alloc_mtk_intr_urb error path
  Bluetooth: hci_core: Fix UAF in hci_unregister_dev()
  Bluetooth: hci_event: fix simultaneous discovery stuck in FINDING
  ...
====================

Link: https://patch.msgid.link/20260611183358.176776-1-luiz.dentz@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-11 17:08:04 -07:00
Jakub Kicinski
dad4d4b92a Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR (net-7.1-rc8).

Conflicts:

drivers/net/ethernet/wangxun/txgbe/txgbe_aml.c
  f67aead16e ("net: txgbe: rework service event handling")
  57d39faed4 ("net: txgbe: improve functions of AML 40G devices")

net/rds/info.c
  512db8267b ("rds: mark snapshot pages dirty in rds_info_getsockopt()")
  6e94eeb2a2 ("rds: convert to getsockopt_iter")

Adjacent changes:

include/net/sock.h
  1ee90b77b7 ("net: guard timestamp cmsgs to real error queue skbs")
  f0de88303d ("net: make is_skb_wmem() available to modules")

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-11 14:33:35 -07:00
Arnd Bergmann
564edaca14 Allwinner device tree changes for 7.2 - Take 2
Some changes for old chips and some for recent ones.
 
 - A83T gained the MIPI CSI-2 receiver
 - overlays enabled for Pine64 boards
 - D1s / T113 and H616 gained the high speed timer
 - T113s watchdog enabled (for reboot)
 - H616 gained proper SRAM regions
 - A523 family gained EL2 virtual timer interrupt and GPADC
 - A523 pinctrl IRQ fix
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE2nN1m/hhnkhOWjtHOJpUIZwPJDAFAmoqvvMQHHdlbnNAa2Vy
 bmVsLm9yZwAKCRA4mlQhnA8kMNRXEADaQdsrBggjfKLOo6H42hdkrAFsuMwAzsFR
 hMVFMlFHYDzaC7Ac+ugCOV2ru2FqQffvOJD/1PlPGQTnQDPNO9m1O7a5G/77b9YM
 bxhr1/sHno0ZSoF71WaclIPjOlRY4EXnqCAuRqkpo1EsLPy/vv9ijFp9O28ml/p+
 lWwFp4oNsH0WOzYOeSYMLt4huA95LIQH0Pba/+Gnm0OHEBYOyV/DUiya1LFJO/11
 rWhOsNvbdcI9aPHS4meR8qG26QCEXTtcLA5q0zYtYFvANb2E0pXHf+d9vJ8g6UOz
 L/KSpmLYGkT0fb7O2FP4azEruYQEPhWptRE+Zc0dGMcyE0uHpdDBq0Al0U3HnyHV
 fa5FcuNVeVmiOnRagX6w5nkcYjM4Zf/DISPj5rJ8hIHFfH3cH+ePLkZfLIdEoWqy
 DYklr63MGl2BEMCYeXaix7zjd8KUlLvREWKpiPBonuS1ZnsEU1ij+uLQpZzPo40H
 GM56ESOHdsMRdyw56iNLZQ0Z0l2ihi89fzETRp3ozJDAdYLeuQN4kAtXgp/9SOHV
 t0aWaS5EclumXv1lJc8W+moMGeLSI5R86XY0jlJjnlVh5vC7JH7C5q+nK3VWuxox
 T372uc1jKzRbUANM+Qd8w2CNt7hJVTHJiGxxzmFBNna48gHoRwiD0+KnTT0fmV5y
 5D35cL27Wg==
 =dm0Z
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmorI6EACgkQmmx57+YA
 GNk1eg/+ILPgWUY/Ld6G5ZJBF5izO4Hh57fblT0+Fy4SfTdXN203CCSFtCT37CqM
 +QuvAeVfu1pbiiqrH9CQ7vLBXx/k9QmKCYya2IAAHs8JVKTWrXFsLOt1FwQwr4KP
 4vpDsBNjsfSlOE1IoI3wX5EbvzYgoiOCRKn23gBtavHWXWCifX7F6Ifh2yUpXK3j
 S6k1FEsszZt9TqxvXAi2Qkk/LSfVnxfXB/umngtipRjQiiJI5CqhMI/cdiMoqbGO
 +OUaWuwbx3z2EzqCwQ167pldn9pkLrB9j8bcXtJSoZwToAhNYJzZcFWpRP7uua49
 zGf3gkVfMv28WiMxdXSetSAKFiiGHGNbgG9JeFcpA1da1C5PTMrGdzoc/tXKNV/P
 KCcbyB5AcPsycyHio3BPE4RX7HEqwOZdoR7Vj6sjgElo7eyoReAXzu1i+WO1s0gr
 UinzZWg2fk3J+D0sk/ttbubG909b5s8O1tHLyXHkiePpYhL02l2qhFmNPaLCzkyU
 MIok+Dq+zNoGE2KPfwcmnBHZt5nzGQAi/P/aPsBKsnsu+1VG876m6BKg/SocrKJU
 AKx5r0nUdTDKTpxAuynZdk3uYNYK2tYv0TfO6WCO7q30itGkDGicfxiIcMLcpcHz
 5IpwvbpY/UP7+1N1iYcKyh0/RezSPo2ZHFjIPCdZbyAyvdLk36w=
 =ya9P
 -----END PGP SIGNATURE-----

Merge tag 'sunxi-dt-for-7.2-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux into soc/dt

Allwinner device tree changes for 7.2 - Take 2

Some changes for old chips and some for recent ones.

- A83T gained the MIPI CSI-2 receiver
- overlays enabled for Pine64 boards
- D1s / T113 and H616 gained the high speed timer
- T113s watchdog enabled (for reboot)
- H616 gained proper SRAM regions
- A523 family gained EL2 virtual timer interrupt and GPADC
- A523 pinctrl IRQ fix

* tag 'sunxi-dt-for-7.2-2' of https://git.kernel.org/pub/scm/linux/kernel/git/sunxi/linux:
  arm64: dts: allwinner: a523: Add missing GPIO interrupt
  arm64: dts: allwinner: a523: add gpadc node
  arm64: dts: allwinner: Add EL2 virtual timer interrupt
  ARM: dts: sun8i: a83t: Add MIPI CSI-2 controller node
  dt-bindings: media: sun6i-a31-isp: Add optional interconnect properties
  dt-bindings: media: sun6i-a31-csi: Add optional interconnect properties
  arm64: dts: allwinner: sun50i-a64: Enable DT overlays
  arm: dts: allwinner: t113s: enable watchdog for reboot
  arm64: dts: allwinner: h616: add hstimer node
  riscv: dts: allwinner: d1s-t113: add hstimer node
  arm64: dts: allwinner: sun50i-h616: Add SRAM nodes

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-11 23:07:44 +02:00
Ethan Nelson-Moore
794b5e7727 bluetooth: remove all PCMCIA drivers
PCMCIA is almost completely obsolete (the last computers supporting it
natively were from ~2009), and the general consensus [1] seems to be
that support for it should be gradually removed from the kernel.

In 2023, an initial step of removing all the PCMCIA char drivers was
taken in commit 9b12f050c7 ("char: pcmcia: remove all the drivers"),
and that has not been reverted, so it seems logical to continue this
process by removing more low-hanging fruit.

These three Bluetooth drivers have had no meaningful changes since
their status was discussed in 2022 [2], and are unlikely to have any
remaining users. The latest functional change to any of them was a
patch to bluecard_cs to fix LED blinking behavior in 2017. The other
two drivers have not had any meaningful changes made since 2007. Remove
them.

Note that even with these drivers removed, it is still possible to use
other PCMCIA Bluetooth cards that present themselves as a standard
serial port via serial_cs and hciattach while the serial_cs driver is
still present.

[1] https://lore.kernel.org/all/c5b39544-a4fb-4796-a046-0b9be9853787@app.fastmail.com/
[2] https://lore.kernel.org/all/Y07d7rMvd5++85BJ@owl.dominikbrodowski.net/

Signed-off-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
2026-06-11 14:24:38 -04:00
Florian Fainelli
009b6c6486 ARM: 9476/1: mm: fix kexec and hibernation with CONFIG_CPU_TTBR0_PAN
Commit 7af5b901e8 ("ARM: 9358/2: Implement PAN for LPAE by TTBR0
page table walks disablement") implemented PAN for LPAE kernels by
setting TTBCR.EPD0 on every kernel entry, disabling TTBR0 page-table
walks while running in kernel mode. The commit correctly updated
cpu_suspend() in arch/arm/kernel/suspend.c, but missed two other code
paths that switch the CPU to the identity mapping before jumping to
low-PA (TTBR0-range) physical addresses:

1. setup_mm_for_reboot() in arch/arm/mm/idmap.c, used by the kexec
   reboot path. With TTBCR.EPD0 still set, the subsequent branch to
   the identity-mapped cpu_v7_reset causes a PrefetchAbort because the
   TTBR0 page-table walk needed to resolve the identity-mapped address
   is disabled. This manifests as a hard hang or "bad PC value" panic
   on LPAE kernels booted on CPUs that strictly enforce EPD0 for
   instruction fetch (e.g. Cortex-A53 in AArch32 mode) while the same
   image may accidentally work on Cortex-A15 due to microarchitectural
   differences in EPD0 enforcement.

2. arch_restore_image() in arch/arm/kernel/hibernate.c, which calls
   cpu_switch_mm(idmap_pgd, &init_mm) directly without going through
   setup_mm_for_reboot(), leaving TTBCR.EPD0 set while the identity
   mapping is active.

Fix both sites by calling uaccess_save_and_enable() before switching
to the identity mapping, mirroring what the original commit did for
cpu_suspend().

Assisted-by: Cursor:claude-sonnet-4.6

Fixes: 7af5b901e8 ("ARM: 9358/2: Implement PAN for LPAE by TTBR0 page table walks disablement")
Cc: Catalin Marinas <catalin.marinas@arm.com>
Cc: Linus Walleij <linus.walleij@linaro.org>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2026-06-11 14:52:03 +01:00
Karl Mehltretter
77a1f6883d ARM: 9475/1: entry: use byte load for KASAN VMAP stack shadow
Commit 44e9a3bb76 ("ARM: 9430/1: entry: Do a dummy read from
VMAP shadow") added a dummy read from the KASAN VMAP stack shadow in
__switch_to(). The read uses ldr, but the KASAN shadow address is
byte-granular and is not guaranteed to be word aligned.

ARMv5 faults unaligned word loads. With CONFIG_KASAN_VMALLOC and
CONFIG_VMAP_STACK enabled, ARM926/VersatilePB crashes in __switch_to()
with an alignment exception before reaching init.

Use ldrb for the dummy shadow access. The code only needs to fault in the
shadow mapping if the stack shadow is missing, so a byte load is sufficient
and matches the granularity of KASAN shadow memory.

Fixes: 44e9a3bb76 ("ARM: 9430/1: entry: Do a dummy read from VMAP shadow")
Cc: stable@vger.kernel.org # v6.13+
Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2026-06-11 14:52:01 +01:00
Karl Mehltretter
d59ed80371 ARM: 9474/1: io: avoid KASAN instrumentation of raw halfword I/O
For CPUs before ARMv6, __raw_readw() and __raw_writew() are implemented
as C volatile halfword accesses so the compiler can generate an access
sequence that is safe for those machines. With KASAN enabled, those C
accesses are instrumented as normal memory accesses.

That is not valid for MMIO. On ARM926/VersatilePB with KASAN enabled,
PL011 probing traps in __asan_store2() while registering the UART, because
the instrumented writew() tries to check KASAN shadow for an MMIO address.

Keep the existing volatile halfword access, but move the ARMv5 definitions
into __no_kasan_or_inline functions so raw MMIO halfword accesses are not
instrumented by KASAN. The ARMv6-and-newer inline assembly path is
unchanged.

Fixes: 421015713b ("ARM: 9017/2: Enable KASan for ARM")
Cc: stable@vger.kernel.org # v5.11+
Signed-off-by: Karl Mehltretter <kmehltretter@gmail.com>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2026-06-11 14:52:00 +01:00
Arnd Bergmann
d5bbc9b3d2 ARM: 9473/1: kprobes: test: add MODULE_DESCRIPTION
All loadable modules must have a description, and since commit
6c6c1fc09d ("modpost: require a MODULE_DESCRIPTION()"), the kernel build
warns about it missing:

   WARNING: modpost: missing MODULE_DESCRIPTION() in arch/arm/probes/kprobes/test-kprobes.o

Add the missing description tags. Noticing that the existing license tag
is unnecessarily hidden in an #ifdef section, remove the #ifdef and
use conventional placing of the initcall and module_exit tags as well
as the license and description.

Tested-by: Randy Dunlap <rdunlap@infradead.org> # build-tested
Reviewed-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2026-06-11 14:51:02 +01:00
Eric Biggers
c9fedb3b23 crypto: exynos-rng - Remove exynos-rng driver
This driver has no purpose.  It doesn't feed into the Linux RNG, nor
does it implement the hwrng interface.  It is accessible only via the
"rng" algorithm type of AF_ALG, which isn't used in practice.  Everyone
uses either the Linux RNG, or rarely /dev/hwrng.

Moreover, this is a PRNG whose only source of entropy is the 160-bit
seed the user passes in.  So this can be used only by a user who already
has a source of cryptographically secure random numbers, such as
/dev/random.  Which they can, and do, just use in the first place.

Just remove this driver.  There's no need to keep useless code around.

Note that the other crypto_rng drivers in drivers/crypto/ are similarly
unused and are being removed too.  This commit just handles exynos-rng.

Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
2026-06-11 14:03:13 +08:00
Ethan Nelson-Moore
d7a1638568
ARM: remove the last few uses of do_bad_IRQ()
The do_bad_IRQ() macro simply calls handle_bad_irq() with a lock around
it. It also carries a comment stating that uses of it should be
replaced. According to commit aec0095653 ("irqchip: gic: Call
handle_bad_irq() directly"), which replaced another use of
do_bad_IRQ(), locking the IRQ descriptor is not necessary for error
reporting. Therefore, replace all uses of do_bad_IRQ() with calls to
handle_bad_irq() and remove do_bad_IRQ().

Signed-off-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Link: https://lore.kernel.org/r/20260610045626.248643-1-enelsonmoore@gmail.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-10 10:38:21 +02:00
Enric Balletbo i Serra
a9ac745bc3
clocksource: move NXP timer selection to drivers/clocksource
The Kconfig logic for selecting the scheduler clocksource on
NXP Vybrid (VF610) uses a `choice` block restricted to 32-bit ARM. This
prevents 64-bit architectures, such as the NXP S32 family, from enabling
the NXP Periodic Interrupt Timer (PIT) driver (CONFIG_NXP_PIT_TIMER).

Relocate the NXP clocksource selection from arch/arm/mach-imx/Kconfig to
drivers/clocksource/Kconfig. This allows the configuration to be shared
across different architectures.

Update the selection to include support for ARCH_S32 and add a "None"
option restricted to ARCH_S32, since Vybrid lacks the ARM Architected
Timer. The Vybrid Global Timer option is restricted to ARCH_MULTI_V7
SOC_VF610 platforms to prevent it from being visible on Cortex-M4 builds,
which lack the ARM Global Timer hardware.

Fixes: bee33f22d7 ("clocksource/drivers/nxp-pit: Add NXP Automotive s32g2 / s32g3 support")
Signed-off-by: Enric Balletbo i Serra <eballetb@redhat.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@kernel.org>
Reviewed-by: Frank Li <Frank.Li@nxp.com>
Link: https://patch.msgid.link/20260514-fix-nxp-timer-v3-1-a3e68fdb505e@redhat.com
2026-06-10 07:26:07 +02:00
Eric Biggers
1967bfaf7b crypto: pcbc - Remove support for PCBC mode
The only user of PCBC mode (Propagating Cipher Block Chaining mode) was
net/rxrpc/rxkad.c, which now uses local code instead.

While PCBC was an interesting cryptographic experiment, it has largely
been relegated to the history books and academic exercises.  It is
non-parallelizable (i.e., very slow) and doesn't actually achieve the
integrity properties it was apparently intended to achieve.

Remove support for it from the crypto API.

Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> # m68k
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Tested-by: Marc Dionne <marc.dionne@auristor.com>
Link: https://patch.msgid.link/20260522050740.84561-6-ebiggers@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-09 17:03:03 -07:00
Eric Biggers
374efbdc85 crypto: fcrypt - Remove support for FCrypt block cipher
Remove the insecure FCrypt block cipher from the crypto API.  Its only
user was net/rxrpc/, but now net/rxrpc/ implements it locally.  The
crypto API implementation is no longer needed.

For some additional context: FCrypt was designed in 1988 and is
essentially a weakened version of DES.  It has the same 56-bit key size
as DES, which is easily brute forced.  Moreover, it's cryptographically
weak and doesn't even provide the intended 56-bit security level.  Its
author considers it to be a mistake, as well
(https://lists.openafs.org/pipermail/openafs-devel/2000-December/005320.html).

But fortunately this 1980s-era homebrew block cipher was never adopted
outside of net/rxrpc/.  So its code can just be kept there.

Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> # m68k
Acked-by: David Howells <dhowells@redhat.com>
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
Tested-by: Marc Dionne <marc.dionne@auristor.com>
Link: https://patch.msgid.link/20260522050740.84561-5-ebiggers@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-09 17:03:03 -07:00
Arnd Bergmann
cb78caa297 Microchip AT91 device tree updates for v7.2
This update includes:
 - I3C controller device tree node for SAMA7D65 SoC
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCaiVgDwAKCRCejrg/N2X7
 /ZrCAP9drPJxqUau9dfEyTsHDm5YR8GNtni5CKOsVJAUn5yhIQEAyXWBtJ9MBoTs
 HBvAATpP2gc3bEA2ehUzxJhwcQ3lMgw=
 =Tw+y
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmooQzwACgkQmmx57+YA
 GNkEuA//XxRbNpAPOttqt1+AkaFWRcFjMdljHE03xA6wMJscFXbOcdNhqVYRETZJ
 NtwqNeXrK7XKKgnhq09PyZK+4TWJz11SlW9TAFgvQWLBcW3DFA3WRtz99//3XCdT
 Kuwrv9m0aOaA2ouMzcvr/9VlKlJg1my4tXrH77RNiq2EtpJ98MH/fI1ThIfEGBQb
 QtCcfMZ+SFPEi/A0FUuEPbKY3+mn2Qx86v6ECxoP4CYStpjIguz85Qay/T7EziRp
 LUo/ULltAnTtVrR0XbGynTx6suWBzPDfIQMulCzz0tn7ih1ItJ4IVwbG59b42s+2
 CyEzH/TG1ccLh/Q3W4b+qUtVSbGkYxQHvGHu6kzs2MZYQSaGDiP++WZN0GTurwDs
 3w67tu+9QNpQ9RQQupPOJ72tHdnjHjNkATw/D3XIh/u6ssWkXSDX0GiEbIQRwXh+
 +LvlAYg9zdEp95Gu3OtnFlG4eOZNlL//NCDoSOSjFabfFwUFn0O1ClZohVUgIJ4v
 /lDXx3DZ7uixrxVH9RWPcLgPEZBFHC2hU7moqv+BH6spkVIU038aohsIgFPm437Q
 JwgbDUQuMgH1qZlrWFKv6417P3vzo7uwUx8kFQFIV1YIzzQavcljFoSPwljzq0l6
 vS7ZBI5Ets1AWFXWawfEvMRSdfH3IKBx7xtwC6wjfDAt/GOq2p4=
 =yYhi
 -----END PGP SIGNATURE-----

Merge tag 'at91-dt-7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/dt

Microchip AT91 device tree updates for v7.2

This update includes:
- I3C controller device tree node for SAMA7D65 SoC

* tag 'at91-dt-7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: microchip: add I3C controller

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 18:45:33 +02:00
Arnd Bergmann
2ab5179ebb ARM: dts: OMAP updates for v7.2
Minor DTS fixes & updates
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAmom3ToACgkQWTcYmtP7
 xmWZXQ/+M6ckBiWT69LZeOwPi4vdW1YfecmRS8IrtDfU9VQyKflpOHFyqQlIM7Qh
 RH5a+3ScYhBTuMVHlrGQBmQqLvPiV6/MffaWjjqB9PPRrHQgUDuI93/uxxRbNhPh
 +Jw/kzPxg1j8hV1UnPouN3/yrrPLIdCOtxDFLejavsek/OAhYAGltInR22rgQEp0
 JT8H6I6CQs7M/mOu0RrZs6QpYWQTOVlEgyPadZGCEs6OQxweMQ6pQEA54AOmGJhg
 nqQPtKPT2LdNnGK8sgIZI0MX7UMJx0CQsThFOFSRQ3lCPB384so5JpD0vmFB1kBw
 PElG7O0bvtZoLMPet0xfYXJmdluwnZpr3MWhr+2SN8HqhyuSwljF58QmiwG9JW6s
 IRGTaFSqgTIyO+Qli3srae+zhZDTzOGuuQsKXEHTuUsjZ50NeCF9VkZ/8Uv9mg8w
 nOpfWEUCuc5ZhakGsMsTSDlfaWf9K71dksbmcFZ22rYHLKCPkZbkXA7S92v7lZJ2
 7H9QYLnwDTUWVH794PZCoLMM/Ml9Uk68nHA0nUq/vA6xrnt9Z1xU4A5RsvrLl5vX
 2Sk1monGG0AQwGPgXXjopxtl8Im8yTtMd69OvZoDz1ndiYAULuH9HX/HbL0M7Mqt
 q5lnW38RMar7f7uwPqtb09cQTZuIuDYH6BPplt7v0gMSk4+V79s=
 =3oNk
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIyBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmooQrwACgkQmmx57+YA
 GNls6Q/2OuuwoOyOY6rmf+2epQbH4NBLRH3MP+ZmtIVRTOYPWGnyXudWvL3E8IH1
 kAc5rKdMJGyO4SIHBhQ6g4GZ6dv176QhWFVbkod/QFlEYaKvJh+siJHpYIUhp61D
 yO9MHcwYgJ171rq+z7dGgbbR9JfA6WyW3K6nMxcfbuxkq9l66VloqSKC/s2Ma3ne
 kEnqemVPQl/3QiMEKdo8fUw1ztHwAXcNmhNc79N9U01LsA7TVVh5LJZtVgupVzsI
 wBwBtmGgBekOkpd4kCUsHkjg2jocJ6s8USCWzYV2W74OUB4Fv2TjY09dFj/7Mc9o
 JxtwbXgOOfnGYldS6gzfpqGuVuh9Me5wfqUItoXLE4rE+p7YOxYI1pr708ujgoTb
 0Q0pO3Fwwy21hSJ3TEFOa8b58hpbgH2+axow4nqtPc6KwDebjNh4F+gAaph0dyiT
 IAG4mearoyK6viBn0a3vsEmRMYC7xq4tPj9WUnQlYZ95qWkxyZiYp2a959rK6ac9
 meRLOYXgGfZ2rIkMS96/69RSvMUZnusCLDAaT5MFXCPlfDs74Nl7f1UzpRfPzZom
 CjHPGHzSVRKr6WEx+OXCfW6np0IiDvnEfBWqjcs8/l/b8l7C1t/WM4wBbDuJD7Gy
 M94xxdOuBzWUGFvo5BAtMEG5g6fzMwQbvg62a2zpncr13J2Jhw==
 =hhYD
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v7.2/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap into soc/dt

ARM: dts: OMAP updates for v7.2

Minor DTS fixes & updates

* tag 'omap-for-v7.2/dt-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap:
  ARM: dts: dm8168-evm: Set stdout-path to uart3
  arch: arm: dts: cpcap-mapphone: Add audio-codec jack detection interrupts
  arch: arm: dts: cpcap-mapphone: Set VAUDIO regulator always-on
  ARM: dts: ti/omap: omap4-epson-embt2ws: fix typo in iio device property
  ARM: dts: am335x-sl50: Fix audio bitclock and frame master endpoint

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 18:43:38 +02:00
Arnd Bergmann
c28364c983 mvebu arm for 7.2 (part 1)
Orion5x: Replace machine_is_mss2() with of_machine_is_compatible() in mss2_pci_init()
 
 mvebu_v5_defconfig: Remove stale MACH_LINKSTATION_LSCHL reference
 
 Armada 370: Simplify of_node_put calls and drop redundant NULL checks
 -----BEGIN PGP SIGNATURE-----
 
 iF0EABECAB0WIQQYqXDMF3cvSLY+g9cLBhiOFHI71QUCaiLmsAAKCRALBhiOFHI7
 1fXSAJ9kRSFFxS68seryKZGayVrYRb8bOgCcClhthtf8/ioP+QVmhOftbYS7iqc=
 =SAaL
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmooQmEACgkQmmx57+YA
 GNlgkQ//RIr7gcHmqGRQGyPrytgbe2iyf+ttOJFsrpiqAtIiH8Ge1+gS0wSkedPC
 5KqLPJ8sxOYKyTBnvGMSWFY+/ymPlnsLzn/b6FWE9FJFWdM5hPTbihpYgK2nSbfl
 74vlMeirTJj8x8PuRRfIqoLiLderCDLfEHbOgACcVci2s6Muzj+CM/62hJnEyR+8
 o4Do4OnI/m0n0sW1lv6r1rNcjOkuTWdRmHrDjWbLG4f1IMmcfGQkfPVkV7j4U57Z
 a/0EQ/8L5i98K7H5Wq7jeMTxvyEFMiPDdBfxUgILE92JHlKxlEMDRmKCpTbNF0pm
 XE0071BucOhdcL6JD2z1ztlbQ54kIq56U3GtgQe32Xe0pqUpo8mtL1TkAGhUHFga
 DEj2EmENUo6pQ23JEMxMUyh0UsFzHiqds1jKrU6oSDwf/fD7nUzPIffXInT6abSu
 xAiNQsvjSuqebR3Vkd+qepehoQX7PPzxakjDcI/iP7ARJfNr2BXLKF/2QzzZvwjO
 /X8UOvdC7bXVo6hPnd37IZAjGs6kAYaNUVBIWoJBoFwuYGituo43uUVI2HmZuk2m
 LFFhdzkT6Yc90d/L4x/88sn3rHuG5JrwW4/7q0tYuKjmNY9P8f/LRLNgl+NBWwHX
 +fwIjJFz3ZGxnIf3D/StjCRAnIdakGXMOx/fGqS3IFf5qzDu2gs=
 =SmVu
 -----END PGP SIGNATURE-----

Merge tag 'mvebu-arm-7.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu into soc/arm

mvebu arm for 7.2 (part 1)

Orion5x: Replace machine_is_mss2() with of_machine_is_compatible() in mss2_pci_init()

mvebu_v5_defconfig: Remove stale MACH_LINKSTATION_LSCHL reference

Armada 370: Simplify of_node_put calls and drop redundant NULL checks

* tag 'mvebu-arm-7.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu:
  ARM: orion5x: update board check in mss2_pci_init() to use the DT
  arm: mvebu_v5_defconfig: remove stale MACH_LINKSTATION_LSCHL reference
  ARM: mvebu: simplify of_node_put calls
  ARM: mvebu: drop unnecessary NULL check

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 18:42:07 +02:00
Arnd Bergmann
1c00051aa2 i.MX ARM device tree changes for 7.2:
DT Binding Cleanup:
 - Replaced undocumented compatible strings with proper ones:
   * edt,edt-ft5x06 -> edt,edt-ft5206
   * marvell,88E1510 -> ethernet-phy-ieee802.3-c22
   * karo,imx6qdl-tx6-sgtl5000 -> simple-audio-card
 - Fixed incorrect VAR-SOM-MX6UL references (corrected to VAR-SOM-MX6)
 - Added missing required properties:
   * #phy-cells for usb-nop-xceiv
   * #io-channel-cells to ADC nodes
   * bus-type for ov5642/ov5640 cameras
   * ti,deskew = <0> for ti,tfp410
 - Added missing supply properties (power-supply, vdd-supply, dvdd-supply, avdd-supply)
 - Removed redundant/empty properties (bus-width for video-mux, empty clock-names)
 - Fixed boolean property warnings and non-existent property references
 - Converted TS-4800 watchdog to DT schema
 - Renamed wdt nodes to watchdog for consistency
 
 New Features Added:
 - PCIe Root Port nodes and PERST property for imx6qdl, imx6sx, and imx7d
 - OV5645 camera support for imx7d-pico-pi
 - LVDS display panel support for imx6ul-var-som
 - WiFi and Bluetooth support for VAR-SOM boards
 - nvmem-layout support for imx7
 - New bus bindings: fsl,aipi-bus and fsl,emi-bus
 - New board binding: variscite,var-som-imx6ull
 
 Code Refactoring:
 - VAR-SOM-MX6UL/ULL: factored out common parts for CPU variants
 - Separated audio, ethernet (ENET1/ENET2), and SD card support into reusable components
 -----BEGIN PGP SIGNATURE-----
 
 iQHFBAABCgAvFiEEJS45w2QNr0ezLVaoNF3oRQ23YkwFAmohrsYRHGZyYW5rLmxp
 QG54cC5jb20ACgkQNF3oRQ23YkzBuwv/WKlLxwHxUxt8Uc5QbZUb7QPBnaxTy+8U
 MaqSFG167KqiApMpWtkp+GDEoEHL59mUR673j8R6m679GMc1OqcZy2WxbzPP8LwM
 DegTZd7d0kssckxCy5QH83NtJVww0bocys4KdFjIB6BBLESWOA4SgxZOv2cUCdwW
 lLvlJyhI2c/VpbT1t8NP4EH7zHtExoB8ls8aTfHUTE2oFIGF5Y+qodn4xiyZ3fV0
 V7kRDZbq4gXw+mhy6D0eeQ7oc4E612ql7lJbI3uZELRzuT5NH1usYTEl2E4oiie3
 3/7QlXp4iSyhHvFUqVUssMAIxpTqmfErplbzrh+EBi/8qEr8SDXfrNJyGjaaN520
 /1Sj0b0qkIouqEeYliv/5Jk0MpnhUzWuKXFYer8PqP3drRITZUWZnDXSYp/uQAL7
 IjOi6xuTcU2XHCtd1Y9e1+V32P3mFrv9sc/CT3rkJjccxmbkdXUcL/QQoKucrnI1
 PRbL83kqSu2ipc8kv4epokHOJRltE4Pq
 =lNRO
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmooOJMACgkQmmx57+YA
 GNnX/RAAoZrjV4u2RLy1aBssCy1SoTonJin+mvBwMdCIDWq0gI2lTEuOOSwQ1o7h
 t+mgvXlixmH8f8pcLqxpx671L3Ul0DBCkBBQba9RdnoHc8xmSxGQdWwUcCFPqshN
 85Ly2QoUr7r2g4/Cb1krRTzLql3BZ7LgBXIQZjHDhp8FrRejEyTX9YE8t5tDQ9R9
 oZQexd9GP036LMm01Df17iU18os+a98J6kaPB/pt5P/tX/rAR5xPBrRIkc9y+6Nr
 EAAwNpQw8SJQj/MaVB2MNAX5pBSW7wOvNp6leAvujyqmxhP3DLbWhHLaZK84A09j
 mUuY1auouLeuCcdJpXsw3AObffxUyeubSwoMJBoWNYjlLQQwQ8zAI9b7j7rK84L3
 ESJnGHvOthK18SHGEsk+cPnrc+nr1nE73lgkzu/zCKPwW1kJgyt5eUTR4DKrKh0M
 7QTxtn0XnQrQWPchKopAAjZs6tIM9JcqOOMmXl+kxuRNK+qL3ix6UNLfQqnEELI2
 eiGefnEh22qPkTGXFv2LMcBPZxyaaYG5nnKLk5Ul0evuHg70Qr6NfjUfOmP39G68
 aNSPQO0YSdkG8neOIqukDpmN2b26qUZz8OH/YpU1mzaKK2SFzcZnMdPkXh45q5ob
 nfFvRspn39d6B3KiXDgUXMYzPAxGej2nJBN2i+nmdfsd1Tx8Ejo=
 =FNvR
 -----END PGP SIGNATURE-----

Merge tag 'imx-dt-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/frank.li/linux into soc/dt

i.MX ARM device tree changes for 7.2:

DT Binding Cleanup:
- Replaced undocumented compatible strings with proper ones:
  * edt,edt-ft5x06 -> edt,edt-ft5206
  * marvell,88E1510 -> ethernet-phy-ieee802.3-c22
  * karo,imx6qdl-tx6-sgtl5000 -> simple-audio-card
- Fixed incorrect VAR-SOM-MX6UL references (corrected to VAR-SOM-MX6)
- Added missing required properties:
  * #phy-cells for usb-nop-xceiv
  * #io-channel-cells to ADC nodes
  * bus-type for ov5642/ov5640 cameras
  * ti,deskew = <0> for ti,tfp410
- Added missing supply properties (power-supply, vdd-supply, dvdd-supply, avdd-supply)
- Removed redundant/empty properties (bus-width for video-mux, empty clock-names)
- Fixed boolean property warnings and non-existent property references
- Converted TS-4800 watchdog to DT schema
- Renamed wdt nodes to watchdog for consistency

New Features Added:
- PCIe Root Port nodes and PERST property for imx6qdl, imx6sx, and imx7d
- OV5645 camera support for imx7d-pico-pi
- LVDS display panel support for imx6ul-var-som
- WiFi and Bluetooth support for VAR-SOM boards
- nvmem-layout support for imx7
- New bus bindings: fsl,aipi-bus and fsl,emi-bus
- New board binding: variscite,var-som-imx6ull

Code Refactoring:
- VAR-SOM-MX6UL/ULL: factored out common parts for CPU variants
- Separated audio, ethernet (ENET1/ENET2), and SD card support into reusable components

* tag 'imx-dt-7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/frank.li/linux: (35 commits)
  dt-bindings: soc: imx: Add fsl,aipi-bus and fsl,emi-bus
  ARM: dts: freescale: add bootph-all to i.MX7ULP watchdog nodes
  ARM: dts: imx7: add nvmem-layout
  ARM: dts: imx7d-pico-pi: add OV5645 camera support
  ARM: dts: imx6-display5: replace marvell,88E1510 with ethernet-phy-ieee802.3-c22
  ARM: dts: imx: replace undocumented compatible string edt,edt-ft5x06 with edt,edt-ft5206
  ARM: dts: imx6qdl-tx6: remove undocumented karo,imx6qdl-tx6-sgtl5000 and keep only simple-audio-card
  ARM: dts: imx: Add bus-type for ov5642/ov5640
  ARM: dts: imx: remove redundant bus-width for video-mux
  ARM: dts: imx: add (power|vdd)-supply for related node
  ARM: dts: imx53-ppd: add '#phy-cells' for usb-nop-xceiv
  ARM: dts: imx53-qsb: add dvdd and avdd supply for panel sii,43wvf1g
  ARM: dts: imx: add ti,deskew = <0> for ti,tfp410
  ARM: dts: imx7d: Add Root Port node and PERST property
  ARM: dts: imx6sx: Add Root Port node and PERST property
  ARM: dts: imx6qdl: Add Root Port node and PERST property
  ARM: dts: nxp: imx51-ts4800: Rename wdt node to watchdog
  dt-bindings: watchdog: Convert TS-4800 to DT schema
  ARM: dts: imx6ul: add #io-channel-cells to ADC
  ARM: dts: imx25: remove empty clock-names for nand-controller@bb000000
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 18:00:17 +02:00
Arnd Bergmann
c52ef0229b This pull request contains Broadcom ARM-based SoCs Device Tree changes
for 7.2, please pull the following:
 
 - Rosen moves the Meraki MX6X pinctrl configuration to the PWM node
   where it belongs, also fixes the USB3 GPIO for the R6300v2 and
   EA6500v2 routers
 
 - Jinseok fixes a gpio label for the bcm2711 systems (Raspberry Pi 4)
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEm+Rq3+YGJdiR9yuFh9CWnEQHBwQFAmod6zkACgkQh9CWnEQH
 BwT8rA//fyt24BziBBI0p36ZyQtM09aALU1o0lw7/SvA1dNXLwVyZpGkYLuvQEhU
 9cMPnvgk2zzcGkC0kEAb+URgZJm/jSC6q1XktV/Ah+mXFbydFzB6mZpnl36zJYSS
 77ZHSNzXmGbFjJ1A9Z7PTj91P6OnrwS2qzTb4zfC+t+u/AU5fud7sId7KzPgiUHM
 pJFYhlPRdwpg1CwxRkXP1VK318bvDYD4BIs42nYZd1HE8Yzl/5DTePrteUAHRk57
 oJkuKn3ZYi7pgboIUKypqO6VyHh5LD3qoZN8SbkWA9gZ/A61mkpR2dceg7zCTNFu
 CtFyxicfsNacOOkYkN4B+9OebE7KsNOgjuO6bDDZdb92PeoVDzMUr8DNkKlnuCE9
 TmerTX06WLjEti/aKW4XmLhDKtGNSbbtdWNVMAPrJbLn5ctEdxDH5ILaHlvcrq8f
 Ya4JNZLDhG+JJqZSX65S9aYcinUb7BmUpoli5YbczG1yQbte6qHeHOjIuHGncDHc
 B030XEYD4SMAyPpJqKJze20QEK9lKaSgSPixZq5Pb9ZZuUBDc8zPUEV3+7hailpU
 Zm0jdffpTRP3bpIymefPuy2N6V3YxfZKRetW32JrLzcecCEr6KlqvVztFlUjjM7s
 nITgB/qfTkmVz8TsjYyLf2f7E60OJGai16gBSB/qzOUp9qJTatQ=
 =+Xv1
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmooN54ACgkQmmx57+YA
 GNlY7xAAnykFhBvTpvWvm+QnNIEz7FnTOZ5tJxHkzU3ra2BA5XENn2i9hr9bTaC3
 pcvV9Uj7ciidA5W0vsr2+Mx6MDqRrbCNUMNYJmzQoSsJThCYCk3bEeYtwVJWgp2E
 iNt2SBdTtmRpmD/0OK/3u6y37NJTmoaBy2E/MpCl+5aWJnoUZso1I9BVE1CIXD5I
 Ztdf+OKYIG00eFl7l1qf0wxu7AhagW8tEUO2sy3mb++pga6nlsk4tyGOFF9zIhcr
 6di/ifDDkjQCTO4YHcnmi1k7sAImD+46bSRd3gbgXCtaUYuPmDzwYzk1Z5fXHcJ3
 f3FtWfzjKXCpV+FLrCoSNEiku0EO7wOnx9qfHs8ObUTIUCqFNrTGZ5NQvh+CKsct
 3BCYccx73lTStTqk1fbtshDdzQG495xylTBc3T8Tjt2yM2SzWtMIkRb5lfL/1dh6
 3NisDK3tSppnSKbnnLIsG0l1IdRm8Wwd8oR7TJjv3J37fxw1HeEBEWYSv2jVzNJl
 vLaontWV6b0Umn/737nb7nMXXYOf53zes7Qa57GP7jSuJ6JIOR0BC+orEc75LNxJ
 5n8ZTQa5TcgEq30cfWzUhjphKoU/URafsT92m/t9msMG7MPpfBpR3M2W692mP93i
 1dQ83VF+LotOLIpqcixLIAJyQbaYr2A0wXGk51n521CFnnscNM4=
 =iAvC
 -----END PGP SIGNATURE-----

Merge tag 'arm-soc/for-7.2/devicetree' of https://github.com/Broadcom/stblinux into soc/dt

This pull request contains Broadcom ARM-based SoCs Device Tree changes
for 7.2, please pull the following:

- Rosen moves the Meraki MX6X pinctrl configuration to the PWM node
  where it belongs, also fixes the USB3 GPIO for the R6300v2 and
  EA6500v2 routers

- Jinseok fixes a gpio label for the bcm2711 systems (Raspberry Pi 4)

* tag 'arm-soc/for-7.2/devicetree' of https://github.com/Broadcom/stblinux:
  arm: dts: bcm2711: Fix typo in gpio-line-names
  ARM: dts: BCM5301X: EA6500v2: fix USB3
  ARM: dts: BCM5301X: R6300v2: fix USB3
  ARM: dts: NSP: Move MX6X pinctrl config to PWM node

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 17:56:05 +02:00
Helge Deller
470ea955a1 fbdev/arm: Export acorndata_8x8 font symbol for bootloader
The text display code used in the Risc PC kernel image decompression
code uses arch/arm/boot/compressed/font.c, which includes
lib/fonts/font_acorn_8x8.c, which further includes <linux/font.h>.

Since commit 97df896024 ("lib/fonts: Provide helpers for calculating
glyph pitch and size") <linux/font.h> contains inline functions that
require __do_div64, which is not linked into the ARM kernel
decompressor. This makes Risc PC zImages fail to build.

Resolve this issue by defining the BOOTLOADER symbol and use it to avoid
a static declaration of the acorndata_8x8 symbol. That way it can be
referenced by the arm bootloader, and other static math functions and
symbols (like __do_div64) stay static and don't get unneccesary included
in the ARM kernel bootloader decompressor object file.

Fixes: 97df896024 ("lib/fonts: Provide helpers for calculating glyph pitch and size")
Reported-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de>
Cc: linux-arm-kernel@lists.infradead.org
Cc: Russell King <linux@armlinux.org.uk>
Signed-off-by: Helge Deller <deller@gmx.de>
2026-06-09 16:00:11 +02:00
Paul Kocialkowski
9e8019bd2f ARM: dts: sun8i: a83t: Add MIPI CSI-2 controller node
MIPI CSI-2 is supported on the A83T with a dedicated controller that
covers both the protocol and D-PHY. It is connected to the only CSI
receiver with a fwnode graph link. Note that the CSI receiver supports
both this MIPI CSI-2 source and a parallel source.

An empty port with a label for the MIPI CSI-2 sensor input is also
defined for convenience.

Signed-off-by: Paul Kocialkowski <paul.kocialkowski@bootlin.com>
Reviewed-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://patch.msgid.link/20260518153339.619947-8-paulk@sys-base.io
Signed-off-by: Chen-Yu Tsai <wens@kernel.org>
2026-06-09 21:31:38 +08:00
Krzysztof Kozlowski
08fec5b1d3 aspeed: First batch of ARM devicetree changes for v7.2
New platforms:
 
 - Rainiera6 (Meta)
 - SanMiguel (Meta)
 
 Updated platforms:
 
 - Anacapa: SGPIO line names and interrupt configuration
 - Clemente: Remove TMP421 nodes
 - Kommando: Enable networking via MAC2/MDIO2
 - SanMiguel: Line names and interrupt configuration
 
 AST2600 SoC updates:
 
 - Describe PWM/Tach
 - Describe I3C controllers
 - Reorganise I2C nodes
 
 Other notes:
 
 91b9aed738 ("ARM: dts: aspeed-g6: Add nodes for i3c controllers") currently
 causes a new warning:
 
   ... /ahb/apb/bus@1e7a0000/syscon@0: failed to match any schema with compatible: ['aspeed,ast2600-i3c-global', 'syscon']
 
 The patch necessary to address it has an R-b tag from Kryzsztof[2] but as best
 I can tell is yet to be applied to the MFD tree. I've left the change in for now
 as the warning will resolve once the binding patch is applied.
 
 Lastly, as part of improving support for the Kommando card Anirudh has also
 addressed[1] the persistent pain we've had with the phy-mode property for the
 AST2600 MACs. Thanks to Andrew Lunn for being on the case for a while now, and
 for those who tested Anirudh's patch.
 
 [1]: https://lore.kernel.org/all/20260525-asus-kommando-v3-0-e6a0ca1b4a3e@gmail.com/
 [2]: https://lore.kernel.org/all/20260425-poised-accomplished-hyena-d2c1a0@quoll/
 -----BEGIN PGP SIGNATURE-----
 
 iJIEABYKADoWIQSoUT1x3bOSX/nAa8ajM9GZTrjhpgUCah+R1RwcYW5kcmV3QGNv
 ZGVjb25zdHJ1Y3QuY29tLmF1AAoJEKMz0ZlOuOGmREgA/jRNiutECMQIXr4y3K33
 +c4oHhcUvdGb+xgGCsI6aQ/zAQCrmJet9FHLCcNOnklh1Ob+jpl4U+nMow1lzUn/
 2COBCA==
 =eDXl
 -----END PGP SIGNATURE-----

Merge tag 'aspeed-7.2-devicetree-0' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/bmc/linux into soc/dt

aspeed: First batch of ARM devicetree changes for v7.2

New platforms:

- Rainiera6 (Meta)
- SanMiguel (Meta)

Updated platforms:

- Anacapa: SGPIO line names and interrupt configuration
- Clemente: Remove TMP421 nodes
- Kommando: Enable networking via MAC2/MDIO2
- SanMiguel: Line names and interrupt configuration

AST2600 SoC updates:

- Describe PWM/Tach
- Describe I3C controllers
- Reorganise I2C nodes

Other notes:

91b9aed738 ("ARM: dts: aspeed-g6: Add nodes for i3c controllers") currently
causes a new warning:

  ... /ahb/apb/bus@1e7a0000/syscon@0: failed to match any schema with compatible: ['aspeed,ast2600-i3c-global', 'syscon']

The patch necessary to address it has an R-b tag from Kryzsztof[2] but as best
I can tell is yet to be applied to the MFD tree. I've left the change in for now
as the warning will resolve once the binding patch is applied.

Lastly, as part of improving support for the Kommando card Anirudh has also
addressed[1] the persistent pain we've had with the phy-mode property for the
AST2600 MACs. Thanks to Andrew Lunn for being on the case for a while now, and
for those who tested Anirudh's patch.

[1]: https://lore.kernel.org/all/20260525-asus-kommando-v3-0-e6a0ca1b4a3e@gmail.com/
[2]: https://lore.kernel.org/all/20260425-poised-accomplished-hyena-d2c1a0@quoll/

* tag 'aspeed-7.2-devicetree-0' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/bmc/linux:
  ARM: dts: aspeed: sanmiguel: Fix the CPU_CHIPTHROT linename
  ARM: dts: aspeed: sanmiguel: Add IOEXP interrupt pin settings
  ARM: dts: aspeed: clemente: Remove IOB NIC TMP421 nodes
  ARM: dts: aspeed: Enable networking for Asus Kommando IPMI Card
  ARM: dts: aspeed: rainiera6: Add Meta Rainiera6 BMC
  dt-bindings: arm: aspeed: Add Meta Rainiera6 board
  ARM: dts: aspeed: anacapa: Correct SGPIO names for monitoring
  ARM: dts: aspeed: Add Meta SanMiguel BMC
  dt-bindings: arm: aspeed: add Meta SanMiguel BMC
  ARM: dts: aspeed: g6: Add PWM/Tach controller node
  ARM: dts: aspeed: yosemite5: Add MP5998 power monitor
  ARM: dts: aspeed: anacapa: Add interrupt properties for PDB PCA9555
  ARM: dts: aspeed: msx4: enable BMC networking via MAC0
  ARM: dts: aspeed: anacapa: Add JTAG CPLD TRST pin to SGPIO map
  ARM: dts: aspeed-g6: Add nodes for i3c controllers
  ARM: dts: aspeed-g6: move i2c controllers directly into apb node

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-06-09 14:17:51 +02:00
Arnd Bergmann
e9282defad ARM: soc: updates for v7.2
Minor update for omap_device core code.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEe4dGDhaSf6n1v/EMWTcYmtP7xmUFAmom3ToACgkQWTcYmtP7
 xmW/9xAAmyL8ao7ODL7GxLl2ft5fkyqziiYvH12b/qVuPOiegQ3f3NqgI7GHCIUJ
 lrUdeRwv7NHD0brB2EAHZRwNhfx2tZhmtq5OCru6+IgJlUrtkDJXr/t/26H90EvW
 6iOCBR0aN9X0lRjW6f4DDiVWfDufYZgQFmMgsSskgl7q+0bdQ6G8pmwCBygFbRJp
 L+QqifolihspsghYvPTT7B02QCnjTFcutFY5KPcClh1Aac1SJQGQJrMsfPzWz5os
 dUuVtduGlLJB5KQnSQ5a4Wd9fT+9mSwYjV/v7iMJSqF565O9SQ61ek2FyUDYWtsU
 fpNxzhQZTCmD78jUM270C/VMwPGnVMFYOCqkwH5M50OMcpw3aCdf7eUL4Pt7fIMv
 e8BzJt2BryJdtx4EwjiNTN7OLq+OW/ZFqBoO7oq4nlxL9EUic+5oWgA9VJHbk2v1
 o0rFMmHTcJdul12Eb3/rA1+LzFpE2cUGdkvH8cpsT1JMUEmDPiBDmE6iVyTgfShz
 FrQ+KWMCs/niAa4G4ff1OiktEzpXVZd+1t/KVpkHh1wJm4TrMymlkIbYSLwvpnu+
 PrUFNWyqNtErFLIlonC+/mqLNWHoRIL3Rd6cHbAQbRE3pKs51Lh+hq5Jjh9TkCF9
 DoxfcVLYxJ6XP3FVsfhv7xDnjS9o9g5H7M6IqLwddcdtmPsxzVo=
 =7DRL
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmon+qEACgkQmmx57+YA
 GNk5lw/+L5GrJLTwOZhH3Cw/l0VhIIptgem+EQ9Jg7aewLHNgepLR73jSqbUS0px
 nmzqhPhZGaTbAS+79UWe8r7wrFwCmeKFW1SmrVos2PCYk9mH1V0f3fDH8rhTCDU8
 2UjqSztwy4HYougURwb2JddOwXLdIui4WGBudnWNvp/Zf6fsgMgGv3Fiy7Csd8g+
 jfWnZOTZNeRD90Ii8qc6n2o0vMUF5gxNUVtDqlbyIUTRtGskLoX/NifGpRTgoHBT
 bjJBmjoQrWCbEUtzEGz/8NTgKqlHqvKdFGz1Kn1rvNZ+Yd5D+apwgPBjjO58rOBh
 1jiZJHF/w6teBNCCoaOIFYQqLswt40rm/8LfdCZB0agQrh2ySF0EVJB298KusXo+
 jQCj1kEBCiNSh7rjZ28H/VcWvfwCM4zTRSgnT7Tl9QvO7IU8ykARE76PK7UXCbcI
 kaY/HgikuW5SkdrTB+X2MTvrbtgLiGRiapzwemae+7ZXm3R1MAiidUVqSUD9EtTO
 gBzmxHk2IbyqDLPFE227p5DBfzbrcMYupXT14GGjbtTVGnzOu6fIgIZqt2Ks6LxK
 bBC14hZtEWeWmNyL+9mfEbop1qrpTsfw5hspHfBITFYvH2XwaxSOwE9unTjsAyM1
 wKtyV7u01cC+9vuKmvIxhkH5YO2y/1B491bcs028ktJ4KQzSa5Y=
 =Vqea
 -----END PGP SIGNATURE-----

Merge tag 'omap-for-v7.2/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap into soc/arm

ARM: soc: updates for v7.2

Minor update for omap_device core code.

* tag 'omap-for-v7.2/soc-signed' of git://git.kernel.org/pub/scm/linux/kernel/git/khilman/linux-omap:
  ARM: omap2: simplify allocation for omap_device

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 13:35:58 +02:00
Arnd Bergmann
5087338ea4 Microchip AT91 defconfig updates for v7.2
This update includes:
 - I3C flags for the SAMA7 family of SoCs
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCaifCAAAKCRCejrg/N2X7
 /Z9+AP4jb/pJAw/ugM1claAU2kWpip+1k5CHUYGXtpl1yEa9LQEAogpbrBZjjM0Y
 NytsKYBAnZzs/0idR+EqEpXoEIc8Cgw=
 =TCNX
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmon+ecACgkQmmx57+YA
 GNmkrw//eUogiUud0IifoiW5Ev+GECHQZF9QfnpwseKWhS52dbovbkfoW6rUWg3z
 EAGWUO3ZUPh733ZmnSc3fSo3oKbHSwd1Tc0XA8avztM2JsVqo85xu1FH11FHNUq+
 FCJk8SmFyouewK6hyOLITrP84uuvMUY8S+aPO6kcFBcrRuwU+MxZ+kwd/EzbJUF/
 hhHVwbpbWtZHA+lDc6GCXTunz2xHkK3+Wcicm2spQQbEPkLLfis9mVYYfQioPYQd
 La5fNO3BSyBYJfqDu+L0YzYxNo5FPsgezQzbNS+Qg4jJZQEXEyHee4Orkt7k8m3x
 zY63bdMvs7eIj5XwRNZNVo0Cc+JvXc7LvvtRylN3plvNdOWvhcckgJhPDMr3uc79
 OCWsm7a7ph5OB0tK5UL2kGZZfL0EZfbfjIeeOPxWGLHHLviB+HeyoC/YOW2i0cZF
 hzNDvdRVGLadBazEUbMDHPZiVEy0dSVIelUAF+5XPKT/1j8Zibn4ll+/MZq60B/W
 NtVSCeUBUXPTRqWosX/8qmx9R960x02LBxbktB23UvEtvLN/Em4S9YGqdieDsN0H
 ApJ27utDK1bkGThZu6mAw/ab/eWBg/DJupShI3XKIiPbcJ1e+Hl2B6D84f+Pj5lE
 p190yNu+SoRP5xOqb7wgFCt8l3O6+c+VePgBgHefa7f/X4YmY8c=
 =IFRh
 -----END PGP SIGNATURE-----

Merge tag 'at91-defconfig-7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into soc/defconfig

Microchip AT91 defconfig updates for v7.2

This update includes:
- I3C flags for the SAMA7 family of SoCs

* tag 'at91-defconfig-7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: configs: at91: sama7: add sama7d65 i3c-hci

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 13:32:53 +02:00
Krzysztof Kozlowski
9179b2ba07 MediaTek ARM32 DeviceTree updates
This adds support for the ARMv7 Timer node in the MT6589 SoC
 and performs a couple of dtbs_check fixes in MT7623 and in
 MT8135 devicetrees.
 -----BEGIN PGP SIGNATURE-----
 
 iLoEABYKAGIWIQQn3Xxr56ypAcSHzXSaNgTPrZeEeAUCahVw0xsUgAAAAAAEAA5t
 YW51MiwyLjUrMS4xMiwyLDIoHGFuZ2Vsb2dpb2FjY2hpbm8uZGVscmVnbm9AY29s
 bGFib3JhLmNvbQAKCRCaNgTPrZeEeOfgAQDkoxPtOpgCxE15pQJBSQO1wyYAREDX
 k2uMGtcFptK8jAD/awEIME5N3++HtSN+IEFsJwkj7vcdo/H+ZNVBgUyuDwk=
 =UxIz
 -----END PGP SIGNATURE-----

Merge tag 'mtk-dts32-for-v7.2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mediatek/linux into soc/dt

MediaTek ARM32 DeviceTree updates

This adds support for the ARMv7 Timer node in the MT6589 SoC
and performs a couple of dtbs_check fixes in MT7623 and in
MT8135 devicetrees.

* tag 'mtk-dts32-for-v7.2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/mediatek/linux:
  arm: dts: mediatek: mt8135: fix pinctrl node name
  arm: dts: mediatek: mt7623: fix pinctrl controller node name
  arm: dts: mediatek: mt7623: fix pinctrl child node names
  arm: dts: mediatek: mt6589: Add Arm Generic Timer node

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
2026-06-09 12:44:10 +02:00
Arnd Bergmann
356b93d11c i.MX Soc Changes for v7.2
- Fix IIM mapping leak in imx31 revision check
 - Fix CCM node reference leak in imx3
 - Make scmi_imx_misc_ctrl_nb variable static in firmware driver
 -----BEGIN PGP SIGNATURE-----
 
 iQHFBAABCgAvFiEEJS45w2QNr0ezLVaoNF3oRQ23YkwFAmohqpsRHGZyYW5rLmxp
 QG54cC5jb20ACgkQNF3oRQ23Ykyh+wwAnFNvhRfsdg67GnX9b3RqVdQYvyye0bUM
 o9RoqoRbHQSot6przKxebxQq2X6dBjdqO0H666g35y/aVk0G3JKSw80f9tfTArMw
 Mt5077tqqep6FlgnkBZ8kia63Ej+JQVTcPcoal7+izF/qFoeXb1hSwSa+LXHzi7V
 v6wqriTtzf1LyKpPeXhsFd3a27DoT9FJh8JpQPGqJKMadvP6HQsEZRD5ImcmesQs
 Gs5hXlSVNtw8Rs8DUkJJKWEj7fpW7SqozT8WnGuQlQ6ytgXFiy1Tz5UcQQ8vzGD0
 H5LBrrsyELFQaHAoTm35fdoFOZ97Di9Zfm66B0ZIC37qPU36oJkk4psL7hmAQod8
 1RL/uhabaHHFpb2y6QZ6duIlCsJCxIwXBrTrtQs+yqdkymy9giJE7PoLq021W75j
 cjzGE59vKQX5nU+19wtLNENgFlGltOcTAc2R5ZxHLsFTJTTREDh0P4YN+cGDpdfp
 9kzBald9I091L5Jv+whpkOkahD6pBv9y
 =JAE1
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmon22IACgkQmmx57+YA
 GNmkeBAAw0y51Theso/pMwAKAq1tpiMGvhh+aJk4/mq0ZXu53WR7VGdYVW+Rizds
 DPsQMdyyTIu8Vk9ugo7zVhMOH4HVn7w77ObSbgbCx0R0NH4Lt4VxO2tWrt+PLmke
 3UEjLir3CAsdvhOfh81E4SMQMTG+gUed5DoIGx9CwKnSt2hyDeffWWg6LYY1lxTQ
 9yDdaAKH5QoNGJWfQhuMv/w3YUu+fZ7NVxZAZOk/0vQQp0bxySUZWzl3sa5Q8iz0
 XFResRcWEnGdDtqC/nboawxmuOkEpK6VRpcKKhE/wP1gRJpFLb2uftTTOILM6h7b
 SsqZRT7Ugvf0Jg7zV7nJUAv1Ejq7bSxIWgw2VwzqGxJQFsf3uFgGxwgl5ZmHSBKS
 ZC2GF5DQ4MnjSU8Tr1FgNQrFoBFN7lqk5NMiZ2n+J9+TzgQEa725VeqtBb5/66sd
 J2koJ7o5rMXWtmvX/SeSVLNUG+eHjf4vv/JbWv3fmKaEIO2EYBjK0j/Y2RIxXsCJ
 hKVqCoJ0+P7xtIh5cuI1CzSABDUWVso3wr0iny2DWUjPbqdTXT6uSMFi7BRzyLEB
 ZxtPAttt9IERPLQqg0tD9ba6Fi3zeK3WXBw+9bB0qVpBGWzg78aKxz7T6XMC09s0
 dFXTzDGe1+hqf4z58BvcxQP/YoMoeBKI4/7EHxPCHwtEEh4d0As=
 =HHEA
 -----END PGP SIGNATURE-----

Merge tag 'imx-soc-updates-for-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/frank.li/linux into soc/arm

i.MX Soc Changes for v7.2

- Fix IIM mapping leak in imx31 revision check
- Fix CCM node reference leak in imx3
- Make scmi_imx_misc_ctrl_nb variable static in firmware driver

* tag 'imx-soc-updates-for-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/frank.li/linux:
  ARM: imx31: Fix IIM mapping leak in revision check
  ARM: imx3: Fix CCM node reference leak
  firmware: imx: sm-misc: Make scmi_imx_misc_ctrl_nb variable static

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 11:22:40 +02:00
Maxime Ripard
fcc95f6eb9
ARM: multi_v7_defconfig: Enable dma-buf heaps
Now that the system and CMA heaps can be built as modules, enable both
as modules in the arm multi_v7_defconfig.

Suggested-by: Andrew Davis <afd@ti.com>
Signed-off-by: Maxime Ripard <mripard@kernel.org>
Link: https://lore.kernel.org/r/20260527084135.842736-1-mripard@kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 11:21:21 +02:00
Krzysztof Kozlowski
ae371a5811
ARM: configs: Drop duplicated CONFIG_EXT4_FS
Remove redundant, duplicated CONFIG_EXT4_FS to fix warnings like:

  axm55xx_defconfig:198:warning: override: reassigning to symbol EXT4_FS

Fixes: c065b6046b ("Use CONFIG_EXT4_FS instead of CONFIG_EXT3_FS in all of the defconfigs")
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Reviewed-by: Richard Cheng <icheng@nvidia.com>
Link: https://lore.kernel.org/r/20260603072726.19404-2-krzysztof.kozlowski@oss.qualcomm.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-09 11:20:29 +02:00
Mark Brown
ceb1d7ac29
ASoC: simple-card: remove platform data style
Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> says:

SuperH ecovec24/7724se are the last user of Simple Audio Card as
"platform data style". It is mainly supporting "DT style" in these days.

Now, Simple Audio Card "platform data style" is no longer correctly working
during almost this 10 years. but we have not get such report.
Let's remove Sound support from SuperH ecovec24/7724se, and remove
Simple Audio Card platform data style.

Link: https://patch.msgid.link/87zf1le4fu.wl-kuninori.morimoto.gx@renesas.com
2026-06-08 18:55:01 +01:00
Linus Torvalds
d054796f8b Rust fixes for v7.1 (2nd)
Toolchain and infrastructure:
 
  - Fix 'rustc-option' (the Makefile one) when cross-compiling that leads
    to build or boot failures in certain configs.
 
  - Work around a Rust compiler bug (already fixed for Rust 1.98.0) thats
    lead to boot failures in certain configs due to missing 'uwtable'
    LLVM module flags.
 
  - Support a Rust compiler change (starting with Rust 1.98.0) in the
    unstable target specification JSON files.
 
  - Forbid Rust + arm + KASAN configs, which do not build.
 
 'kernel' crate:
 
  - Fix NOMMU build by adding a missing helper.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPjU5OPd5QIZ9jqqOGXyLc2htIW0FAmokBWQACgkQGXyLc2ht
 IW02uw//a6zLSwQh3c6wevbyfogCtFXA9zfEmS0VIgaFQ7rtBIMPGCIujXrg7mtM
 uc0ZKg27dUyZQfrsKufjkP7ziQbwNaVowuR1/EVeFkF3bWH6BsaJic0/ewFAqbET
 lua0IORlqIjxgCCYW4y93NdzzUAwM1ClENzxWsNBd1HdY0t3ZZqpySie6q2sbjws
 MVr49Ghne5Q+HOeAgL3vK0ZblPx0Ujd+NcCBDVTzfliwNziGnVW5cS4QKdcYpEdc
 nHIHUCpkV2oBivalLSXHPiZBVKRRRq8cNL0iS+6fZdukDER87HJ81EPESfndQFen
 xdU5Qj7VHbr/PRR56P6dUpFdqcKCY3/HyoTBbr3GVGnH6pz0hs2605YoMsJI3Js8
 IBkVNIAm2P3ud+oTDdA9+2vW/mBFCunfIdogqVPqb5DrPzjSl5uCgAOgX4J2yLLF
 FfytH8kSqplLDdCuFq6bFNdZMgEK9qzZR99OqChh2N4xBxFeTuF1Ng+OPGJRSOxz
 vlLXCav/j92ckoocqPzMG0V5AjxnrdRfql6lYZqrw7D6lrmMzwJuO7SaXiX+OkL4
 hn6GB9FgWX+D6kKHotoMa51UjaDvCHOm3c2K/ROLQ5uuidFsK/585cQDg72/sq+3
 nvAAjleYK9VESnlJ8h5BJWdgdWY5CRW/wwh3rprcc1gfXz1jtkA=
 =7GFy
 -----END PGP SIGNATURE-----

Merge tag 'rust-fixes-7.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux

Pull Rust fixes from Miguel Ojeda:
 "Toolchain and infrastructure:

   - Fix 'rustc-option' (the Makefile one) when cross-compiling that
     leads to build or boot failures in certain configs

   - Work around a Rust compiler bug (already fixed for Rust 1.98.0)
     thats lead to boot failures in certain configs due to missing
     'uwtable' LLVM module flags

   - Support a Rust compiler change (starting with Rust 1.98.0) in the
     unstable target specification JSON files

   - Forbid Rust + arm + KASAN configs, which do not build

  'kernel' crate:

   - Fix NOMMU build by adding a missing helper"

* tag 'rust-fixes-7.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux:
  rust: x86: support Rust >= 1.98.0 target spec
  rust: arm64: set uwtable llvm module flag for CONFIG_UNWIND_TABLES
  rust: helpers: add is_vmalloc_addr wrapper for NOMMU builds
  rust: kasan/kbuild: fix rustc-option when cross-compiling
  ARM: Do not select HAVE_RUST when KASAN is enabled
2026-06-06 09:44:42 -07:00
Jori Koolstra
0da79c259a
vfs: uapi: retire octal and hex numbers in favor of (1 << n) for O_ flags
A recent build failure[1] exposed the diffculty of working with the
current octal and hex definitions of O_ flags when trying to find a gap
for a new flag. This difficulty is compounded by the fact that O_ flags
may have architectural specific values.

Replace the hex/octal #defines, which are hard to parse when looking for
free bits, with explicit bit shifts like (1 << 11). Also, add comments
that identify which architectures redefine some of the seemingly free
("cursed") bits in uapi/asm-generic/fcntl.h. These should not be used to
define new O_ flags (for now, at least).

The translastion was done with Claude Opus 4.8, and verified with a
(non-AI) gawk script. The accounting of which architectures claim
which bit-gaps in uapi/asm-generic/fcntl.h is also done by hand.

[1]: https://lore.kernel.org/all/agruPPybCx8q2XcJ@sirena.org.uk/

Assisted-by: Claude:Opus 4.8
Signed-off-by: Jori Koolstra <jkoolstra@xs4all.nl>
Link: https://patch.msgid.link/20260604222405.5382-1-jkoolstra@xs4all.nl
Signed-off-by: Christian Brauner (Amutable) <brauner@kernel.org>
2026-06-06 15:34:03 +02:00
Jakub Kicinski
8d72997dab Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net
Cross-merge networking fixes after downstream PR (net-7.1-rc7).

Silent conflicts:

net/wireless/nl80211.c
  cb9959ab5f ("wifi: cfg80211: enforce HE/EHT cap/oper consistency")
  a384ae9699 ("wifi: cfg80211: move AP HT/VHT/... operation to beacon info")
https://lore.kernel.org/aiGJDaHV4UlCexIQ@sirena.org.uk

Conflicts:

drivers/net/wireless/intel/iwlwifi/mld/ap.c
  a342c99cb7 ("wifi: iwlwifi: mld: honor BSS_CHANGED_BEACON_ENABLED")
  9bf1b409af ("wifi: iwlwifi: mld: send tx power constraints before link activation")
https://lore.kernel.org/ah2bfedhV45ZxMO8@sirena.org.uk

drivers/net/wireless/intel/iwlwifi/pcie/drv.c
  093305d801 ("wifi: iwlwifi: pcie: simplify the resume flow if fast resume is not used")
  e2323929a6 ("wifi: iwlwifi: pcie: add debug print for resume flow if powered off")
https://lore.kernel.org/ah2bfedhV45ZxMO8@sirena.org.uk

Adjacent changes:

drivers/net/ethernet/airoha/airoha_eth.c
  b38cae85d1 ("net: airoha: Fix use-after-free in metadata dst teardown")
  ec6c391bcc ("net: airoha: Introduce airoha_gdm_dev struct")

drivers/net/ethernet/microchip/lan743x_main.c
  8173d22b21 ("net: lan743x: permit VLAN-tagged packets up to configured MTU")
  e3c6508a46 ("net: lan743x: avoid netdev-based logging before netdev registration")

Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-06-04 15:29:04 -07:00
Linus Walleij
7b93c5b058 SoCFPGA DTS updates for v7.2
- dt-bindings updates:
 	- Document compatible for Agilex5 socdk debug daughter card
 	- Document compatible for Agilex7-M devkit
 
 - Add support for Agilex7-M devkit
 - Remove reg property in the PMU on 32-bit SoCFPGA
 - Set i3c alias on Agilex3 and Agilex5
 - Update data-width of DMA controller on Agilex5
 - Set phy-mode to rgmii on Agilex5
 - Increase the JFFS2 rootfs partition on the Arria10 NAND SoCDK
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAmobVx4ACgkQGZQEC4Gj
 KPSENQ/8DPUlUWpVEpAeiphYoTelIJj/yPHlgsKsrz8Ux6tclVgx87O9U6+ASjF7
 c09SZ/jUYTlhMJT+t86H6IV+xsgrA83T//U0FlmNrlb/8EeO4Z7Z3b3ycwqeQDBC
 t0afXeOrzG4HF6+PrnrQJ9/KwRbueBG8MwKdSuRTKII6ZwLYf3Tr/yMhPV6h6BEN
 LOdysaf+BCI3vgtAoPIjCJRXBQrOb+Cbx5YLNzJF1ObFznBM2kdN6dceCFcQjJHS
 xjJBZjXg1hAGSXFF1q5UKX3LkKY/ia+EPAqEDh1dqZktK/3+twibz/eUX7DpHlg+
 QFAFU0YoNUibBOi7gd98AN5zfwRD0dViUGsz7miIVVmZe1qpPBQLm46jhqN0/WNp
 8D/v8iaHkMemr01updrVl6CT0rEFXJBDuMpLr8qhjwKH/FwvFaLCgbCR4OGOFHTz
 cQtq7EQTjwr+vRTpyYK5JSG+nQkI+3EXcXYOFSGpyqZX7YG0aKyCp/kiJDyIpHiH
 LdHTNFoREARiDv/OdEvh38ozGZy7NDRM+MMzP1KzH58xIi9tNWdCIwJitpJjdatP
 wytSQnTu4dKPPl/I6khn28fMCPE4Ambeh2YpfpEEPeWlIAnIkBljC0hbKhyJA+X7
 wg84MxcCnBURQu28XD1U/Tsq5w0UydrsIRpJUKHuYazgqFGJFB4=
 =fuTI
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_dts_updates_for_v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into soc/dt

SoCFPGA DTS updates for v7.2
- dt-bindings updates:
	- Document compatible for Agilex5 socdk debug daughter card
	- Document compatible for Agilex7-M devkit

- Add support for Agilex7-M devkit
- Remove reg property in the PMU on 32-bit SoCFPGA
- Set i3c alias on Agilex3 and Agilex5
- Update data-width of DMA controller on Agilex5
- Set phy-mode to rgmii on Agilex5
- Increase the JFFS2 rootfs partition on the Arria10 NAND SoCDK

* tag 'socfpga_dts_updates_for_v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  ARM: dts: socfpga: arria10: Increase JFFS2 rootfs partition size
  dt-bindings: altera: add compatible for agilex5 socdk debug daughter card
  arm64: dts: socfpga: agilex5: Fix phy-mode to rgmii as HW provides clock delay
  arm64: dts: socfpga: agilex5: update data-width for dmac
  arm64: dts: socfpga: agilex3: set alias for i3c controller
  arm64: dts: socfpga: agilex5: set alias for i3c controllers
  ARM: dts: socfpga: remove the reg property in the pmu
  arm64: dts: socfpga: agilex7m: Add SoCFPGA Agilex7-M devkit
  dt-bindings: arm: altera: document the Agilex7-M devkit

Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-06-04 13:50:09 +02:00
Linus Walleij
f6f84276c6 Samsung mach/soc changes for v7.2
Remove raw GPIO number usage from S3C6410-based crag6410 board.
 -----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCgAuFiEE3dJiKD0RGyM7briowTdm5oaLg9cFAmocIvwQHGtyemtAa2Vy
 bmVsLm9yZwAKCRDBN2bmhouD14zoEACJHKri90EP4qFDAVxvszTjKuySsc6JF8Xr
 N17xdXidd7fkR3ZytBzAhBqadX1uKOcPcV2mNAb6tyMxUtG/LhJ3b0KxU0u56TpY
 N6Zy9Cu9tnDn0VjA/hJw7V0FYQu+DgNPZXnynWTtpzx+HXNWIPGJgOfuzDQzQqIA
 NkgkJl8LVdEvScYthcuKwdX+6Se8wekTArsfsE7sQmsFLdLnQHRSyDJSDGhDRd1d
 6S8k9n8hTu6FVi3pMExCqwDrgewnafpYqxpAbfDguLRXS98mXhpVld6ksGsXX5vY
 m301ddUKUBm+nwgrOyKROZyNmGsNeomY9rXY5ErOfE2k+dKdjrEgvZcesZUaEm6u
 UIwrIJnKSfrKZPcLDmSCd0ypXNyoOmW7nWxvr0U7jarQaOwo43YJjS0CLCnZmSmd
 ZLJAw0XfLGNZtE2mt5DBxdmxYR9HSZjUHX8RcydYRdvXGLgeTwUULXtpPUx2RVXq
 5o1tPJFYQY6LYbr69TpwLeQ+QBvSKwtOlOzCHhB2QWHmGTAbEq0ncOq4qxt3qDGX
 yWv7Pj+kfS10dM/Dm2SG55iuFYGbtbZDuR2az8pMabyKpaUyIh6ypZBG58H7v71K
 OWCd/WfZFIjSkbKA2CLHVAB2F/tuMqvsSuc32j6KtcFGy8DytVdm8QrVE30NN57D
 63/vKsUx1A==
 =ws72
 -----END PGP SIGNATURE-----

Merge tag 'samsung-soc-7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into soc/arm

Samsung mach/soc changes for v7.2

Remove raw GPIO number usage from S3C6410-based crag6410 board.

* tag 'samsung-soc-7.2' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
  ARM: s3c: use gpio lookup table for LEDs

Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-06-03 14:25:01 +02:00
Linus Walleij
73f0e344f0 STM32 DT for v7.2, round 1
Highlights:
 ----------
 
 - MPU:
   - STM32MP13:
     - Enable PHY SSC (Spread Spectrum) on DHCORE DHSBC board.
     - Add board pin documentation stm32mp135f-dk to help user.
 
   - STMP32MP15:
     -  Protonic:
       - Update MECIOR0 ans MECIOR1 boards:
         - Define ADC channels and GPIO line definitions in board and
 	  no longer in common file.
         - Fix ADC sampling.
 
   - STM32MP25:
     - Fix SAI addresses.
 -----BEGIN PGP SIGNATURE-----
 
 iQJRBAABCgA7FiEEctl9+nxzUSUqdELdf5rJavIecIUFAmodP1odHGFsZXhhbmRy
 ZS50b3JndWVAZm9zcy5zdC5jb20ACgkQf5rJavIecIXicA//aqDL1wSznVUzqFRs
 edbrf6yrDKdkuNGxcf3g75QKFY6lN9e+6w26Ki+FN5Z0Es7HtOPiqZoMDXMR7vO5
 /nMxm9pOQ+EjCeyjhUppw2DOKvfFTKnxeURvMjh4Hx36jKuzkv+qCE1t628mMiEC
 NmaNF0gE5eashnDOab3IONJR+2XrCXOqJFnVBPD2F35trOFuEraxOhbXbiM91eoo
 Dr1cKhSLfuZN5qCY+xCs0dtnJTVQb5Cgg49RrJ/0Z2VkrUYrn03wUkV1FxHupEhH
 HNDsVm/aPiJ16KCdA6NYAIdBqqogsJZ+CspMj2oZr++gfVzhS+ifld59M+WtXX3q
 AZjSE7Ly6ViCA++Lz/hcnOggW/3kMBGuOxXHmIyxp5rch9fZuOyTzphk4kv8fbCW
 NJajh+Pfd2VfH1ceaXSxpfIi7wv8/5N7iy+U9sGP0wj4iuz9on17O7gSp8q5VZGq
 OyALOxgPykN+zPtl4aQHS7L837VX+wG7O/vj95RTxsW6hSD1RYoBODzpEwqoR734
 NQHMNpIT3UFhOJmyTAQkUTyTbwKjidCagq+aI76XwDPJt+e9RhYOpxJLseD4qELQ
 WyMCWPjHakZnKotwu20+IvPjg/CPn5xEveMuRZPUZm5MFgPBPoqIbCbkYPiF+SRJ
 sbXW6r3a4XsiwHQb5hXF5wkCt60=
 =FCDF
 -----END PGP SIGNATURE-----

Merge tag 'stm32-dt-for-7.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32 into soc/dt

STM32 DT for v7.2, round 1

Highlights:
----------

- MPU:
  - STM32MP13:
    - Enable PHY SSC (Spread Spectrum) on DHCORE DHSBC board.
    - Add board pin documentation stm32mp135f-dk to help user.

  - STMP32MP15:
    -  Protonic:
      - Update MECIOR0 ans MECIOR1 boards:
        - Define ADC channels and GPIO line definitions in board and
	  no longer in common file.
        - Fix ADC sampling.

  - STM32MP25:
    - Fix SAI addresses.

* tag 'stm32-dt-for-7.2-1' of git://git.kernel.org/pub/scm/linux/kernel/git/atorgue/stm32:
  arm64: dts: st: Fix SAI addresses on stm32mp251
  ARM: dts: stm32: stm32mp15x-mecio1-io: Move expander gpio-line-names to board files
  ARM: dts: stm32: stm32mp15x-mecio1-io: Fix expander gpio line typo
  ARM: dts: stm32: stm32mp15x-mecio1-io: Move gpio-line-names to board files
  ARM: dts: stm32: stm32mp15x-mecio1-io: Fix GPIO names typo
  ARM: dts: stm32: stm32mp15x-mecio1-io: Move divergent mecio1 ADC channels to board files
  ARM: dts: stm32: stm32mp15x-mecio1-io: Fix ADC sampling times
  ARM: dts: stm32: stm32mp15x-mecio1-io: Enable internal ADC reference
  ARM: dts: stm32: add board pin documentation stm32mp135f-dk
  ARM: dts: stm32: Enable PHY SSC on DH STM32MP13xx DHCOR DHSBC board

Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-06-03 14:17:39 +02:00
Linus Walleij
57ffabf5a1 ARM: tegra: Device tree changes for v7.2-rc1
The bulk of this is various improvements for some of the older ASUS and
 LG devices, but there's also support for interconnects on Tegra114 to
 help improve memory frequency scaling.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmobyh8ACgkQ3SOs138+
 s6GyKg//SkttJ6lDJYWZoc7rSDGMsshA4Dpys+BAb1WEdKraAyVZe9pe7YGxJ3GY
 gIuKYHItT3rOuDWJXcEpaHc+0IAePVvH5719KmVwE2yRuUSij9YQpDjDGTmfJXmz
 GknYUIT5mxIa96ldLL5lIUtRkUc6hWlHzdpOdWfY+5f2Pysny51HNS/rQHIMgZdI
 CwN69JZQ5WKZbXLeueeNK5MxJOqFYQ/dS032cnuftz+aEjwUBuTvMy58O5WU/a98
 YtgPpXi0WLFPTav4Do8JONHyn8hbBOkREt4t53GKoyIfoLmiZOU6tSlFb1WAIgWT
 26TdolyaOefWlGnOV4FAlY4QCM72dpW2nydMWiUDgWLKri9sxRWLEKzqrWm833D6
 0BDIySgmUmvnwmOkzVcZVkhLEFg1mJMhH4J4MSwpqMpTEpnNUNLjP8nyyQRpOuWW
 f/cfwPex9qDb77WNG3ExJPjREzvXxsNBKJkrJnojMzsyK3kraXsApPgYR2N07/cE
 XZavX2HMmKRnoNAIEGn+C3b8qX/4F+iHKeWoAt8J8qGx4EfhUcby3r024pWHHbgp
 Q7Tu0A/Lp+iYDEHRb+VjN9w2niF5Qq0oTSK0X5Altp3F83a/sIsi/V1wWV1RmHg2
 4A1deqXUryxZw8vqkovl0R5FuGv45IsfIaj81viLURAabdIdtiM=
 =yQew
 -----END PGP SIGNATURE-----

Merge tag 'tegra-for-7.2-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into soc/dt

ARM: tegra: Device tree changes for v7.2-rc1

The bulk of this is various improvements for some of the older ASUS and
LG devices, but there's also support for interconnects on Tegra114 to
help improve memory frequency scaling.

* tag 'tegra-for-7.2-arm-dt' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux:
  ARM: tegra: tf600t: Invert accelerometer calibration matrix
  ARM: tegra: tf600t: Drop backlight regulator
  ARM: tegra: tf600t: Configure panel
  ARM: tegra: transformers: Add connector node for common trees
  ARM: tegra: transformer: Add support for front camera
  ARM: tegra: grouper: Add support for front camera
  ARM: tegra: p880: Lower CPU thermal limit
  ARM: tegra: lg-x3: Set PMIC's RTC address
  ARM: tegra: lg-x3: Complete video device graph
  ARM: tegra: Configure Tegra114 power domains
  ARM: tegra: Add DC interconnections for Tegra114
  ARM: tegra: Add EMC OPP and ICC properties to Tegra114 EMC and ACTMON device-tree nodes
  ARM: tegra: Add #{address,size}-cells to Chromium-based /firmware
  dt-bindings: memory: Document Tegra114 External Memory Controller
  dt-bindings: memory: Document Tegra114 Memory Controller

Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-06-03 14:13:41 +02:00
Linus Walleij
f8160c84dd Gemini device tree updates:
- Add two new devices: the Verbatim Gigabit NAS and the
   Raidsonic IB-4210-B, including ACKed binding updates.
 
 - Fix up boot device for the SQ201.
 
 - Use the right LED trigger for disk activity.
 
 - Add the SSP/SPI block to the SoC.
 
 - Fix up the RUT1xx device tree.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmoX/8IACgkQQRCzN7AZ
 XXNyVA//fT/5wTE6Nh6bg4klm6XXPYYUf4GG/QBKXyMomYuCatlh265AzK/W5TAV
 hhQr8qh8vixgReV9LYz4kH6tyC4CY4vdexOOU4TMrcTrVYOeV/W4GisJEDTdN0T0
 qtwPst4SkQeQycPMJ08hs5jLz9kXXonxNHFOU6pOmiICqSMUhSFNvtpklUvEFa6z
 f0srUd9Zy311U5olj8kzED0JepeHArezbcREpFovOnB8VB9oMX4GAEPwUbV/WlxO
 2lmvof0qfGLiXQjx+A7zTdVhoDsL47jgQdsmkTa0XaVSipxIJrBeyKf6H0NzoQGv
 efmtl8VsgtZFeNR+7dDCOiokNizSTUsLI/AKAqHVu9JtPd3cs1fF0KDOldCl3ha5
 SiHZsZaoZkisQjPPK3EzHlUCDxSEvIqRxD0CF1fx6bKVAvFVScMH+V//9OklInGA
 u3pdCvc/4Wil3FMLR91DACux8Bp79arLMW8MzvdnGAi4wuYsoqIhQOaBmi9D2hbo
 c0qW3JtFFvmCm32hIrVrxt9WAi9bleRmQOJ09wZrmTobRJpCCa+JcyyTdWqaBmP0
 CI5u68jvUoVwRdrOsxv8bac13dpdSF+fPa0qZK6dtYnQqVc5fWgRGbFASbjnMOjD
 MJsJT9ajSKXgP0BAvaieXwlmB9eeZVXsjlC/CJul7MrNlnA8K44=
 =RQ6n
 -----END PGP SIGNATURE-----

Merge tag 'gemini-for-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator into soc/dt

Gemini device tree updates:

- Add two new devices: the Verbatim Gigabit NAS and the
  Raidsonic IB-4210-B, including ACKed binding updates.

- Fix up boot device for the SQ201.

- Use the right LED trigger for disk activity.

- Add the SSP/SPI block to the SoC.

- Fix up the RUT1xx device tree.

* tag 'gemini-for-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-integrator:
  ARM: dts: gemini: Correct the RUT1xx
  ARM: dts: Add a Raidsonic IB-4210-B DTS
  ARM: dts: Add a Verbatim Gigabit NAS DTS
  dt-bindings: arm: Add two missing Gemini devices
  dt-bindings: vendor-prefixes: Add Verbatim Corporation
  ARM: dts: gemini: Add SSP/SPI block
  ARM: dts: gemini: Tag disk led for disk-activity
  ARM: dts: gemini: iTian SQ201 need to boot from mtdblock3

Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-06-03 14:03:31 +02:00
Thomas Weißschuh
96942092d5 vdso/treewide: Drop GENERIC_TIME_VSYSCALL
This Kconfig symbol is not used anymore, remove it.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Link: https://patch.msgid.link/20260519-vdso-generic_time_vsyscal-v1-3-5c2a5905d5f5@linutronix.de
2026-06-02 21:41:23 +02:00
Alice Guo
936bde7f10 ARM: dts: freescale: add bootph-all to i.MX7ULP watchdog nodes
Add the bootph-all property to ULP watchdog nodes for i.MX7ULP, ensuring
the watchdog is available during all boot phases.

Signed-off-by: Alice Guo <alice.guo@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-02 15:37:47 -04:00
Linus Torvalds
ba3e43a9e6 soc: fixes for 7.1, part 2
Following the previous set of fixes, this addresses another significant
 number of small issues found in firmware drivers (tee, optee, qcomtee,
 qcom ice, exynos acpm) drivers through various tools. This is about
 error handling, resource leaks, concurrency and a use-after-free bug.
 
 The fixes for the Qualcomm ICE driver also introduce interface changes
 in the UFS and MMC drivers using it.
 
 Outside of firmware drivers, there are a few fixes across the tree:
 
  - Minor driver code mistakes in the Atmel EBI memory controller,
    the i.MX soc ID driver and socfpga boot logic
 
  - A defconfig change to avoid a boot time regression on multiple
    qualcomm boards
 
  - Device tree fixes for qualcomm, at91 and gemini, addressing
    mostly minor configuration mistakes
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmofFFQACgkQmmx57+YA
 GNkoZxAAjEoE6xgVJjQBQug02+puOll3DSjYjYahg434nUoIpfY4bU4247eUtvxi
 QU5kSRQbMaYBpBM5pqgqdG0P0KiP8UsrDWgGr1CbHhCtO2H2cJ6ICUFAXmgpZ+n3
 P7R4hROu+EoRb6urgRG6koL6LYId1nRSKOvWsPEz8cXcVE/nwdaYgU6GB9aS2B0v
 zAcLGMtACNU9iiDZNW+pt97CkMr38pjEkcmWxfQBSqcjck0JsujHCuCWLwPALKAo
 V1aSKPgg1YUMs3+2LeXyhv5rFrBmXfRJ1v7unLKXAvJ9k+DZb63D5AIFT6xjD7Qh
 nF/IgPmiFPaYKVskTWS7UHWVLZY7mBstb4gWei1fNE8deCXA35ntuNSg1YkIabvF
 s/g5g2/EuiCTobZLO+xAGHJvfB/iVx2k2w6CzYpxXtOOf8CNzskWkRnerK3RF+TM
 LIN1JhrZJzAnHL+Z8jv3z2+vo1sUOMuQax723xYoh/7LUUr1yp0hBJExkjJJ8s3q
 5GOob3WnjH9n15OAsJvNXlKIWstIi/BPSXyATmca6tDsEnuv3KE9Sok4ZT/Gsjxk
 2L/aIlnnu6qX4BlQ7Hrfl2+LDp7jX1RP7MFMGxHscD36ws7ZU9asoUc5MxPrnZno
 Oay2HTyiA42YvsN+R6oI331VSTd/hXLemqvP9JpENvSbpuGm2So=
 =uqVQ
 -----END PGP SIGNATURE-----

Merge tag 'soc-fixes-7.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC fixes from Arnd Bergmann:
 "Following the previous set of fixes, this addresses another
  significant number of small issues found in firmware drivers (tee,
  optee, qcomtee, qcom ice, exynos acpm) drivers through various tools.

  This is about error handling, resource leaks, concurrency and a
  use-after-free bug.

  The fixes for the Qualcomm ICE driver also introduce interface changes
  in the UFS and MMC drivers using it.

  Outside of firmware drivers, there are a few fixes across the tree:

   - Minor driver code mistakes in the Atmel EBI memory controller, the
     i.MX soc ID driver and socfpga boot logic

   - A defconfig change to avoid a boot time regression on multiple
     qualcomm boards

   - Device tree fixes for qualcomm, at91 and gemini, addressing mostly
     minor configuration mistakes"

* tag 'soc-fixes-7.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (28 commits)
  firmware: samsung: acpm: Fix infinite loop on sequence number exhaustion
  firmware: samsung: acpm: Fix missing LKMM barriers in sequence allocator
  firmware: samsung: acpm: Fix false timeouts and Use-After-Free in polling
  ARM: dts: gemini: Fix partition offsets
  ARM: socfpga: Fix OF node refcount leak in SMP setup
  soc: qcom: ice: Fix the error code when 'qcom,ice' property is not found
  arm64: dts: qcom: eliza: Add power-domain and iface clk for ice node
  arm64: dts: qcom: milos: Add power-domain and iface clk for ice node
  tee: qcomtee: add missing va_end in early return qcomtee_object_user_init()
  tee: fix params_from_user() error path in tee_ioctl_supp_recv
  tee: shm: fix shm leak in register_shm_helper()
  tee: fix tee_ioctl_object_invoke_arg padding
  arm64: defconfig: Enable PCI M.2 power sequencing driver
  scsi: ufs: ufs-qcom: Remove NULL check from devm_of_qcom_ice_get()
  mmc: sdhci-msm: Remove NULL check from devm_of_qcom_ice_get()
  soc: qcom: ice: Return proper error codes from devm_of_qcom_ice_get() instead of NULL
  soc: qcom: ice: Return -ENODEV if the ICE platform device is not found
  soc: qcom: ice: Fix race between qcom_ice_probe() and of_qcom_ice_get()
  ARM: dts: microchip: sam9x7: fix GMAC clock configuration
  firmware: samsung: acpm: Fix mailbox channel leak on probe error
  ...
2026-06-02 10:54:11 -07:00
Alexander Feilke
da6662e993 ARM: dts: imx7: add nvmem-layout
TQMa7 has board-information located in EEPROM at offset 0x20.
Add necessary nodes and properties for nvmem cell.

Signed-off-by: Alexander Feilke <Alexander.Feilke@ew.tq-group.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-02 13:37:51 -04:00
Linus Walleij
783257245d Cleanups for RK3288-based ChromeOS platform.
-----BEGIN PGP SIGNATURE-----
 
 iQFEBAABCAAuFiEE7v+35S2Q1vLNA3Lx86Z5yZzRHYEFAmoUcIkQHGhlaWtvQHNu
 dGVjaC5kZQAKCRDzpnnJnNEdgQvnB/9S6AWuhKf90Dkxh6ROV0bCbe5/7Ff+mBsX
 IRmwvDunN2J0/fJj+xvDfy5sly2e963Wj8pmaofDiSAoztP8OPq9tIDRE8vGP1qK
 I8f3kp/uogSKyh06kAurNjstja3Dq794ayaldS7k9oaGL7xrdpSszwMqxjHD7m9c
 SzdO1CfC/evJ7i1EWUnhOHK/aok8cZJ/xYGy3TwS9yAu8TGavxWg2eewZXDEtxxl
 TAgu1tOGD1HNN5MfVIsWVObqkQOn2mDXfBqsZGnFCAUBg6EZkTB3QcU5uQLOtDZF
 YPlK8YlqTRSNUCR36gAuEY/ltitTPCFS75olycyxvygZwFww5wDs
 =nNe6
 -----END PGP SIGNATURE-----

Merge tag 'v7.2-rockchip-dts32' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip into soc/dt

Cleanups for RK3288-based ChromeOS platform.

* tag 'v7.2-rockchip-dts32' of https://git.kernel.org/pub/scm/linux/kernel/git/mmind/linux-rockchip:
  ARM: dts: rockchip: Add #{address,size}-cells to Chromium-based /firmware
  ARM: dts: rockchip: Remove invalid properies from rk3288-veyron-analog-audio

Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-06-02 13:27:05 +02:00
Lech Perczak
1e2aa1b07b ARM: dts: imx7d-pico-pi: add OV5645 camera support
Add OV5645 camera device node and enable relevant components in the
video capture data path, so output stream can be captured, and the
camera itself can be controlled over I2C bus.

This is roughly based on descriptions found in downstream kernel tree [1],
adapted to match upstream bindings.

Link: ce8fd74abf/arch/arm/boot/dts/imx7d-pico.dtsi (L874) [1]

Signed-off-by: Lech Perczak <lech.perczak@gmail.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01 17:19:26 -04:00
Frank Li
e6532261b1 ARM: dts: imx6-display5: replace marvell,88E1510 with ethernet-phy-ieee802.3-c22
Replace the vendor-specific PHY compatible string with the generic
ethernet-phy-ieee802.3-c22 compatible.

The marvell,88E1510 compatible is listed in whitelist_phys[] and is
never matched against a PHY driver. PHY devices are expected to use
the generic ethernet-phy-ieee802.3-c22 compatible unless a specific
MDIO driver match is required.

The 88E1510 is compatible with Clause 22 PHY devices, so use the
generic compatible string instead.

Fix below CHECK_DTBS warnings:
arch/arm/boot/dts/nxp/imx/imx6q-display5-tianma-tm070-1280x768.dtb: /soc/bus@2100000/ethernet@2188000/mdio/ethernet-phy@0: failed to match any schema with compatible: ['marvell,88E1510']

Known other user (uboot) did not use marvell,88E1510.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01 17:07:37 -04:00
Frank Li
256807f422 ARM: dts: imx: replace undocumented compatible string edt,edt-ft5x06 with edt,edt-ft5206
The edt,edt-ft5x06 compatible is not referenced in
drivers/input/touchscreen/edt-ft5x06.c and is not documented.

There is no publicly available datasheet or binding information that
distinguishes edt-ft5206/ft5306/ft5406 variants and the driver treats these
FT5x06-family controllers with the same configuration model. So switch to
the lowest common and documented baseline compatible edt,edt-ft5206.

Fix below CHECK_DTBS warnings:
arch/arm/boot/dts/nxp/imx/imx53-m53menlo.dtb: /soc/bus@60000000/i2c@63fc8000/touchscreen@38: failed to match any schema with compatible: ['edt,edt-ft5x06']

ABI impact consideration:
Not affect Linux kernel. The I2C subsystem uses a legacy fallback mechanism
where it strips the vendor prefix from the compatible string to derive the
client name, resulting in edt-ft5x06

	{ .name = "edt-ft5x06", .driver_data = (long)&edt_ft5x06_data },

After this, the driver was actively binding to these devices based on the
compatible string.

Known user (U-Boot) does not parse or use edt,edt-ft* touchscreen
compatibles.

Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01 17:07:36 -04:00
Frank Li
92c200493e ARM: dts: imx6qdl-tx6: remove undocumented karo,imx6qdl-tx6-sgtl5000 and keep only simple-audio-card
Remove the undocumented and unused compatible karo,imx6qdl-tx6-sgtl5000 and
retain only the generic simple-audio-card sound configuration.

The karo,imx6qdl-tx6-sgtl5000 compatible is not documented and is not
referenced by any in-kernel driver. The audio setup is already fully
described using simple-audio-card, which is the standard and supported
binding for this hardware configuration.

No known users (such as uboot) rely on karo,imx6qdl-tx6-sgtl5000.

Fix below CHECK_DTBS warnings:
arch/arm/boot/dts/nxp/imx/imx6dl-tx6dl-comtft.dtb: /sound: failed to match any schema with compatible: ['karo,imx6qdl-tx6-sgtl5000', 'simple-audio-card']

Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01 17:07:36 -04:00
Frank Li
202f97ae13 ARM: dts: imx: Add bus-type for ov5642/ov5640
Add bus-type (MEDIA_BUS_TYPE_PARALLEL) for ov5642/ov5640. i.MX53 and
i.MX6UL only supports parallel csi interface. Fix below CHECK_DTBS
warnings:
  arm/boot/dts/nxp/imx/imx53-smd.dtb: ov5642@3c (ovti,ov5642): port:endpoint: 'bus-type' is a required property

Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01 17:07:36 -04:00
Frank Li
e1867c85f4 ARM: dts: imx: remove redundant bus-width for video-mux
Remove redundant bus-width property according to video-mux.yaml to fix
below CHECK_DTBS warnings:
arch/arm/boot/dts/nxp/imx/imx6dl-gw51xx.dtb: ipu1_csi0_mux (video-mux): port@4:endpoint: Unevaluated properties are not allowed ('bus-width' was unexpected)
        from schema $id: http://devicetree.org/schemas/media/video-mux.yaml

The bus-width already set at remote endpoint (camera).

Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01 17:07:36 -04:00
Frank Li
85125c5e9a ARM: dts: imx: add (power|vdd)-supply for related node
Add required power-supply and vdd-supply properties to fix below CHECK_DTB
warnings:
    arch/arm/boot/dts/nxp/imx/imx53-m53menlo.dtb: panel (edt,etm0700g0dh6): 'power-supply' is a required property

Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01 17:07:36 -04:00
Arnd Bergmann
30b1e0a47a
Merge tag 'ep93xx-20260529' of https://git.kernel.org/pub/scm/linux/kernel/git/asv/linux into soc/arm
The patch removes the dependency on <asm/mach-types.h> in the decompressor
for EP93xx-based boards that no longer have legacy board files. This is a
preparatory step for cleaning up a large number of stale entries in
mach-types.

Link: https://lore.kernel.org/all/20260509223820.50347-1-enelsonmoore@gmail.com/

* tag 'ep93xx-20260529' of https://git.kernel.org/pub/scm/linux/kernel/git/asv/linux:
  arm: boot: ep93xx: don't rely on machine_is_*() for removed board files

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-01 23:04:55 +02:00
Yuho Choi
ccb4b54b8e ARM: imx31: Fix IIM mapping leak in revision check
mx31_read_cpu_rev() maps the IIM registers with of_iomap() to read the
silicon revision, but returns without unmapping the MMIO mapping.

Keep the normalized revision value in a local variable and route the
return path through iounmap() after the revision register has been read.

Fixes: 3172225d45 ("ARM: imx31: Retrieve the IIM base address from devicetree")
Signed-off-by: Yuho Choi <dbgh9129@gmail.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01 15:58:13 -04:00
Yuho Choi
36d46348eb ARM: imx3: Fix CCM node reference leak
of_find_compatible_node() returns a referenced device node. The i.MX31
and i.MX35 early init paths use the node to map the CCM registers with
of_iomap(), but never drop the node reference.

Release the node after the mapping is created.

Fixes: 2cf98d1295 ("ARM: imx3: Retrieve the CCM base address from devicetree")
Signed-off-by: Yuho Choi <dbgh9129@gmail.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01 12:17:07 -04:00
Frank Li
740e76b89b ARM: dts: imx53-ppd: add '#phy-cells' for usb-nop-xceiv
Add '#phy-cells' for usb-nop-xceiv to fix below check_dtbs warnings:
    usbphy-2 (usb-nop-xceiv): '#phy-cells' is a required property

Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01 12:08:39 -04:00
Frank Li
d6af25d182 ARM: dts: imx53-qsb: add dvdd and avdd supply for panel sii,43wvf1g
Add dvdd and avdd supply and regulators for panel sii,43wvf1g to fix below
check_dtbs warnings:
    panel (sii,43wvf1g): 'dvdd-supply' is a required property

Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01 12:08:39 -04:00
Frank Li
a767ab8ae6 ARM: dts: imx: add ti,deskew = <0> for ti,tfp410
Add required proprety ti,deskew for ti,tfp410, which have not defined
default value in yaml. 0 is default value according to
drivers/gpu/drm/bridge/ti-tfp410.c.

Fix below check_dtbs warning:
    dvi-encoder (ti,tfp410): 'ti,deskew' is a required property

Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01 12:08:39 -04:00
Greg Kroah-Hartman
55311a92bc Linux 7.1-rc6
-----BEGIN PGP SIGNATURE-----
 
 iQFSBAABCgA8FiEEq68RxlopcLEwq+PEeb4+QwBBGIYFAmocssAeHHRvcnZhbGRz
 QGxpbnV4LWZvdW5kYXRpb24ub3JnAAoJEHm+PkMAQRiGsvMIAIYkDW1HujnkP3/G
 SzQuQozH30O8Fpxdo+axRG6DweP2DTW1lD35YPJJsVto0G2BJZVjzsrx8RSgV6uz
 DDY+Y0x0/VknMZ4JDrDoWRIyHaVV6p3+NcSHhwrxctQsa8UdEf4aXGaTf91nIBSB
 GCX5R2YxxuQSTMZ19F/e+UShnRC5OO0FbCB5xhSnUJX3+eoRe0mcGAQB4DBUKxsx
 BZ5DMOmoiEyPFJbdmy11X0epgJ32qgL7HPYLEo44Vcfy/Ot9lrL9b4vKbG+b3N1P
 YAZccYH/dlpUuk7piR37H87Ntgz/SZcYbJlx2iAWoNk4tMmfRUO16igar8yFHjSt
 FLN2Zx4=
 =ufVr
 -----END PGP SIGNATURE-----

Merge tag 'v7.1-rc6' into usb-next

We need the USB and Thunderbolt fixes in here as well.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2026-06-01 17:39:51 +02:00
Sherry Sun
01f13c165d ARM: dts: imx7d: Add Root Port node and PERST property
Since describing the PCIe PERST# property under Host Bridge node is now
deprecated, it is recommended to add it to the Root Port node, so
creating the Root Port node and add the reset-gpios property in Root
Port.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01 11:12:52 -04:00
Sherry Sun
f96840444d ARM: dts: imx6sx: Add Root Port node and PERST property
Since describing the PCIe PERST# property under Host Bridge node is now
deprecated, it is recommended to add it to the Root Port node, so
creating the Root Port node and add the reset-gpios property in Root
Port.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01 11:12:40 -04:00
Sherry Sun
9dc3953217 ARM: dts: imx6qdl: Add Root Port node and PERST property
Since describing the PCIe PERST# property under Host Bridge node is now
deprecated, it is recommended to add it to the Root Port node, so
creating the Root Port node and add the reset-gpios property in Root
Port.

Signed-off-by: Sherry Sun <sherry.sun@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01 11:12:11 -04:00
Eduard Bostina
dcf7bac8c2 ARM: dts: nxp: imx51-ts4800: Rename wdt node to watchdog
The Technologic Systems TS-4800 watchdog node was previously named 'wdt',
which violates the core watchdog.yaml schema expecting generic node names.

Rename the node to 'watchdog' to fix the following dtbs_check warning:
'wdt' does not match '^(pmic|timer|watchdog)(@.*|-([0-9]|[1-9][0-9]+))?$'

Signed-off-by: Eduard Bostina <egbostina@gmail.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Frank Li <Frank.Li@nxp.com>
2026-06-01 10:54:29 -04:00
Arnd Bergmann
fce4668a01 SoCFPGA dts fix for v7.1
- Fix OF node refcount leak
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEoHhMeiyk5VmwVMwNGZQEC4GjKPQFAmoVtIMACgkQGZQEC4Gj
 KPR1iA/+PXPSx51qgfkJKNUrEzAq8WOrsjDMrLI596unfXVpi4thWy5+4DaSIk8A
 o+1u8iXwHTNFeBcG+KUKqVmCAgyVLc3ZZ3OkaCH2+y0MBa6qKXI/+7/0yd/4F5Hu
 5L+e0QrUdUEJKvjAXZAIym8RqYnXR53P0Ur3imGqkJlqZFwnME+Eez0Uvtj5fIZA
 NEDeSbbrwVsQ4etOfI0HjyI/lkEFEJqcgVg2APOraDtPmM9Wmf9XXh5BRUvgLptK
 JTtYa7exiLyX0qbgWE/+7w7omjruDYOgXTrzjrpuW+rlH/jvh+ATJrl2R7bIR6lJ
 0Ez2T/9W1WD6p8LxgMIyg8eFXfKf+cVFIyGmS95F0Q5jC1cRRdM84JPDHHcO5QYO
 tr3m4IwORyQbzAyAjbq/KRiBEx0LsjuBTLQez/YrDbMdy0BrgTIYvT26taV+bSXF
 4iF50SbtGuQz3A8N5USOD4mo1bkx7QI1ezVNqXZJuuJ9+B4ieeOPzcg9s0Y4D+6z
 qP2OdaaaU9c8IYLxClHk3k5QMiPP9PgosPMfrCd1Iw18qaUNIaTMbc+3k4sAyMpz
 WNbKgIHgOR/amWGrUgoyAYwvs5IYOhJvU1L3yslgRxzMMrvW5Mx13nuCVw/44gD8
 BS5VwUyfPjeOxfkZJVOtUxwBX3znQJkHjIUFD6lfDAHTjFlSn/M=
 =Qs3M
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmodllEACgkQmmx57+YA
 GNlnnA/+PO0ieAuD1mwzSgcPhWeT9r9x33s4YrjYvzXtm+WW5G7tRcdlPzFkIIbP
 nbvU2/0h2nNcxH2fr3HcTqEy2BHVoE0M5rJ0+K806XIfIJPP1BAVUguTUi8BojFF
 fLILUVVCsc0dmMduvBkD0HjDR+ZxRxw21NzMtG3ufCp095bk6YZD/D6rrYAvLSRd
 sxotmyBdoIYL755/BOeNWNT362c8NvK6p2j3VAItozJeGT7c37t4x6tu4hbzWh6H
 cxJodqQFRhIbURiDc6tMGoUOAM1bpnX0z7l/swnRT9aQo3oAzhwkas2RBhfVUmDi
 c2Z+4s1INMRnkPIyOtjwNsIUrRukNXaS5WpnWjkEc7xtdjmfw9jwnmkbHqx80nHq
 qY688wZ2u+UFFJuX6MQxJ2J6Iu2ws8w+ZnMSgR46SRv3wiEHUUFJVvVnk8SAyZ6D
 y0JMstYbPHIkF0cWc9SA2FZE524ak6X2qJCSro+VVRne2RaDFgJv1Q6rSWPCU9Cd
 75wO6MXI0TP5bTm0wCYe6OPvNErsG0O7ezs4H48tofU8kL0vfpmAoLnrzG3xq/9g
 HaUea7kOtekkfdicnjnV9hK6PhUHrhxfbCkNkLsZCbRnqsQim/B/3Hyi+jwFvDhe
 Rlu4/qwTp9c8Zk+hyEDuNF2uORiSNS3dF5EGdDGCiGF6t5cR5fY=
 =p4Za
 -----END PGP SIGNATURE-----

Merge tag 'socfpga_fix_for_v7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux into arm/fixes

SoCFPGA dts fix for v7.1
- Fix OF node refcount leak

* tag 'socfpga_fix_for_v7.1' of git://git.kernel.org/pub/scm/linux/kernel/git/dinguyen/linux:
  ARM: socfpga: Fix OF node refcount leak in SMP setup

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-01 16:25:19 +02:00
Arnd Bergmann
d4715546cc Microchip AT91 fixes for v7.1
This update includes:
 - a fix for the GMAC DT node on SAM9X7 SoC to properly describe the
   available clocks
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTsZ8eserC1pmhwqDmejrg/N2X7/QUCahxHEwAKCRCejrg/N2X7
 /aZcAP9W2CfnPGFuBHoT4DR3NLDcqgt0p6hni2RpV3P+ELK1NgEAqIYlIyf0RXbV
 j4TU9cbq6Z7iXb2hsMjF1gebKj1V6QU=
 =Z26Y
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmodlkkACgkQmmx57+YA
 GNkk2BAAsLgM/0tVJsx22CF0KouOrDhyjjbKt7/i70qnCkhC9K831X9O8dFBYIma
 8hZT/Rc0PWX9KueQl2IqiI+KKY2kjZ+zJGS64j21LVmdzPgVgR3/gzgf81IIzJMO
 aBuL7JbOZAO8aZ5sJQc6xvPo+fdO1sZmBU0yMRLZbSiOyH3rbpDO7KVAJzOo95F5
 GC3cNPGqSt91ytNSBI8E8OhVrJktr7ssgKOsIaGRxfERVTBA+utGfqJucDQJHIOC
 VDGg/31KQfvkz2cgrqFKzP6xAKk2drqM5Z5b7jZpu4FQkSEz2lAeqQEE1i+9eDx4
 EntZUaro1xQUOmk4J2MYLb0Kbf89jEvQ33wZogYpjLWsUt4nSAeviS2fcN4B8OQ7
 L7oYHeQh2hZoqncaz8xRT8R5WHvN8udI29LHsPBVNaka/BTphkgE35Ggxww5H0Ij
 XeWxyx4+DpxJk2NZ0UdlF1tUCSz5hEInLMkJ8uOsY5FFmBa8h57KHnCymu/wxn8G
 CFm/lc4p/VkIrivU0Kn9YHYT1HtBpYE2q9U9clLPthxI/IGma7DjF8qy+FXXQ51m
 0zdp/OcCVcVWIpOPj+iFyucQUpxY+mdAEWN5ppIf3yZVYxcxFWVOW6ADzHP1G9N2
 1ryn6jJIqp6mm9W+T7hNbgUqzraTGH4gHGjUD+79dVQeL1HVZZk=
 =xRm6
 -----END PGP SIGNATURE-----

Merge tag 'at91-fixes-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux into arm/fixes

Microchip AT91 fixes for v7.1

This update includes:
- a fix for the GMAC DT node on SAM9X7 SoC to properly describe the
  available clocks

* tag 'at91-fixes-7.1' of https://git.kernel.org/pub/scm/linux/kernel/git/at91/linux:
  ARM: dts: microchip: sam9x7: fix GMAC clock configuration

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-06-01 16:25:03 +02:00
Ethan Nelson-Moore
bf4ad3be06 ARM: orion5x: update board check in mss2_pci_init() to use the DT
The mss2_pci_init() function contains a check for the ARM machine ID
via the machine_is_mss2() macro. The board concerned now supports only
FDT booting, which does not use machine IDs, and therefore the code
should be updated to check the DT compatible property instead. The
machine was converted to FDT booting in commit fbf04d814d ("ARM:
orion5x: convert Maxtor Shared Storage II to the Device Tree"). The
presence of this machine ID check prevents the removal of machine IDs
no longer used by the kernel from arch/arm/tools/mach-types, because
the machine_is_*() macros are generated from mach-types. To resolve
this issue, use of_machine_is_compatible() instead.

Signed-off-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2026-06-01 10:26:30 +02:00
Ethan Nelson-Moore
b2a4bd1ee3 arm: mvebu_v5_defconfig: remove stale MACH_LINKSTATION_LSCHL reference
The legacy board file for MACH_LINKSTATION_LSCHL was removed in
commit ecfe696391 ("ARM: orion5x: remove legacy support of ls-chl")
after it was converted to DT booting, but a reference to it remained in
mvebu_v5_defconfig. Drop this unused code.

Signed-off-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2026-06-01 08:38:14 +02:00
Martin Kaiser
79c72baaae ARM: mvebu: simplify of_node_put calls
In armada_370_coherency_init, cpu_config_np is no longer needed after
of_iomap. We can call of_node_put earlier and summarize the two calls.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2026-06-01 08:24:46 +02:00
Martin Kaiser
e73bd62dd7 ARM: mvebu: drop unnecessary NULL check
Don't check the returned pointer from of_find_compatible_node.
We pass this pointer to of_iomap, which handles np==NULL  correctly.

Signed-off-by: Martin Kaiser <martin@kaiser.cx>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
2026-06-01 08:24:46 +02:00
Jinseok Kim
245552af86 arm: dts: bcm2711: Fix typo in gpio-line-names
Replace "RGMIO_MDC" with "RGMII_MDC" in gpio-line-names.

Signed-off-by: Jinseok Kim <always.starving0@gmail.com>
Link: https://lore.kernel.org/r/20260527103930.2973-1-always.starving0@gmail.com
Fixes: cd87c180b3 ("ARM: dts: bcm2711-rpi-4-b: Add SoC GPIO labels")
Fixes: ea93ada05c ("ARM: dts: Add Raspberry Pi Compute Module 4 IO Board")
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
2026-05-29 11:13:56 -07:00
Svyatoslav Ryhel
774bc27646 ARM: tegra: tf600t: Invert accelerometer calibration matrix
IMU calibration matrix used in the device tree is inverted when testing on
the device which results in wrong screen orientation. Invert it to match
the matrix dumped from the device.

Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2026-05-29 14:36:18 +02:00
Svyatoslav Ryhel
d9c890d753 ARM: tegra: tf600t: Drop backlight regulator
Drop dedicated backlight regulator since the GPIO used in it is actually
SFIO controlling backlight and setting it as GPIO causes backlight to
freeze at maximum level.

Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2026-05-29 14:36:17 +02:00
Svyatoslav Ryhel
2ecff0cda8 ARM: tegra: tf600t: Configure panel
Configure DSI panel used in ASUS VivoTab TF600T.

Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2026-05-29 14:36:16 +02:00
Svyatoslav Ryhel
5333a49e51 ARM: tegra: transformers: Add connector node for common trees
All ASUS Transformers have micro-HDMI connector directly available. After
Tegra HDMI got bridge/connector support, we should use connector framework
for proper HW description.

Tested-by: Andreas Westman Dorcsak <hedmoo@yahoo.com> # ASUS TF T30
Tested-by: Robert Eckelmann <longnoserob@gmail.com> # ASUS TF101 T20
Tested-by: Svyatoslav Ryhel <clamor95@gmail.com> # ASUS TF201 T30
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2026-05-29 14:36:16 +02:00
Svyatoslav Ryhel
34d8943508 ARM: tegra: transformer: Add support for front camera
Add front camera video path. Aptina MI1040 camera is used on all supported
ASUS Transformers, but only TF201 and TF700T will work since on
TF300T/TG/TL front camera is linked through an additional ISP.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2026-05-29 14:36:14 +02:00
Svyatoslav Ryhel
a5acde8adb ARM: tegra: grouper: Add support for front camera
Add front camera video path.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2026-05-29 14:36:14 +02:00
Ion Agorria
ece4229e45 ARM: tegra: p880: Lower CPU thermal limit
Lower the CPU thermal limit for the LG P880, since its chassis has less
thermal dissipation capability than the P895.

Signed-off-by: Ion Agorria <ion@agorria.com>
Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2026-05-29 14:36:12 +02:00
Svyatoslav Ryhel
61cf0112f7 ARM: tegra: lg-x3: Set PMIC's RTC address
LG X3 devices have the PMIC's RTC module located at a non-standard
address. Set the correct address.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2026-05-29 14:36:12 +02:00
Svyatoslav Ryhel
8399055d9f ARM: tegra: lg-x3: Complete video device graph
Add front and rear camera nodes and interlink them with Tegra CSI and VI.
Adjust camera PMIC voltages to better fit requirements and fix the focuser
node.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2026-05-29 14:36:11 +02:00
Yury Norov
c02be2ad2b uaccess: unify inline vs outline copy_{from,to}_user() selection
The kernel allows arches to select between inline and outline
implementations of the copy_{from,to}_user() by defining individual
INLINE_COPY_FROM_USER and INLINE_COPY_TO_USER, correspondingly.  However,
all arches enable or disable them always together.

Without the real use-case for one helper being inlined while the other
outlined, having independent controls is excessive and error prone.

Switch the codebase to the single unified INLINE_COPY_USER control.

Link: https://lore.kernel.org/20260425020857.356850-3-ynorov@nvidia.com
Signed-off-by: Yury Norov <ynorov@nvidia.com>
Tested-by: Alice Ryhl <aliceryhl@google.com>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Randy Dunlap <rdunlap@infradead.org>
Cc: Viktor Malik <vmalik@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2026-05-28 21:24:44 -07:00
Ethan Nelson-Moore
7afbe21e94 arm: boot: ep93xx: don't rely on machine_is_*() for removed board files
Code in misc-ep93xx.h relies on machine_is_*() macros for several
boards that no longer have legacy board files. They were removed in
commit e5ef574dda ("ARM: ep93xx: delete all boardfiles"). This
prevents the removal of machine IDs no longer used by the kernel from
mach-types. To resolve this issue, create local copies of these macros.
(The checks themselves are still valid because the IDs are still passed
in by the bootloader on these machines.) Also take the opportunity to
remove three repeated checks for the same ID.

Signed-off-by: Ethan Nelson-Moore <enelsonmoore@gmail.com>
Acked-by: Alexander Sverdlin <alexander.sverdlin@gmail.com>
Signed-off-by: Alexander Sverdlin <asv@kernel.org>
2026-05-29 00:21:38 +02:00
Svyatoslav Ryhel
4cc90d4c04 ARM: tegra: Configure Tegra114 power domains
Add power domains found in Tegra114 and configure operating-points-v2 for
supported devices accordingly.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2026-05-29 00:08:23 +02:00
Svyatoslav Ryhel
88627b26ba ARM: tegra: Add DC interconnections for Tegra114
Add DC interconnections to Tegra114 device tree to reflect connections
between MC, EMC and DC.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2026-05-29 00:08:23 +02:00
Svyatoslav Ryhel
bdc80b3246 ARM: tegra: Add EMC OPP and ICC properties to Tegra114 EMC and ACTMON device-tree nodes
Add EMC OPP tables and interconnect paths that will be used for dynamic
memory bandwidth scaling based on memory utilization statistics.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2026-05-29 00:08:23 +02:00
Brian Norris
1fe27b10dc ARM: tegra: Add #{address,size}-cells to Chromium-based /firmware
Chromium/Depthcharge bootloaders may dynamically add a few device nodes
to a system's DTB under a /firmware node. A typical DT looks something
like the following:

/ {
        firmware {
                ranges;

                coreboot {
                        compatible = "coreboot";
                        reg = <...>;
                        ...;
                };
        };
};

Notably, the /firmware node has an empty 'ranges', but does not have
address/size-cells.

Commit 6e5773d52f ("of/address: Fix WARN when attempting translating
non-translatable addresses") started requiring #address-cells for a
device's parent if we want to use the reg resource in a device node.
This leads to errors like the following:

[    7.763870] coreboot_table firmware:coreboot: probe with driver coreboot_table failed with error -22

Add appropriate #{address,size}-cells to work around the problem.

Note that Google has also patched the Depthcharge bootloader source to
add {address,size}-cells [1], but bootloader updates are typically
delivered only via Google OS updates. Not all users install Google
software updates, and even if they do, Google may not produce updated
binaries for all/older devices.

[1] https://lore.kernel.org/all/20241209092809.GA3246424@google.com/
    https://crrev.com/c/6051580 ("coreboot: Insert #address-cells and
    #size-cells for firmware node")

Closes: https://lore.kernel.org/all/aeKlYzTiL0OB1y3g@google.com/
Fixes: 6e5773d52f ("of/address: Fix WARN when attempting translating non-translatable addresses")
Signed-off-by: Brian Norris <briannorris@chromium.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2026-05-29 00:08:16 +02:00
Linus Walleij
66ac2df408
ARM: dts: gemini: Fix partition offsets
These FIS partition offsets were never right: the comment clearly
states the FIS index is at 0xfe0000 and 0x7f * 0x200000 is
0xfe0000.

Tested on the iTian SQ201.

Fixes: d88b11ef91 ("ARM: dts: Fix up SQ201 flash access")
Fixes: b5a923f8c7 ("ARM: dts: gemini: Switch to redboot partition parsing")
Signed-off-by: Linus Walleij <linusw@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-05-28 23:58:35 +02:00
Ard Biesheuvel
4156e65624 ARM: Add a neon-intrinsics.h header like on arm64
Add a header asm/neon-intrinsics.h similar to the one that arm64 has.
This makes it possible for NEON intrinsics code to be shared seamlessly
between ARM and arm64.

Signed-off-by: Ard Biesheuvel <ardb@kernel.org>
Link: https://patch.msgid.link/20260422171655.3437334-11-ardb+git@google.com
Signed-off-by: Eric Biggers <ebiggers@kernel.org>
2026-05-28 13:14:17 -07:00
Yury Norov
42d9c75e8b arch: select HAVE_ARCH_BITREVERSE conditionally on BITREVERSE
Architectures may have bit reversal instructions, but if the API not
needed, the corresponding option should not be selected because it may
lead to generating the unneeded code.

Signed-off-by: Yury Norov <ynorov@nvidia.com>
2026-05-28 11:39:16 -04:00
Linus Walleij
dce8e0cb88 ARM: dts: gemini: Correct the RUT1xx
Fix two problems with the RUT1xx device tree:
- The memory is 32MB not 128MB
- The console is 19200 BPS
- Activate the PCI
- Disable the unused USB ports

Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-05-28 10:38:45 +02:00
Linus Walleij
0b6084ebde ARM: dts: Add a Raidsonic IB-4210-B DTS
This adds a device tree for the Raidsonic IB-4210-B NAS, a slightly
under-powered version of IB-4220-B with half the memory and
the cheaper version of the SoC.

Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-05-28 10:38:41 +02:00
Linus Walleij
ccd7118d30 ARM: dts: Add a Verbatim Gigabit NAS DTS
This adds a device tree for the Verbatim S08V1901-D1 NAS
which also has the product names "Gigabit Network Hard Drive"
"Gigabit NAS" and maybe other names.

Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-05-28 10:38:37 +02:00
Linus Walleij
14535431a5 ARM: dts: gemini: Add SSP/SPI block
Add the SSP/SPI block to the Gemini device tree.

Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-05-28 10:38:23 +02:00
Linus Walleij
04ff9bcbc5 ARM: dts: gemini: Tag disk led for disk-activity
Linux now has a trigger specifically for all disk activity
and this is what the LED is used for so tag it like such.

Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-05-28 10:38:19 +02:00
Linus Walleij
c26a3fb47f ARM: dts: gemini: iTian SQ201 need to boot from mtdblock3
Alter the rootfs partition to the one actually used for the
rootfs.

Signed-off-by: Linus Walleij <linusw@kernel.org>
2026-05-28 10:38:12 +02:00
Nathan Chancellor
48d229b6a4
ARM: Drop tautological ld.lld conditions from ARCH_MULTI_V4{,T}
Now that the minimum supported version of LLVM for building the kernel
has been raised to 17.0.1, the '!ld.lld || ld.lld >= 16' dependency of
CONFIG_ARCH_MULTI_V4{,T} is always true, so it can be removed from both
symbols.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Link: https://patch.msgid.link/20260517-bump-minimum-supported-llvm-version-to-17-v2-7-b3b8cda46bdd@kernel.org
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
2026-05-27 15:20:05 -07:00
Bartosz Golaszewski
61442e46fb ARM: omap1: enable real software node lookup of GPIOs on Nokia 770
Currently the board file for Nokia 770 creates dummy software nodes not
attached in any way to the actual GPIO controller devices and uses the
fact that GPIOLIB matching swnode's name to the GPIO chip's label during
software node lookup. This behavior is wrong and we want to remove it.
To that end, we need to first convert all existing users to creating
actual fwnode links.

Create real software nodes for GPIO controllers on OMAP16xx and
reference them from the software nodes in the nokia board file.

Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Janusz Krzysztofik <jmkrzyszt@gmail.com>
Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Link: https://patch.msgid.link/20260430-nokia770-gpio-swnodes-v7-3-c88f74c90dd6@oss.qualcomm.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
2026-05-27 10:00:51 +02:00
Bartosz Golaszewski
2bdf432e15 ARM: omap1: use platform_device_register_full() for GPIO devices on OMAP 16xx
Ahead of changes attaching GPIO controller's software nodes referenced
from the Nokia 770 board files to their target devices, switch the
method for registering the platform devices to the
platform_device_register_full() variant. This is done to leverage the
new swnode field of struct platform_device_info which automate the
software node's registration and assignment.

Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Link: https://patch.msgid.link/20260430-nokia770-gpio-swnodes-v7-2-c88f74c90dd6@oss.qualcomm.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
2026-05-27 10:00:50 +02:00
Bartosz Golaszewski
3288e99f99 ARM: omap1: drop unused variable from omap16xx_gpio_init()
The pdata variable is set but not used. Remove it.

Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Aaro Koskinen <aaro.koskinen@iki.fi>
Link: https://patch.msgid.link/20260430-nokia770-gpio-swnodes-v7-1-c88f74c90dd6@oss.qualcomm.com
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
2026-05-27 10:00:50 +02:00
Potin Lai
1249ee157d ARM: dts: aspeed: sanmiguel: Fix the CPU_CHIPTHROT linename
Fix the GPIO linenames for CPU_CHIPTHROT signals.

The signals were incorrectly marked as output ("-O") while they are
actually input signals ("-I").

[arj: Drop list of changed names]

Signed-off-by: Potin Lai <potin.lai@quantatw.com>
Link: https://patch.msgid.link/20260523-potin-update-sanmiguel-dts-20260522-v1-2-169f5fceb5f9@quantatw.com
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2026-05-27 12:44:26 +09:30
Potin Lai
136fdfdad2 ARM: dts: aspeed: sanmiguel: Add IOEXP interrupt pin settings
Kernel dmesg reports IRQ #44 being disabled due to unhandled
interrupts from multiple PCA953x IO expanders:

    [ 447.047861] irq 44: nobody cared (try booting with the "irqpoll" option)
    [ 447.063124] handlers:
    [ 447.068176] [<2ab869ad>] irq_default_primary_handler threaded [<b8adc310>] pca953x_irq_handler
    [ 447.087268] [<2ab869ad>] irq_default_primary_handler threaded [<b8adc310>] pca953x_irq_handler
    [ 447.106344] [<2ab869ad>] irq_default_primary_handler threaded [<b8adc310>] pca953x_irq_handler
    [ 447.125421] [<2ab869ad>] irq_default_primary_handler threaded [<b8adc310>] pca953x_irq_handler
    [ 447.144513] [<2ab869ad>] irq_default_primary_handler threaded [<b8adc310>] pca953x_irq_handler
    [ 447.163587] [<2ab869ad>] irq_default_primary_handler threaded [<b8adc310>] pca953x_irq_handler
    [ 447.182663] [<2ab869ad>] irq_default_primary_handler threaded [<b8adc310>] pca953x_irq_handler
    [ 447.201756] [<2ab869ad>] irq_default_primary_handler threaded [<b8adc310>] pca953x_irq_handler
    [ 447.220837] Disabling IRQ #44

The affected IOEXP nodes are missing interrupt pin configuration in
the device tree, causing the interrupt line to remain asserted and
resulting in repeated unhandled IRQ events.

Add the required interrupt-related properties for the affected IOEXP
devices to ensure proper interrupt handling and prevent the IRQ from
being disabled.

[arj: Drop markdown code-block fence, favour indentation]

Signed-off-by: Potin Lai <potin.lai@quantatw.com>
Link: https://patch.msgid.link/20260523-potin-update-sanmiguel-dts-20260522-v1-1-169f5fceb5f9@quantatw.com
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2026-05-27 12:42:12 +09:30
Mike Hsieh
9c18b20482 ARM: dts: aspeed: clemente: Remove IOB NIC TMP421 nodes
Remove the TMP421 sensor entry from the DTS, as it is no longer the
primary telemetry source.

Accessing the CX8 NIC via I2C while it is powered off causes voltage
leakage on the bus, leading to EEPROM corruption on shared I2C devices.
Removing this node prevents the BMC from initiating traffic to the NIC
during initialization, protecting the integrity of the shared bus.

Signed-off-by: Mike Hsieh <mike.quanta.115@gmail.com>
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2026-05-27 12:33:15 +09:30
Anirudh Srinivasan
6b3a3c10ce ARM: dts: aspeed: Enable networking for Asus Kommando IPMI Card
Adds the DT nodes needed for ethernet support for Asus Kommando, with
phy mode set to rgmii-id.

When this DT was originally added, the phy mode was set to rgmii (which
was incorrect). It was suggested to remove networking support from the
DT till the Aspeed networking driver was patched so that the correct phy
mode could be used.

The discussion in [1] mentions that u-boot was inserting clk delays that
weren't needed, which resulted in needing to set the phy mode in linux
to rgmii incorrectly. The solution suggested there was to patch u-boot to
no longer insert these clk delays and use rgmii-id as the phy mode for
any future DTs added to linux.

This DT was tested (on the OpenBMC u-boot fork [2]) with a u-boot DT
modified to insert clk delays of 0 (instead of patching u-boot itself).
[3] adds a u-boot DT for this device (without networking) and describes
how to patch it to add networking support. If this patched DT is used,
then networking works with rgmii-id phy mode in both u-boot and linux.

[1] https://lore.kernel.org/linux-aspeed/ef88bb50-9f2c-458d-a7e5-dc5ecb9c777a@lunn.ch/
[2] https://github.com/openbmc/u-boot/tree/v2019.04-aspeed-openbmc
[3] https://lore.kernel.org/openbmc/20260328-asus-kommando-v2-1-2a656f8cd314@gmail.com/

Signed-off-by: Anirudh Srinivasan <anirudhsriniv@gmail.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Link: https://patch.msgid.link/20260331-asus-kommando-networking-v2-1-f7d72ae5d40d@gmail.com
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2026-05-27 12:06:14 +09:30
Neil Cheng
12b7b2bff1 ARM: dts: aspeed: rainiera6: Add Meta Rainiera6 BMC
Add device tree for the Meta (Facebook) Rainiera6 compute node, based on
AST2600 BMC.

Signed-off-by: Neil Cheng <neilcheng0417@gmail.com>
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2026-05-27 11:55:16 +09:30
Heiko Stuebner
6fc5666aa5 ARM: rockchip: keep reset control around
Do not put the reset control, retain exclusive control over it.
After turning on a CPU, the corresponding reset line must stay
deasserted.

This also avoids calling reset_control_put() before workqueues
are operational.

Fixes: 78ebbff6d1 ("reset: handle removing supplier before consumers")
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Tested-by: Steven Price <steven.price@arm.com>
Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://patch.msgid.link/20260521210915.2331176-1-heiko@sntech.de
2026-05-26 23:20:39 +02:00
Petr Pavlu
ffe1545ce8 module, arm: force sh_addr=0 for arch-specific sections
When linking modules with 'ld.bfd -r', sections defined without an address
inherit the location counter, resulting in non-zero sh_addr values in the
resulting .ko files. Relocatable objects are expected to have sh_addr=0 for
all sections. Non-zero addresses are confusing in this context, typically
worse compressible, and may cause tools to misbehave [1].

Force sh_addr=0 for all arm-specific module sections.

Link: https://sourceware.org/bugzilla/show_bug.cgi?id=33958 [1]
Signed-off-by: Petr Pavlu <petr.pavlu@suse.com>
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
2026-05-26 20:45:59 +00:00
Yuho Choi
63838c3239 ARM: socfpga: Fix OF node refcount leak in SMP setup
socfpga_smp_prepare_cpus() looks up the Cortex-A9 SCU node with
of_find_compatible_node(), which returns a node reference that must be
released with of_node_put().

The function maps the SCU registers and then returns without dropping
that reference, leaking the node on both the success path and the
of_iomap() failure path.

Drop the reference once the mapping attempt is complete. The returned
MMIO mapping does not depend on keeping the device node reference held.

Fixes: 122694a0c7 ("ARM: socfpga: use of_iomap to map the SCU")
Cc: stable@vger.kernel.org
Signed-off-by: Yuho Choi <dbgh9129@gmail.com>
Signed-off-by: Dinh Nguyen <dinguyen@kernel.org>
2026-05-26 09:53:20 -05:00
Thomas Gleixner
34594da765 genirq/proc: Increase default interrupt number precision to four
Quite some architectures have four character wide acronyms for architecture
specific interrupts like IPI, NMI, etc.

The default precision of printing the Linux device interrupt numbers is
three, which causes quite some code to play games with adding or omitting
space after the acronym and the colon in order to keep the per CPU numbers
properly aligned.

Increase the default number precision to four in the core code and get rid
of the space games all over the place. At the same time align all
architecture specific descriptor texts left so that they show up in the
same column as the interrupt chip names, which makes the output more
uniform accross architectures. Fix up the GDB script to this new scheme as
well.

Signed-off-by: Thomas Gleixner <tglx@kernel.org>
Link: https://patch.msgid.link/20260517194931.839482411@kernel.org
2026-05-26 16:21:14 +02:00
Manikandan Muralidharan
ac75ae4367 ARM: configs: at91: sama7: add sama7d65 i3c-hci
Enable the configs needed for I3C framework and microchip
sama7d65 i3c-hci driver.

Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
Reviewed-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
Link: https://lore.kernel.org/r/20260525092405.1514213-6-manikandan.m@microchip.com
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2026-05-25 22:55:30 +03:00
Durai Manickam KR
96b33938cf ARM: dts: microchip: add I3C controller
Add I3C controller for sama7d65 SoC.

Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
Signed-off-by: Manikandan Muralidharan <manikandan.m@microchip.com>
Link: https://lore.kernel.org/r/20260525092405.1514213-5-manikandan.m@microchip.com
Signed-off-by: Claudiu Beznea <claudiu.beznea@tuxon.dev>
2026-05-25 22:54:37 +03:00
Mark Brown
3bd860dcf9
ASoC: add shared BCLK rate constraint for cross-DAI coordination
Troy Mitchell <troy.mitchell@linux.spacemit.com> says:

On some SoCs (e.g. SpacemiT K3), multiple I2S controllers share the
same physical BCLK. When one controller is already streaming, the
others must use hw_params that result in the same BCLK rate, otherwise
the shared clock would be reconfigured and corrupt the active stream.

This series adds framework-level support for this constraint:

Patch 1 adds the dt-bindings for the spacemit,k3-i2s compatible.
The K3 SoC uses the same I2S IP as K1 but requires additional clocks:
a dedicated sysclk_div, along with c_sysclk and c_bclk which are
shared across multiple I2S controllers.

Patch 2 adds a DEFINE_GUARD wrapping snd_soc_card_mutex_lock() and
snd_soc_card_mutex_unlock() so that scope-based locking picks up the
SND_SOC_CARD_CLASS_RUNTIME lockdep subclass.

Patch 3 adds the constraint logic in soc-pcm.c. During PCM open,
every DAI that has a bclk clock pointer gets a hw_rule registered
unconditionally. The rule callback runs at hw_refine time: it scans
the card for an active peer sharing the same physical BCLK (via
clk_is_match()) that has already completed hw_params, then constrains
the current stream's rate to match the established BCLK rate. The
first DAI to complete hw_params is unconstrained; subsequent DAIs
must match. Two modes are supported:

  - Default (I2S): BCLK = rate * channels * sample_bits. The rule
    derives the valid rate range from the current channel and
    sample_bits intervals.

  - Explicit ratio (TDM): if the driver sets dai->bclk_ratio
    (e.g. slots * slot_width), the rule computes the single valid
    rate as active_bclk_rate / bclk_ratio.

This series was prompted by review feedback on the SpacemiT K3 I2S
series, where a vendor-specific fixed-sample-rate property was rejected
in favor of a generic framework solution:
https://lore.kernel.org/all/afFqgF6ZRwYdfUmL@sirena.co.uk/

Link: https://patch.msgid.link/20260522-i2s-same-blk-v4-0-a71a86faaa20@linux.spacemit.com
2026-05-25 11:42:45 +01:00
Danilo Krummrich
56785dcb2e Linux 7.1-rc5
-----BEGIN PGP SIGNATURE-----
 
 iQFSBAABCgA8FiEEq68RxlopcLEwq+PEeb4+QwBBGIYFAmoTZAYeHHRvcnZhbGRz
 QGxpbnV4LWZvdW5kYXRpb24ub3JnAAoJEHm+PkMAQRiGKZ0H/A8Ti79DXqEl4M6V
 S1ZYfteuvyWCdygPfY7+CQsxS1EjfmeRXd0213n95jijUoXvAVe7HJ5FuroTltsF
 LYqH3CAedeEWMO1rIZjuDs5J1BzWAh7b0/QoanTlAjI1ZL8c3Btj/o//PoQfztiS
 HWlN/aCcsZTi9n0ewV9eQM9jdiuhBlpZujfDX90vYurxAB+3K2c1b0UN+Y4/zMXO
 83zaDLMYhIh8cEaU52+23H9UpyfrT0B8n6YgqbU4ZBRIbgA1BC4gloT6B7OHFKfq
 PAfjAOBfpe43K8lLUyfbkfNohNblLOboiMmekdf+j2y4wqpCO64o6WigCrZtxtHe
 9znkJpM=
 =H+I9
 -----END PGP SIGNATURE-----

Merge tag 'v7.1-rc5' into driver-core-next

We need the driver-core fixes in here as well to build on top of.

Signed-off-by: Danilo Krummrich <dakr@kernel.org>
2026-05-25 02:40:57 +02:00
Jakub Kicinski
1a1f055318 Not much going on here right now:
- mac80211/hwsim:
    - some NAN related things
    - MCS/NSS rate issues with S1G
  - p54: port SPI version to device-tree
  - (a few other random things)
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEpeA8sTs3M8SN2hR410qiO8sPaAAFAmoPJbIACgkQ10qiO8sP
 aAAaPw/+N1dZbDbayDy2sA9oniqpiCJEWspfaK3fnkh1qdpit84tGxEbZtCUIeNB
 WYsvvce25qNifWH+xSoma0v+F70eLdlWf6cvjL+dtpf3ITX9HkL055vRtpR+t+vL
 /hTtLL8q4OXdu4I/UuCw47ftXzV2zPcHh3+VQK1uR0aM3kXpJhewCAYC3TY1tDVe
 +YiUynbidG/893sGnXPG0KMDT92TF/N6sIQLcVw7Yn3d+GjPPP1M0W89FfZzCO5+
 ngi529r4VQ8z/XDAWUFzK8SzCNbaVqZtAZt0/NuhfCWOCIXq76qYkJq3L4MxMQRg
 MPHDkgKQI5cZB6/zHq1DEdhEcu8f0zo7gTFnSrXbq4I3DkYVpFaOo9JVjcHLKE9f
 O6M4fr/a59Zi/jMFPvGDuSItOrR4fERD9H9y+U0DmV6fk4PxXYgE7qWcWDdHdKeD
 rtwp5FUHrNZxujKvxR2CPzW0JfCh4IZnb4IFLgloGI79SBJ6JL4WgriHavKGCihq
 7JDo3TEn1oh9hcbIytXIZ6ZD8PkGZk93f7HeRuCSDo27SfLOvAR0KKpC1opX0zQw
 dWEbTpz4jhmgskb0SM8BmuD+XxhNHPojzMmPdyjtrA7pDRfZfM255/F5++etmgQm
 ToS93CEPU4rCZsy7O2NoLQGVZSfXc2y5fCZwTJoBZdUDYRviG7A=
 =XLqG
 -----END PGP SIGNATURE-----

Merge tag 'wireless-next-2026-05-21' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next

Johannes Berg says:

====================
Not much going on here right now:
 - mac80211/hwsim:
   - some NAN related things
   - MCS/NSS rate issues with S1G
 - p54: port SPI version to device-tree
 - (a few other random things)

* tag 'wireless-next-2026-05-21' of https://git.kernel.org/pub/scm/linux/kernel/git/wireless/wireless-next:
  ARM: dts: omap2: add stlc4560 spi-wireless node
  p54spi: convert to devicetree
  dt-bindings: net: add st,stlc4560/p54spi binding
  wifi: mac80211: allow cipher change on NAN_DATA interfaces
  wifi: mac80211_hwsim: Do not declare NAN support for Extended Key ID
  wifi: cfg80211: add a function to parse UHR DBE
  wifi: mac80211: don't call ieee80211_handle_reconfig_failure when not needed
  wifi: mac80211: Allow per station GTK for NAN Data interfaces
  wifi: mac80211_hwsim: advertise NPCA capability
  wifi: mac80211_hwsim: reject NAN on multi-radio wiphys
  wifi: plfxlc: use module_usb_driver() macro
  wifi: mac80211: don't recalc min def for S1G chan ctx
  wifi: mac80211: skip NSS and BW init for S1G sta
  wifi: mac80211: check stations are removed before MLD change
  wifi: rt2x00: allocate anchor with rt2x00dev
====================

Link: https://patch.msgid.link/20260521153519.380276-3-johannes@sipsolutions.net
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2026-05-21 16:00:06 -07:00
Linus Torvalds
7acfa2c5f4 ring-buffer fixes for 7.1:
- Fix reporting MISSED EVENTS in trace iterator
 
   When the "trace" file is read with tracing enabled, if the writer
   were to pass the iterator reader, it resets, sets a "missed_events"
   flag and continues. The tracing output checks for missed events and
   if there are some, it prints out "[LOST EVENTS]" to let the user
   know events were dropped.
 
   But the clearing of the missed_events happened when the tracing system
   queried the ring buffer iterator about missed events. This was premature
   as the ring buffer is per CPU, and the tracing code reads all the
   CPU buffers and checks for missed events when it is read. If the
   CPU iterator that had missed events isn't printed next, the output
   for the LOST EVENTS is lost.
 
   Clear the missed_events flag when the iterator moves to the next event
   and not when the missed_events flag is queried. Also clear it on reset.
 
 - Flush and stop the persistent ring buffer on panic
 
   On panic the persistent ring buffer is used to debug what caused the
   panic. But on some architectures, it requires flushing the memory
   from cache, otherwise, the ring buffer persistent memory may not have
   the last events and this could also cause the ring buffer to be
   corrupted on the next boot.
 
 - Fix nr_subbufs initialization in simple_ring_buffer_init_mm
 
   The remote simple ring buffer  meta data nr_subbufs is initialized
   too early and gets cleared later on, making it zero and not reflect
   the actual number of sub-buffers.
 
 - Fix unload_page for simple_ring_buffer init rollback
 
   On error, the pages loaded need to be unloaded. To unload a page
   it is expected that: page = load_page(va); -> unload_page(page).
   But the code was doing: unload_page(va) and not unload_page(page).
 
 - Create output file from cmd_check_undefined
 
   The check for undefined symbols checks if the file *.o.checked exists
   and if so it skips doing the work. But the *.o.checked file never
   was created making every build do the work even when it was already
   done previously.
 -----BEGIN PGP SIGNATURE-----
 
 iIoEABYKADIWIQRRSw7ePDh/lE+zeZMp5XQQmuv6qgUCag8l7BQccm9zdGVkdEBn
 b29kbWlzLm9yZwAKCRAp5XQQmuv6qga3AQDkyh7V4T+fxY5gc5jSKVx5U9bRAMpJ
 3GWGNCY9TGUyewEApUNO5MVGvXttyc1ONPHuBcShynj3resJk90sk491kw0=
 =aY8d
 -----END PGP SIGNATURE-----

Merge tag 'trace-ringbuffer-v7.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace

Pull ring-buffer fixes from Steven Rostedt:

 - Fix reporting MISSED EVENTS in trace iterator

   When the "trace" file is read with tracing enabled, if the writer
   were to pass the iterator reader, it resets, sets a "missed_events"
   flag and continues. The tracing output checks for missed events and
   if there are some, it prints out "[LOST EVENTS]" to let the user know
   events were dropped.

   But the clearing of the missed_events happened when the tracing
   system queried the ring buffer iterator about missed events. This was
   premature as the ring buffer is per CPU, and the tracing code reads
   all the CPU buffers and checks for missed events when it is read. If
   the CPU iterator that had missed events isn't printed next, the
   output for the LOST EVENTS is lost.

   Clear the missed_events flag when the iterator moves to the next
   event and not when the missed_events flag is queried. Also clear it
   on reset.

 - Flush and stop the persistent ring buffer on panic

   On panic the persistent ring buffer is used to debug what caused the
   panic. But on some architectures, it requires flushing the memory
   from cache, otherwise, the ring buffer persistent memory may not have
   the last events and this could also cause the ring buffer to be
   corrupted on the next boot.

 - Fix nr_subbufs initialization in simple_ring_buffer_init_mm

   The remote simple ring buffer meta data nr_subbufs is initialized too
   early and gets cleared later on, making it zero and not reflect the
   actual number of sub-buffers.

 - Fix unload_page for simple_ring_buffer init rollback

   On error, the pages loaded need to be unloaded. To unload a page it
   is expected that: page = load_page(va); -> unload_page(page). But the
   code was doing: unload_page(va) and not unload_page(page).

 - Create output file from cmd_check_undefined

   The check for undefined symbols checks if the file *.o.checked exists
   and if so it skips doing the work. But the *.o.checked file never was
   created making every build do the work even when it was already done
   previously.

* tag 'trace-ringbuffer-v7.1-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
  tracing: Create output file from cmd_check_undefined
  tracing: Fix unload_page for simple_ring_buffer init rollback
  tracing: Fix nr_subbufs initialization in simple_ring_buffer_init_mm()
  ring-buffer: Flush and stop persistent ring buffer on panic
  ring-buffer: Fix reporting of missed events in iterator
2026-05-21 14:05:09 -07:00
Masami Hiramatsu (Google)
a494d3c8d5 ring-buffer: Flush and stop persistent ring buffer on panic
On real hardware, panic and machine reboot may not flush hardware cache
to memory. This means the persistent ring buffer, which relies on a
coherent state of memory, may not have its events written to the buffer
and they may be lost. Moreover, there may be inconsistency with the
counters which are used for validation of the integrity of the
persistent ring buffer which may cause all data to be discarded.

To avoid this issue, stop recording of the ring buffer on panic and
flush the cache of the ring buffer's memory.

Fixes: e645535a95 ("tracing: Add option to use memmapped memory for trace boot instance")
Cc: stable@vger.kernel.org
Cc: Will Deacon <will@kernel.org>
Cc: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Cc: Ian Rogers <irogers@google.com>
Link: https://patch.msgid.link/177751969602.2136606.12031934362587643488.stgit@mhiramat.tok.corp.google.com
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Steven Rostedt <rostedt@goodmis.org>
2026-05-21 08:20:58 -04:00
Rosen Penev
f6c6b4d1c8 ARM: dts: BCM5301X: EA6500v2: fix USB3
USB3 needs to have a GPIO pulled HIGH in order to function. Add vcc-gpio
to do so.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://lore.kernel.org/r/20260406220528.101340-1-rosenp@gmail.com
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
2026-05-20 16:25:47 -07:00
Rosen Penev
1dd3a357b8 ARM: dts: BCM5301X: R6300v2: fix USB3
USB3 needs GPIO to be pulled HIGH in order to function. Add vcc-gpio to
do so.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://lore.kernel.org/r/20260406220453.101185-1-rosenp@gmail.com
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
2026-05-20 16:25:29 -07:00
Rosen Penev
d7b3f4a4eb ARM: dts: NSP: Move MX6X pinctrl config to PWM node
On boot there is this warning:

/axi@18000000/pinctrl@3f1c0: Fixed dependency cycle(s) with /axi@18000000/pinctrl@3f1c0/pwm_leds

Fix by moving the pinctrl configuration to pwm, which is the actual
consumer.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
Link: https://lore.kernel.org/r/20260430051612.700050-1-rosenp@gmail.com
Signed-off-by: Florian Fainelli <florian.fainelli@broadcom.com>
2026-05-20 16:22:13 -07:00
Arnd Bergmann
b4e49a4a38 ARM: zte: Add zx297520v3 platform support
This SoC is used in low end LTE-to-WiFi routers, for example some D-Link
 DWR 932 revisions, ZTE K10, ZLT S10 4G, but also models that are branded
 and sold by ISPs themselves. They are widespread in Africa, China,
 Russia and Eastern Europe.
 
 This SoC is a relative of the zx296702 and zx296718 that had some
 upstream support until commit 89d4f98ae9 ("ARM: remove zte zx
 platform").
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEQxb0tqoFWyeVMl1sPRO8yFRPGiIFAmoE5oYbFIAAAAAABAAO
 bWFudTIsMi41KzEuMTIsMiwyAAoJED0TvMhUTxoiccEQAJDZWGRlilY5Ak6J80zX
 ytrg0Go5zTN17IK6If6Ouk5j9+zDwlxrKn3vpRPUO9n7rT/1lw7CtfVusXufDip4
 q4vkNWIkf23S48VjA/De+89IBwRI1vbSeyoePOCgi+MsM5IcxfcQqTjnmoe7tUDd
 6OsyiLL8vZ/ZgnfoBfDdx6FguXvT+vwY4flPvGnG53etBmc0PNPF2h1JEkFelqwI
 fDk/zg0SF96gUec5j/NOPycgqNQw2c3x6g6QgWmpWcRZvL0V9KRlgURJoSz9sl/4
 5FnQNJwAsSUVwh56Mgw+HeyPy3bv+RZjkKArLs3ilCpZCHVYTqqQA6Nt0XEDuhjX
 K3ajKxEejRm8lCCa1Mv55MbLN9mq9GPM6+uF5KrRClAhSGhjcE/tykZwN2KCyTip
 oltp6qdE2IspLMy0DOj1rYZ0zbZ0DoZaPR9AAwjS2o8ig4uNZq8Vnd79kWGVVtco
 S9ko4dCicmcgp4WdRK21/LVqil3Tnrav1unscv3RZem/pbQo0NFy+tNkbeLIInaK
 9hiZjEMo67bnPPtjLB0pO5zYVVf+OKfSteppKp07jqYPKIAejeTNweCNggSQPKGc
 8fsqBeCqtRzxxfiVX7OeF1UVvWMuq8NJP4It3reMvkckFlb9GrFhK+uE4q4x1cCZ
 oDAQ6B7EyOxEy9DT8GDuIhtJ
 =64Pq
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmoOFB0ACgkQmmx57+YA
 GNndYRAAmaW2Mh5dOw2s+XmEQgcyoQJz8ULuOjUxl4totOrR+dEeGHNP/4hNbfX1
 GNpinW351APW4cONjPSa52J+9OfwnfRjpVLOZcgs9hLqm2MVwDCBB7eI81etqs5o
 /xEbKZi3m+5L2Iif74fn+c9qrDKEqKI8lpvzdxc9/OMAyPCoqqXSnGnC6yp8hXe5
 X1ynjjrBDN+y99H7w0VbXoM2PBnWDwYCwyl5wHv1k207p1w7PFKcpQFloAWrnLr3
 t4MpGcTrc3ewe+jflGzfEnVTwV77I+wZ0vxnSJRZu2hpgwkfN/nyjGSrTZtu+9VY
 uEIfkZqlUY0R629DDZTOnVE2IRp6+hZ7dBGifcwO1hcw5JnslFVYPmAXtfs8FIRw
 yU5ZZkYXbQ36RFonf7oTcgyFYICvGBTfde8k2N6ZXeW4wxzrnyKM6LlAVljnfg9R
 dMl+MxfN6bm9AHHtK85hcbQttX/XwA81v/bYLpAAAkh42auljQNHuy01dt5+dV3G
 QZaN7zUdb2IoL79KpeMm6fn7F8iEfthx0tNEZQDmhGa10ou3PgmJri9LZJQwyXqF
 7V668dU+K+hB28zBQVMKvOJmYBI9OxmQdNCSx/ehKwIS08yU3rhbIZ7XU50dhtjD
 1m2V636kziAxg7Our516ckCE/BaFLolXF0ZpPZiEN4bkw9pgouw=
 =+qtN
 -----END PGP SIGNATURE-----

Merge tag 'zx29-plat-for-7.2' of https://gitlab.com/stefandoesinger/zx297520-kernel into soc/arm

ARM: zte: Add zx297520v3 platform support

This SoC is used in low end LTE-to-WiFi routers, for example some D-Link
DWR 932 revisions, ZTE K10, ZLT S10 4G, but also models that are branded
and sold by ISPs themselves. They are widespread in Africa, China,
Russia and Eastern Europe.

This SoC is a relative of the zx296702 and zx296718 that had some
upstream support until commit 89d4f98ae9 ("ARM: remove zte zx
platform").

* tag 'zx29-plat-for-7.2' of https://gitlab.com/stefandoesinger/zx297520-kernel:
  ARM: zte: Add zx297520v3 platform support

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-05-20 22:05:46 +02:00
Arnd Bergmann
e8a53f2d9c ARM: dts: zte: zx297520v3 device tree for 7.2
This pull request adds board bindings and DTS files for ZTE zx297520v3
 boards as well as one initial device (D-Link DWR 932M) based on this
 board.
 -----BEGIN PGP SIGNATURE-----
 
 iQJPBAABCAA5FiEEQxb0tqoFWyeVMl1sPRO8yFRPGiIFAmoE5xIbFIAAAAAABAAO
 bWFudTIsMi41KzEuMTIsMiwyAAoJED0TvMhUTxoidE4P/1mFb3l21g0lYAGxCZPC
 27k4XgZ+j+wH/x210XI/5ghgU0YLcNuXd/ydDk3GhRFdPZR7HDGiGpGjwF/RVgAQ
 5zubGhQDOr7qZyBIzgDUXvYYXyF7NymEFgPCbRxCspeTF0+GNS6eKxYo8vhHgque
 74m+F+BcBFmxs8hRu+pkC/jrmihD/PfmyLa/w9PK5kysNhByt5CLnvwhEqAQ/sHV
 JY5M1mwvvQuvRMZsrYVojx9dGbaE7NnoXkIJr1gr8OngnVSHN8eTtlbXMuYVXX6a
 U3eUbUJnpB2R4hJy+rZNmReAyYO/HQLh9BMYr0maXjZAAYCzBmL7xDLgFeua8zse
 qWfrGFK1eraVSyfhsHbUSbBkYrEkwadRMzFV+QheRaNucU5/DK0G+RoiOeE4f/uB
 xUMYY+FCqEyjf5wLatmQ4i/ogqX13etSHUZwzPz24Ny/bPuKwiNFj2+qlHiDYGwJ
 tOuei/Ib4DJXKpRYVmTVv/xH4oIGLQLNeYV9d49cqVu5GqqCHU/4uXCS0El/WIfV
 ihxoy+gSyLdLY7QghlicZM3R+5mLLh0FsBI6lQJU/I0lzJJOEFe+KLCk3hFl5F71
 GzL8tkxB9VBkqJRJ2MRmjOTejpGaI6agHH0gVUkB+7B2CnA/e0nTyDLnDTcvtWS6
 lfrEleo+RT9YS9gGOLOOxSo7
 =leHo
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmoOCWEACgkQmmx57+YA
 GNkkzw/7B+GQBxkkwp8Y9AXLMRsHw0XbHTNuzGsqrbG98mNqXV7V/PqajNwV1QGp
 7uzV+rYjI5bP0hMRKUaLuQ4y1iKkxaJUaiRmWmDGVOxBYwvqLH/J++H2Al5Xd7Br
 HiAvZaLsGQcE7D0qUFnqs3HnhdkiD5o+tO43tnxx9MDkupY0IKtEvOuWZhBcNNVC
 i+qkDploaGMkWrGiRopFdJlHlQil/Yn2TrDUMtHDP3zT4QAqpdS85ogd2b/YvP3D
 BLOnbwsKSTbd1iU7OUvvxKTgNH4S7N1TDvg8Ei40EU122dw3gDajM97r9e1uxmdC
 u/x0NnwAmDQ3bUAfaoTSzOPx8CJOVrPG2+ef7cHnfSIUBD1l+hpymr37USfi0ioL
 Jz5AKivDpaIHKQLzlqYJhjhs0TJSphtaDEpxbNzksVnqfxq7MX4d2lakjBF86846
 oo1ITGpdkhV/IDtFi7Z5hklk7D4UY+UiDFdBJuoR/sIUVtysoktMkqxawoXGwNMz
 nEbnE8mISQZn5q1A+tX0RAcpdB3tQAMepl020SCz6BkFg/sW3lkw9V+Cov8WI7M9
 sgRObKjqBmFCzivkbZhMXILXJErY0re68VA48LE241BD+YpcpOweOFiMabduRmvs
 AwyAwyJ1/UK64d1CH8v7T+HsmuUJA5mHGpuAuYPMks99QjhP0no=
 =A0MX
 -----END PGP SIGNATURE-----

Merge tag 'zx29-dts-for-7.2' of https://gitlab.com/stefandoesinger/zx297520-kernel into soc/dt

ARM: dts: zte: zx297520v3 device tree for 7.2

This pull request adds board bindings and DTS files for ZTE zx297520v3
boards as well as one initial device (D-Link DWR 932M) based on this
board.

* tag 'zx29-dts-for-7.2' of https://gitlab.com/stefandoesinger/zx297520-kernel:
  ARM: dts: zte: Add D-Link DWR-932M support
  dt-bindings: arm: zte: Add D-Link DWR932M board based on zx297520v3 SoC

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-05-20 21:19:57 +02:00
Arnd Bergmann
e02914dafe ARM: pxa: software node oriented GPIO rework for v7.2
- attach software nodes to their target GPIO controllers on PXA
   platforms
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEkeUTLeW1Rh17omX8BZ0uy/82hMMFAmoDF1QACgkQBZ0uy/82
 hMN+vBAAnm8CcZlIxset1DoRYcZLW1PGjscmrlGeLz2x+ZCYI5GCunVrCwHi2lEA
 eKkvkmjFlFEGFMljoUlUkaab92Px+/53fNump1TR5zlxBvf1lPgfUFRf2MLRnz/u
 viLwfRVRmkTRZ6TpWLNF2DUVpN9av4oaT514BKHxdUTm21v3iPjetFlv57D48qWB
 3zizGBkmT9nOha9MkigM5gXjibchEloKrORZPpQFm5u3iwJaOlHWRSObB6zAfDua
 TNW5q4AlddWgIGUdIPv8y0YymWztPKbmgmieuNvKU6Tk28dnrE0GE+dW67TuEqB+
 m+/+5dctdjuk0/O4hZWa2Fc0t7VgzOYLnF6P4MIufZnUKVm7ppaSEMaeOcUPstsh
 eQK+t5jEEeb8WVm4OUFJgT4J4yMdQrkoZTyJqhyZoTPn7GNe+hsfoZxpstPJh84K
 TXfomePp5usrJqOpkFv4zlQz4AtZKB6tu7xYaMPzb4t+To6O6BDpHW5ZcByXbYo+
 fzhLSNdaY+GUtQ8cfUpaqBhMH7zkF/UzV4BCfun5o+Xwd0Dz6ALMtPnCNH/sgyS9
 IAe7KQL2OPt6m5Cmtm5qZqpUZhdEum8XvoEbYpqilx7ZmWAPeOnscj3KR7iPd2B0
 HuqlucsTS0c6qsK6AWTp7iXsFZrv0ovuChO+X2phWGzg0Xcg+oQ=
 =9eMs
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmoOCIcACgkQmmx57+YA
 GNnaMw//W/0u4ofpyJStNyhN3eG2mrz63eFshCZMFL3zW/91lAxp538kivEWShgz
 ooRrfIHIJBm5+zoc/rIDQHg4HSNrw6QdPN+tz83PQ2AZWZjBbqky+9CgNfljsBk/
 u8SzzMvmiKdM86s3PrAMm7xwSTqUOvaCnGQKtTDu9GPXxNbDHP2ZV0lMnODxTq22
 NUMY7jVbLsAuHQUwYzItidM60RbMViRPTUR3pUINd7khMnykBoadNmXqkJMo3bFq
 gZQ+jtOqHfogHAE/wt1/MNLeGHi8LzoICe8KaTZiibhGo9QOa7l9e+Jh8F4361wJ
 EOMpktxRyo5SDmcvgHp+Q2AfhQOrGi9v1Jaok2twCg3f++DEgt+uWrycz77X7YGH
 7kgh2076JuvRtUQrB/tLm+eed/OyBY/DJ0OKgXH8ffFSm9BMczDEqSEQfb0eGpD6
 MclHYGTFONH1PUI+o3FE9IAxVqt7q9gMgY2Mlp08p1egqWyOuUU8tfj4lW2cB9+8
 GirAnwmJsN1MnPbq3Lz0lh4k+qCGBj/fLXZTQn5d1cAhRFN/mKFcNsOUHJqEBhNX
 orCo5vhIHUfbO4oS0k6TqOlsWi8gpNB/mn7BxJwRmPVQ8CJfZ/wgE0EmcaQMrEEs
 ZO1TwvEa/JM1hFabeeUAQQhBKT5sTk2VQJ8WpQfDfU+s0b0YvRU=
 =cIKh
 -----END PGP SIGNATURE-----

Merge tag 'soc-pxa-gpio-for-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux into soc/arm

ARM: pxa: software node oriented GPIO rework for v7.2

- attach software nodes to their target GPIO controllers on PXA
  platforms

* tag 'soc-pxa-gpio-for-v7.2' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux:
  ARM: pxa: pxa27x: attach software node to its target GPIO controller
  ARM: pxa: pxa25x: attach software node to its target GPIO controller
  ARM: pxa: spitz: attach software nodes to their target GPIO controllers
  ARM: pxa: statify platform device definitions in spitz board file

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-05-20 21:16:21 +02:00
Arnd Bergmann
ae6bbc1ef5 Renesas DTS updates for v7.2
- Add GPU support for R-Car M3-W(+)-based ULCB and Salvator-X(S)
     development boards,
   - Add Ethernet, OPP table, interrupt, pin control, and watchdog
     support for the RZ/G3L SoC and the RZ/G3L SMARC SoM board,
   - Add Coresight support for the R-Mobile A1 and APE6 SoCs, and the
     Armadillo-800 EVA and APE6EVM development boards,
   - Miscellaneous fixes and improvements.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQ9qaHoIs/1I4cXmEiKwlD9ZEnxcAUCagwWWAAKCRCKwlD9ZEnx
 cMCiAQDItwDjXQKXztaCxBf+pW2T50fjalXNs/mfMLEXr/dzGAEAwIk6mP8edqS7
 wcA/riqFJkPxWZuXxsSpxOlBvC5bNgs=
 =4Tk5
 -----END PGP SIGNATURE-----
gpgsig -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmoNiR0ACgkQmmx57+YA
 GNn83RAAmtT8f7QKQh9lxr9bhgK/A5Fd8jW/3gqpzDVnBG+3sseQXXOBL+SoB99C
 aJJksRfjdq8qO/KHJT4d1qHZsQ4EJpnYDD4AFRRGzTh+xxvXCk/XiyFAPvnPpyEg
 L2HQavWXxJ9djha2+hAEepPVMtOtX0R760uVoqQuI9PUVB0YIhiptJQUELDWWI4B
 Jf4cqsUvzTsL4pVZpxh7gPae7WCtvLRwWiENTF0tG254czANruiwKUQdHcOUY6Fq
 KtfBa/Oy0CDEriBjBsWcUg5xLY4S5jwx3ym/WwtknWSgwobdtpyv0D8rEePnCjJS
 xTlNvl9lMMNaTmmcgsRc6GC6HF/h9zVplhKctM131hq9jXBnQAsHUDpP/apOFMBF
 8xza4MpgYVabPJOxxXO1lCZiRn1z1wae8b0DXOdHwEfIOH810FlSftB+H3KVClvu
 MhNX9IyfX1WAuqJ/FHwskSJDwsJNdLWNAcEwFwYpT4vL3/JgqZ3fXRP7R0l/1veL
 WJBCoCtG88qC8xlQyGuffPWIYF50kRh8+rlPmxas1TC+XnsjqefBwhRe5znjxaOK
 pcMQfidL3GCbD9GIstCFaobY+tDLajIMDeo7+A3pa5eB82OijQyomCsSPV/Bd1Ow
 oVr92bcJzJkww8nMY+tD8Vr7bU+x3HWNzFEako5FbeAFMXcJwlA=
 =MtE8
 -----END PGP SIGNATURE-----

Merge tag 'renesas-dts-for-v7.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel into soc/dt

Renesas DTS updates for v7.2

  - Add GPU support for R-Car M3-W(+)-based ULCB and Salvator-X(S)
    development boards,
  - Add Ethernet, OPP table, interrupt, pin control, and watchdog
    support for the RZ/G3L SoC and the RZ/G3L SMARC SoM board,
  - Add Coresight support for the R-Mobile A1 and APE6 SoCs, and the
    Armadillo-800 EVA and APE6EVM development boards,
  - Miscellaneous fixes and improvements.

* tag 'renesas-dts-for-v7.2-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-devel: (40 commits)
  ARM: dts: renesas: r8a73a4: Describe coresight on R-Mobile APE6
  ARM: dts: renesas: r8a73a4: Add ZT/ZTR trace clock on R-Mobile APE6
  dt-bindings: clock: renesas,cpg-clocks: Document ZT/ZTR trace clock on R-Mobile APE6
  arm64: dts: renesas: rzg3l-smarc-som: Enable watchdog
  arm64: dts: renesas: r9a08g046: Add wdt device node
  arm64: dts: renesas: salvator-common: Sort sound node
  arm64: dts: renesas: ebisu: Sort sound node
  arm64: dts: renesas: gray-hawk-single: Fix AVB0 PHY node alignment
  arm64: dts: renesas: rzg3l-smarc-som: Enable eth1 (GBETH1) interface
  arm64: dts: renesas: rzg3l-smarc-som: Add pinctrl configuration for ETH0
  arm64: dts: renesas: r9a08g046l48-smarc: Add SCIF0 pincontrol
  arm64: dts: renesas: r9a08g046: Add pincontrol node
  arm64: dts: renesas: r9a08g046: Add ICU node
  arm64: dts: renesas: r9a08g046: Add OPP table
  arm64: dts: renesas: Add pinctrl reset-names for RZ/G2L and RZ/V2H family SoCs
  ARM: dts: renesas: r8a7740: Describe coresight
  ARM: dts: renesas: r8a7740: Add ZT/ZTR trace clocks
  arm64: dts: renesas: rzg3l-smarc-som: Enable eth0 (GBETH0) interface
  arm64: dts: renesas: r9a08g046: Add GBETH nodes
  arm64: dts: renesas: r8a77961-salvator-xs: Enable GPU support
  ...

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2026-05-20 12:12:38 +02:00
Arnd Bergmann
1d174fec87 ARM: dts: omap2: add stlc4560 spi-wireless node
Converted from the platform_device creation in board-n8x0.c.

Link: https://lore.kernel.org/all/20230314163201.955689-1-arnd@kernel.org/
Reviewed-by: Krzysztof Kozlowski <krzk@kernel.org>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://patch.msgid.link/20260507212451.3333185-4-arnd@kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2026-05-20 12:05:04 +02:00
Arnd Bergmann
2f3592c92b p54spi: convert to devicetree
The Prism54 SPI driver hardcodes GPIO numbers and expects users to
pass them as module parameters, apparently a relic from its life as a
staging driver. This works because there is only one user, the Nokia
N8x0 tablet.

Convert this to the gpio descriptor interface and DT based probing
to improve this and simplify the code at the same time.

Acked-by: Christian Lamparter <chunkeey@gmail.com>
Reviewed-by: Linus Walleij <linusw@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Link: https://patch.msgid.link/20260507212451.3333185-3-arnd@kernel.org
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
2026-05-20 12:05:04 +02:00
David Jander
a0d6c2a06f ARM: dts: stm32: stm32mp15x-mecio1-io: Move expander gpio-line-names to board files
Move the gpio-line-names properties for the I2C GPIO expanders (gpio0
and gpio1) out of the common mecio1-io.dtsi file and into the specific
board dts files.

The layout originally defined in the common include file belonged to the
mecio1r1 (Revision 1) hardware. This layout is moved 1:1 into the
stm32mp153c-mecio1r1.dts file.

The mecio1r0 (Revision 0) hardware utilizes a completely different
pinout for these expanders. A new, accurate mapping reflecting the
Revision 0 schematics is added to stm32mp151c-mecio1r0.dts.

Fixes: 8267753c89 ("ARM: dts: stm32: Add MECIO1 and MECT1S board variants")
Co-developed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: David Jander <david@protonic.nl>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20260318105123.819807-8-o.rempel@pengutronix.de
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2026-05-19 11:40:07 +02:00
David Jander
dfb93c4acc ARM: dts: stm32: stm32mp15x-mecio1-io: Fix expander gpio line typo
Fix a copy-paste error in the GPIO line names for the TCA6416 expander
(gpio@20).

The common mecio1-io include file was originally defined using the
mecio1r1 (Revision 1) hardware layout, but incorrectly labeled pin 13
as "HSIN9_BIAS" instead of the actual "HSIN7_BIAS" present in the
schematics.

Fixes: 8267753c89 ("ARM: dts: stm32: Add MECIO1 and MECT1S board variants")
Co-developed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: David Jander <david@protonic.nl>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20260318105123.819807-7-o.rempel@pengutronix.de
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2026-05-19 11:40:07 +02:00
David Jander
4f5069609a ARM: dts: stm32: stm32mp15x-mecio1-io: Move gpio-line-names to board files
Move the gpio-line-names properties out of the common mecio1-io.dtsi file
and into the specific board dts files.

The pinout originally defined in the common include file belonged to the
mecio1r0 (Revision 0) hardware. This is moved 1:1 into the
stm32mp151c-mecio1r0.dts file without any modifications.

A large number of GPIO pins are swapped on the mecio1r1 (Revision 1)
hardware, so a new, board-specific gpio-line-names mapping is added to
stm32mp153c-mecio1r1.dts to reflect those hardware changes.

Fixes: 8267753c89 ("ARM: dts: stm32: Add MECIO1 and MECT1S board variants")
Co-developed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: David Jander <david@protonic.nl>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20260318105123.819807-6-o.rempel@pengutronix.de
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2026-05-19 11:40:07 +02:00
David Jander
b04ccecb71 ARM: dts: stm32: stm32mp15x-mecio1-io: Fix GPIO names typo
The reset pins for the LPOUT lines were incorrectly prefixed with "GPOUT"
instead of "LPOUT" in the gpio-line-names array. Fix these typos so the
pin names consistently match the LPOUT0-4 signals they belong to.

Fixes: 8267753c89 ("ARM: dts: stm32: Add MECIO1 and MECT1S board variants")
Co-developed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: David Jander <david@protonic.nl>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20260318105123.819807-5-o.rempel@pengutronix.de
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2026-05-19 11:40:07 +02:00
David Jander
70f1d8fcbd ARM: dts: stm32: stm32mp15x-mecio1-io: Move divergent mecio1 ADC channels to board files
Move the divergent adc1 channel definitions out of the common
mecio1-io.dtsi file and into the specific Revision 0 and Revision 1
board files.

The original common file contained incorrect schematic labels for the
Revision 0 hardware (e.g., labeling ana0 as p24v_hpdcm instead of
ain_aux0) and failed to account for physical signal routing changes
between the board revisions.

Retain only the strictly shared channels in the common include file. Map
the correct channels and schematic labels directly within
stm32mp151c-mecio1r0.dts and stm32mp153c-mecio1r1.dts.

Crucially, ensure that the required 200us sample time follows the
phint1_ain signal to its new physical location on channel 3 for the
Revision 1 hardware.

Fixes: 8267753c89 ("ARM: dts: stm32: Add MECIO1 and MECT1S board variants")
Co-developed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: David Jander <david@protonic.nl>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20260318105123.819807-4-o.rempel@pengutronix.de
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2026-05-19 11:40:07 +02:00
David Jander
8407e611fa ARM: dts: stm32: stm32mp15x-mecio1-io: Fix ADC sampling times
Increase the minimum ADC sample times for all configured channels on
ADC1 and ADC2 to ensure measurement accuracy meets specifications.

The default 5us sample time is insufficient for the internal sampling
capacitor to fully charge. Increase the default time to 20us to relax
the input impedance requirements.

Additionally, the phint0_ain and phint1_ain channels require a much
longer sampling period due to their specific circuit design. Increase
their sample times to 200us. Remove stale comments regarding clock
cycles that no longer match the updated timings.

Fixes: 8267753c89 ("ARM: dts: stm32: Add MECIO1 and MECT1S board variants")
Co-developed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: David Jander <david@protonic.nl>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20260318105123.819807-3-o.rempel@pengutronix.de
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2026-05-19 11:40:07 +02:00
David Jander
c84f224050 ARM: dts: stm32: stm32mp15x-mecio1-io: Enable internal ADC reference
Switch the ADC reference supply from the general 3.3V rail to the
internal 2.5V VREFBUF regulator. The ADC circuits on this board are
designed for the internal 2.5V reference. Without this change, all ADC
measurement values are incorrect.

Fixes: 8267753c89 ("ARM: dts: stm32: Add MECIO1 and MECT1S board variants")
Co-developed-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: David Jander <david@protonic.nl>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20260318105123.819807-2-o.rempel@pengutronix.de
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2026-05-19 11:40:07 +02:00
Uwe Kleine-König
9c2be60e82 ARM: dts: stm32: add board pin documentation stm32mp135f-dk
Relate the devices defined in the device tree to the SoC ports and pins
and labels available on the board.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig@baylibre.com>
Link: https://lore.kernel.org/r/20260420204647.1713944-2-u.kleine-koenig@baylibre.com
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2026-05-19 11:37:07 +02:00
Marek Vasut
7ebbcbbee7 ARM: dts: stm32: Enable PHY SSC on DH STM32MP13xx DHCOR DHSBC board
Add realtek,rxc-ssc-enable and realtek,sysclk-ssc-enable to both PHY
DT nodes to enable PHY Spread Spectrum on RXC and SYSCLK, CLKOUT is
disabled and therefore does not need SSC enabled.

Signed-off-by: Marek Vasut <marex@nabladev.com>
Link: https://lore.kernel.org/r/20260411130355.19670-1-marex@nabladev.com
Signed-off-by: Alexandre Torgue <alexandre.torgue@foss.st.com>
2026-05-19 11:29:39 +02:00
Rex Fu
f2f38921c7 ARM: dts: aspeed: anacapa: Correct SGPIO names for monitoring
Update several Anacapa SGPIO line names to match the existing platform
hardware design and the signal names consumed by userspace monitoring.

The previous names did not match the actual Anacapa SGPIO usage. Some
lines were named as CPU or CPU power-good signals, but they are wired
and used on Anacapa for EDSFF presence, EDSFF power-good, boot EDSFF
presence, and thermal-trip assertion monitoring.

Correct the mappings as follows:

  PWRGD_PVDDCR_SOC_P0     -> L_PRSNT_EDSFF0_N
  PWRGD_PVDDIO_P0         -> L_PRSNT_EDSFF1_N
  PWRGD_PVDDIO_MEM_S3_P0  -> R_PRSNT_EDSFF2_N
  PWRGD_CHMP_CPU0_FPGA    -> R_PRSNT_EDSFF3_N
  PWRGD_CHIL_CPU0_FPGA    -> HPM_EDSFF_PG
  EAM2_CPU_MOD_PWR_GD_R   -> PRSNT_EDSFF_BOOT_N
  CPU0_SP7R1              -> L_EDSFF0_PG
  CPU0_SP7R2              -> L_EDSFF1_PG
  CPU0_SP7R3              -> R_EDSFF2_PG
  CPU0_SP7R4              -> R_EDSFF3_PG
  HPM_AMC_THERMTRIP_R_L   -> AMC_THERMTRIP_ASSERT
  FM_CPU0_THERMTRIP_N     -> CPU_THERMTRIP_ASSERT

The left-side EDSFF slots are numbered as EDSFF0 and EDSFF1 to match
the platform slot numbering used by userspace. The thermtrip names are
also updated to describe the asserted condition monitored by userspace
instead of the raw active-low signal names.

This is a naming correction for the existing Anacapa hardware design.
There is no new board revision or underlying hardware change involved.

[arj: Tweak capitalisation in commit subject, rewrap paragraph]

Signed-off-by: Rex Fu <Rex.Fu@amd.com>
Link: https://patch.msgid.link/20260518-anacapa-sgpio-edsff-thermtrip-v2-1-e43b1847b2dc@amd.com
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2026-05-19 11:22:40 +09:30
Potin Lai
68b44988df ARM: dts: aspeed: Add Meta SanMiguel BMC
Add linux device tree entry for Meta (Facebook) SanMiguel compute-tray
BMC using AT2620 SoC.

Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Signed-off-by: Potin Lai <potin.lai.pt@gmail.com>
Signed-off-by: Andrew Jeffery <andrew@codeconstruct.com.au>
2026-05-18 23:28:27 +09:30