Latest Linux kernel releases

  19.02 6.19.3, 6.18.13, 6.12.74, 6.6.127, 6.1.164, 5.15.201, 5.10.251

Significant pull requests for mainline kernel

 
22 Feb 2026: RTC for 7.0 [+ + +]
Here is the RTC subsystem pull request for 7.0. There are a few fixes
and improvement this cycle.

RTC for 7.0

Drivers:
 - loongson: Loongson-2K0300 support
 - s35390a: nvmem support
 - zynqmp: rework calibration

 
21 Feb 2026: perf tools changes for v7.0 [+ + +]
Please consider pulling,

Best regards,

- Arnaldo

perf tools changes for v7.0:

- Introduce 'perf sched stats' tool with record/report/diff workflows
  using schedstat counters.

- Add a faster libdw based addr2line implementation and allow selecting
  it or its alternatives via 'perf config addr2line.style='.

- Data-type profiling fixes and improvements including the ability
  to select fields using 'perf report''s -F/-fields, e.g.:

    'perf report --fields overhead,type'

- Add 'perf test' regression tests for Data-type profiling with
  C and Rust workloads.

- Fix srcline printing with inlines in callchains, make sure this has
  coverage in 'perf test'.

- Fix printing of leaf IP in LBR callchains.

- Fix display of metrics without sufficient permission in 'perf stat'.

- Print all machines in 'perf kvm report -vvv', not just the host.

- Switch from SHA-1 to BLAKE2s for build ID generation, remove SHA-1
  code.

- Fix 'perf report's histogram entry collapsing with '-F' option.

- Use system's cacheline size instead of a hardcoded value in 'perf
  report'.

- Allow filtering conversion by time range in 'perf data'.

- Cover conversion to CTF using 'perf data' in 'perf test'.

- Address newer glibc const-correctness (-Werror=discarded-qualifiers)
  issues.

- Fixes and improvements for ARM's CoreSight support, simplify ARM SPE
  event config in 'perf mem', update docs for 'perf c2c' including the
  ARM events it can be used with.

- Build support for generating metrics from arch specific python script,
  add extra AMD, Intel, ARM64 metrics using it.

- Add AMD Zen 6 events and metrics.

- Add JSON file with OpenHW Risc-V CVA6 hardware counters.

- Add 'perf kvm' stats live testing.

- Add more 'perf stat' tests to 'perf test'.

- Fix segfault in `perf lock contention -b/--use-bpf`

- Fix various 'perf test' cases for s390.

- Build system cleanups, bump minimum shellcheck version to 0.7.2

- Support building the capstone based annotation routines as a plugin.

- Allow passing extra Clang flags via EXTRA_BPF_FLAGS.

Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>

21 Feb 2026: kmalloc_obj treewide refactor for v7.0-rc1 [+ + +]
contains a patch to disable Clang's use of the optional
__builtin_counted_by_ref() in kmalloc_flex(), the core treewide
refactoring via Coccinelle, and a final by-hand cleanup of the results
that I kept separate from the Coccinelle output so I could reapply it
after re-running Coccinelle. Diffstat says:

 8018 files changed, 20062 insertions(+), 20914 deletions(-)

I've done allmodconfig build tests for x86_64, arm64, i386, and arm. I
did defconfig builds for alpha, m68k, mips, parisc, powerpc, riscv, s390,
sparc, sh, arc, csky, xtensa, hexagon, and openrisc. This tree has also
been in -next since Feb 5th (and earlier -next cuts too) with no 0day
reports popping up.

Thanks!

-Kees

kmalloc_obj treewide refactoring for v7.0-rc1

 
20 Feb 2026: dmi update for v7.0 [+ + +]


Summary of changes:
* New features:
  - Include product_family info in the dmi-id modalias

20 Feb 2026: xen: branch for v7.0-rc1a [+ + +]
Please git pull the following tag:


xen: branch for v7.0-rc1a

It contains a single patch fixing a boot regression when running as a
Xen PV guest. This issue was introduced in the 7.0 merge window.


Thanks.

Juergen

20 Feb 2026: au1100fb fbdev updates for v7.0-rc1 [+ + +]
please pull a series of patches with code cleanups for the au1100fb driver.

Thanks!
Helge


fbdev enhancements for 7.0-rc1:

A series with code cleanups for the au1100fb fbdev driver [Uwe Kleine-König].

 
19 Feb 2026: kmalloc_obj prep for v7.0-rc1 [+ + +]
expecting to send the treewide conversion PR later today (or early
tomorrow).

Thanks!

-Kees

kmalloc_obj prep for v7.0-rc1

Fixes for return types to prepare for the kmalloc_obj treewide conversion,
that haven't yet appeared during the merge window: dm-crypt, dm-zoned,
drm/msm, and arm64 kvm.

19 Feb 2026: Networking for v7.0-rc1 [+ + +]
Including fixes from Netfilter.

Current release - new code bugs:

 - net: fix backlog_unlock_irq_restore() vs CONFIG_PREEMPT_RT

 - eth: mlx5e: XSK, Fix unintended ICOSQ change

 - phy_port: correctly recompute the port's linkmodes

 - vsock: prevent child netns mode switch from local to global

 - couple of kconfig fixes for new symbols

Previous releases - regressions:

 - nfc: nci: fix false-positive parameter validation for packet data

 - net: do not delay zero-copy skbs in skb_attempt_defer_free()

Previous releases - always broken:

 - mctp: ensure our nlmsg responses to user space are zero-initialised

 - ipv6: ioam: fix heap buffer overflow in __ioam6_fill_trace_data()

 - fixes for ICMP rate limiting

Misc:

 - intel: fix PCI device ID conflict between i40e and ipw2200

Signed-off-by: Jakub Kicinski <kuba@kernel.org>

19 Feb 2026: Hyper-V patches for 7.0 [+ + +]
hyperv-next for v7.0
  - Debugfs support for MSHV statistics (Nuno Das Neves)
  - Support for the integrated scheduler (Stanislav Kinsburskii)
  - Various fixes for MSHV memory management and hypervisor status
    handling (Stanislav Kinsburskii)
  - Expose more capabilities and flags for MSHV partition management
    (Anatol Belski, Muminul Islam, Magnus Kulke)
  - Miscellaneous fixes to improve code quality and stability (Carlos
    López, Ethan Nelson-Moore, Li RongQing, Michael Kelley, Mukesh
    Rathor, Purna Pavan Chandra Aekkaladevi, Stanislav Kinsburskii, Uros
    Bizjak) 
  - PREEMPT_RT fixes for vmbus interrupts (Jan Kiszka)
 
18 Feb 2026: additional non-MM updates for 7.0-rc1 [+ + +]
the 7.0-rcX cycle, thanks.



mm.git review status for linus..mm-nonmm-stable

Total patches:       7
Reviews/patch:       0.57
Reviewed rate:       42%

- The 2 patch series "two fixes in kho_populate()" from Ran Xiaokai
  fixes a couple of not-major issues in the kexec handover code.

18 Feb 2026: {GIT PULL] additional MM updates for 7.0-rc1 [+ + +]
7.0-rcX cycle, thanks.

Merge conflicts which I'm seeing and their possible resolutions are:

drivers/gpu/drm/i915/gem/i915_gem_shmem.c
https://lkml.kernel.org/r/aXerLzIbpMy9d4lx@sirena.org.uk

fs/ntfs3/file.c
https://lkml.kernel.org/r/aXeZNSiVv82Gc9HF@sirena.org.uk



mm.git review status for linus..mm-stable

Total patches:       36
Reviews/patch:       1.77
Reviewed rate:       83%

- The 2 patch series "mm/vmscan: fix demotion targets checks in
  reclaim/demotion" from Bing Jiao fixes a couple of issues in the
  demotion code - pages were failed demotion and were finding themselves
  demoted into disallowed nodes.

- The 11 patch series "Remove XA_ZERO from error recovery of dup_mmap()"
  from Liam Howlett fixes a rare mapledtree race and performs a number of
  cleanups.

- The 13 patch series "mm: add bitmap VMA flag helpers and convert all
  mmap_prepare to use them" from Lorenzo Stoakes implements a lot of
  cleanups following on from the conversion of the VMA flags into a
  bitmap.

- The 5 patch series "support batch checking of references and unmapping
  for large folios" from Baolin Wang implements batching to greatly
  improve the performance of reclaiming clean file-backed large folios.

- The 3 patch series "selftests/mm: add memory failure selftests" from
  Miaohe Lin does as claimed.

18 Feb 2026: AppArmor updates for 7.0-rc1 [+ + +]
Below is the AppArmor update PR for 7.0

These patches have all been merge, build, and regression tested
against your tree as of yesterday. The code has been in linux-next
and the many of the patches in the Ubuntu kernels for testing.

This PR is mostly comprised of cleanups, and bug fixes, with 3 minor
features, the first being an improvement to our kunit testing, and
the other two extending the information available in audit messages.

Because this is coming so late in the window (sorry life happens),
if you would prefer I have prepared an alternate PR that contains
the set of bug fixes that apply without the features, or cleanups,
available via the tag bugfix-2026-02-18, which I can send a PR for
instead.


thanks
- john


+ Features
   - add .kunitconfig
   - audit execpath in userns mediation
   - add support loading per permission tagging

+ Cleanups
   - cleanup remove unused percpu critical sections in buffer management
   - document the buffer hold, add an overflow guard
   - split xxx_in_ns into its two separate semantic use cases
   - remove apply_modes_to_perms from label_match
   - refactor/cleanup cred helper fns.
   - guard against free attachment/data routines being called with a NULL
   - drop in_atomic flag in common_mmap, and common_file_perm, and cleanup
   - make str table more generic and be able to have multiple entries
   - Replace deprecated strcpy with memcpy in gen_symlink_name
   - Replace deprecated strcpy in d_namespace_path
   - Replace sprintf/strcpy with scnprintf/strscpy in aa_policy_init
   - replace sprintf with snprintf in aa_new_learning_profile

+ Bug Fixes
   - fix cast in format string DEBUG statement
   - fix make aa_labelmatch return consistent
   - fix fmt string type error in process_strs_entry
   - fix kernel-doc comments for inview
   - fix invalid deref of rawdata when export_binary is unset
   - avoid per-cpu hold underflow in aa_get_buffer
   - fix fast path cache check for unix sockets
   - fix rlimit for posix cpu timers
   - fix label and profile debug macros
   - move check for aa_null file to cover all cases
   - return -ENOMEM in unpack_perms_table upon alloc failure
   - fix boolean argument in apparmor_mmap_file
   - Fix & Optimize table creation from possibly unaligned memory
   - Allow apparmor to handle unaligned dfa tables
   - fix NULL deref in aa_sock_file_perm
   - fix NULL pointer dereference in __unix_needs_revalidation
   - fix signedness bug in unpack_tags()

18 Feb 2026: Additional thermal control update for v7.0-rc1 [+ + +]

 thermal-7.0-rc1-2


 thermal: int340x: Fix sysfs group leak on DLVR registration failure


 Merge tag 'thermal-6.20-rc1' of

to receive an additional thermal control update for 7.0-rc1.

This fixes a sysfs group leak on DLVR registration failure in the Intel
int340x thermal driver (Kaushlendra Kumar).

Thanks!



18 Feb 2026: More ACPI support updates for v7.0-rc1 [+ + +]

 acpi-7.0-rc1-2




 Merge tag 'acpi-6.20-rc1' of

to receive more ACPI support updates for 7.0-rc1.

These are mostly fixes and cleanups on top of the ACPI support updates
merged recently, including two new quirks, an ACPI CPPC library fix, and
fixes and cleanups of a few core ACPI device drivers:

 - Add an unused power resource handling quirk for THUNDEROBOT ZERO (Zhai
   Can)

 - Fix remaining for_each_possible_cpu() in the ACPI CPPC library to use
   online CPUs (Sean V Kelley)

 - Drop redundant checks from the ACPI notify handler and the driver
   remove callback in the ACPI battery driver (Rafael Wysocki)

 - Move the creation of the wakeup source during the ACPI button driver
   probe to an earlier point to avoid missing a wakeup event due to a
   race and clean up system wakeup handling and remove callback in that
   driver (Rafael Wysocki)

 - Drop unnecessary driver_data pointer clearing from the ACPI EC and
   SMBUS HC drivers and make the ACPI backlight (video) driver clear the
   device's driver_data pointer on remove (Rafael Wysocki)

 - Force enabling of PWM2 on the Yogabook YB1-X90 tablets (Yauhen
   Kharuzhy)

Thanks!



18 Feb 2026: More power management updates for v7.0-rc1 [+ + +]

 pm-7.0-rc1-2




 Merge tag 'pm-6.20-rc1' of

to receive more power management updates for 7.0-rc1.

These are mostly fixes on top of the power management updates merged
recently in cpuidle governors, in the Intel RAPL power capping driver
and in the wake IRQ management code:

 - Fix the handling of package-scope MSRs in the intel_rapl power
   capping driver when called from the PMU subsystem and make it add all
   package CPUs to the PMU cpumask to allow tools to read RAPL events
   from any CPU in the package (Kuppuswamy Satharayananyan)

 - Rework the invalid version check in the intel_rapl_tpmi power capping
   driver to account for the fact that on partitioned systems, multiple
   TPMI instances may exist per package, but RAPL registers are only
   valid on one instance (Kuppuswamy Satharayananyan)

 - Describe the new intel_idle.table command line option in the
   admin-guide intel_idle documentation (Artem Bityutskiy)

 - Fix a crash in the ladder cpuidle governor on systems with only one
   (polling) idle state available by making the cpuidle core bypass the
   governor in those cases and adjust the other existing governors to
   that change (Aboorva Devarajan, Christian Loehle)

 - Update kerneldoc comments for wake IRQ management functions that
   have not been matching the code (Wang Jiayue)

Thanks!



 
17 Feb 2026: ntfs3: changes for 7.0 [+ + +]
Regards,
Konstantin

Changes for 7.0-rc1

Added:
        improve readahead for bitmap initialization and large directory scans
fsync files by syncing parent inodes
drop of preallocated clusters for sparse and compressed files
zero-fill folios beyond i_valid in ntfs_read_folio()
implement llseek SEEK_DATA/SEEK_HOLE by scanning data runs
implement iomap-based file operations
allow explicit boolean acl/prealloc mount options
a fall-through between switch labels
a delayed-allocation (delalloc) support

Fixed:
        check return value of indx_find to avoid infinite loop
initialize new folios before use
an infinite loop in attr_load_runs_range on inconsistent metadata
an infinite loop triggered by zero-sized ATTR_LIST
ntfs_mount_options leak in ntfs_fill_super()
a deadlock in ni_read_folio_cmpr
a circular locking dependency in run_unpack_ex
prevent infinite loops caused by the next valid being the same
restore NULL folio initialization in ntfs_writepages()
a slab-out-of-bounds read in DeleteIndexEntryRoot

Changed:
        allow readdir() to finish after directory mutations without rewinddir()
handle attr_set_size() errors when truncating files
make ntfs_writeback_ops static
refactor duplicate kmemdup pattern in do_action()
avoid calling run_get_entry() when run == NULL in ntfs_read_run_nb_ra()

Replaced:
use wait_on_buffer() directly
rename ni_readpage_cmpr into ni_read_folio_cmpr

17 Feb 2026: Ceph updates for 7.0-rc1 [+ + +]
This adds support for the upcoming aes256k key type in CephX that is
based on Kerberos 5 and brings a bunch of assorted CephFS fixes from
Ethan and Sam.  One of Sam's patches in particular undoes a change in
the fscrypt area that had an inadvertent side effect of making CephFS
behave as if mounted with wsize=4096 and leading to the corresponding
degradation in performance, especially for sequential writes.

17 Feb 2026: : dmaengine updates for v7.0-rc1 [+ + +]

Hello Linus,

Here is last PR for tonight to receive the dmaengine updates. This cycle
contains bunch of new driver/device support for Mediatek, Qualcomm,
Synopsis, Renesas, Atmel and Tegra along with nuch of driver updates for
subsystem. Also Add Frank as a reviewer.

dmaengine updates for v7.0

 Core:
  - Add Frank Li as susbstem reviewer to help with reviews

 New Support:
  - Mediatek support for Dimensity 6300 and 9200 controller
  - Qualcomm Kaanapali and Glymur GPI DMA engine support
  - Synopsis DW AXI Agilex5 support
  - Renesas RZ/V2N SoC support
  - Atmel microchip lan9691-dma support
  - Tegra ADMA tegra264 support

 Updates:
  - sg_nents_for_dma() helper use in subsystem
  - pm_runtime_mark_last_busy() redundant call update for subsystem
  - Residue support for xilinx AXIDMA driver
  - Intel Max SGL Size Support and capabilities for DSA3.0
  - AXI dma larger than 32bits address support

17 Feb 2026: : Generic phy updates for v7.0-rc1 [+ + +]

Hello Linus,

Here is the Generic phy updates for this round. Quite a bit of new
driver and device support from Qualcomm, SpacemiT, TI, Renesas, Mediatek
phy drivers. Few of the driver updates etc are added as well.

phy-for-7.0

 - Core
  - Add suuport for "rx-polarity" and "tx-polarity" device tree properties
    and phy common properties to manage this

 - New Support
  - Qualcomm Glymur PCIe Gen4 2-lanes PCIe phy, DP and edp phy support, USB
    UNI PHY support and SMB2370 eUSB2 repeater support. SC8280xp QMP UFS PHY
    support, Kaanapali PCIe phy and QMP PHY support, QCS615 QMP USB3+DP PHY
    and driver support for that.
  - SpacemiT PCIe/combo PHY and K1 USB2 PHY driver.
  - HDMI 2.1 FRL configuration support and driver enabling for rockchip
    samsung-hdptx driver.
  - TI TCAN1046 phy support.
  - Renesas RZ/V2H(P) and RZ/V2N usb3 support
  - Mediatek MT8188 hdmi-phy support
  - Google Tensor SoC USB PHY driver
  - Apple Type-C PHY support

- Updates
  - Subsystem conversion for clock round_rate() to determine_rate()
  - TI USB3 DT schema conversion
  - Samsung ExynosAutov920 usb3, combo hsphy and ssphy support

17 Feb 2026: : Soundwire updates for v7.0-rc1 [+ + +]

Hello Linus,

small pull request with Qualcomm v2.2.0 controllers support, core
changes for bus method updates and couple of driver updates.

soundwire updates for 7.0

 - support for Qualcomm v2.2.0 controllers
 - Bus method updates for .probe(), .remove() and .shutdown() and remove
   function return value updates
 - Avell B.ON dmi-quirks mapping
 - Mark cs42l45 codec as wake capable

17 Feb 2026: USB/Thunderbolt driver updates for 7.0-rc1 [+ + +]
USB / Thunderbolt changes for 7.0-rc1

Here is the "big" set of USB and Thunderbolt driver updates for 7.0-rc1.
Overall more lines were removed than added, thanks to dropping the
obsolete isp1362 USB host controller driver, always a nice change.

Other than that, nothing major happening here, highlights are:
  - lots of dwc3 driver updates and new hardware support added
  - usb gadget function driver updates
  - usb phy driver updates
  - typec driver updates and additions
  - USB rust binding updates for syntax and formatting changes
  - more usb serial device ids added
  - other smaller USB core and driver updates and additions

All of these have been in linux-next for a long time, with no reported
problems.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

17 Feb 2026: TTY/Serial driver updates for 7.0-rc1 [+ + +]
TTY / Serial driver updates for 7.0-rc1

Here is the small amount of tty and serial driver updates for 7.0-rc1.
Nothing major in here at all, just some driver updates and minor tweaks
and cleanups including:
  - sh-sci serial driver updates
  - 8250 driver updates
  - attempt to make the tty ports have their own workqueue, but was
    reverted after testing found it to have problems on some platforms.
    This will probably come back for 7.1 after it has been reworked and
    resubmitted
  - other tiny tty driver changes

All of these have been in linux-next for a while with no reported
problems.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

17 Feb 2026: Staging driver updates for 7.0-rc1 [+ + +]
Staging driver updates for 7.0-rc1

Here is the big set of staging driver updates for 7.0-rc1.  Well, not
that big, just lots of tiny coding style cleanups primarily in one
driver as everyone seems to have glomed onto it for some reason that
escapes me (is there a tutorial out there somewhere pointing people at
this?)

Not much overall, the changes can be summarized as:
  - cleanups for the rtl8723bs driver, so many cleanups...
  - vme_user driver cleanups
  - sm750fb driver cleanups
  - tiny greybus driver cleanups
  - other really small staging driver cleanups

All of these have been in linux-next for a while with no reported
issues.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

17 Feb 2026: SPDX updates for 7.0-rc1 [+ + +]
SPDX updates for 7.0-rc1

Here are two small changes that add some missing SPDX license lines to
some core kernel files.  These are:
  - adding SPDX license lines to kdb files
  - adding SPDX license lines to the remaining kernel/ files

Both of these have been in linux-next for a while with no reported
issues.

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

17 Feb 2026: Char/Misc/IIO driver changes for 7.0-rc1 [+ + +]
Char/Misc/IIO driver changes for 7.0-rc1

Here is the big set of char/misc/iio and other smaller driver subsystem
changes for 7.0-rc1.  Lots of little things in here, including:
  - Loads of iio driver changes and updates and additions
  - gpib driver updates
  - interconnect driver updates
  - i3c driver updates
  - hwtracing (coresight and intel) driver updates
  - deletion of the obsolete mwave driver
  - binder driver updates (rust and c versions)
  - mhi driver updates (causing a merge conflict, see below)
  - mei driver updates
  - fsi driver updates
  - eeprom driver updates
  - lots of other small char and misc driver updates and cleanups

All of these have been in linux-next for a while, with no reported
issues except for a merge conflict with your tree due to the mhi driver
changes in the drivers/net/wireless/ath/ath12k/mhi.c file.  To fix that
up, just delete the "auto_queue" structure fields being set, see this
message for the full change needed:
https://lore.kernel.org/r/aXD6X23btw8s-RZP@sirena.org.uk

Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

17 Feb 2026: overlayfs updates for 7.0 [+ + +]
change.

This branch has been sitting in linux-next for a while and
it has gone through the usual overlayfs test routines.

The branch merges cleanly with master branch of the moment.

Thanks,
Amir.

overlayfs updates for 7.0:

  The semantics of uuid=off were relaxed to cater a use case of overlayfs
  lower layers on btrfs clones, whose UUID are ephemeral and an upper layer
  on a different filesystem.

17 Feb 2026: [GIT PULL] Probes: Updates for v7.0 [+ + +]
Just for kicking the process, I resend this pull request again.
I'm sorry for making you go through the trouble twice.


Probes for v7.0

- kprobes: Use a dedicated kernel thread to optimize the kprobes
  instead of using workqueue thread. Since the kprobe optimizer waits
  a long time for synchronize_rcu_task(), it can block other workers
  in the same queue if it uses a workqueue.

- kprobe-events: Returns immediately if no new probe events are
  specified on the kernel command line at boot time. This shorten the
  kernel boot time.

- kprobes: When a kprobe is fully removed from the kernel code,
  retry optimizing another kprobe which is blocked by that kprobe.




probes-v7.0

 
16 Feb 2026: slab updates for 7.0 part 2 [+ + +]
please pull the latest slab updates from:


There are two stable fixes for kmalloc_nolock() corner cases. The other two
patches are lifting a significant limitation of kmalloc_nolock() so that
kfree_rcu() can be used with it, and will allow bpf to start using this [1].

However they only went to -next a week ago so I want to be clear about it,
as I know it should have been there earlier for a non-strictly-fix changes.

[1] https://lore.kernel.org/all/CAADnVQ%2Bq3QPqNdV3MuysQJQgxSS4g6CV%2BVzN2%3DUqCPHw7xq%3DSQ@mail.gmail.com/

Thanks,
Vlastimil


- Two stable fixes for kmalloc_nolock() usage from NMI context (Harry Yoo)

- Allow kmalloc_nolock() allocations to be freed with kfree() and thus
  also kfree_rcu() and simplify slabobj_ext handling - we no longer need to
  track how it was allocated to use the matching freeing function (Harry
  Yoo)

slab updates for 7.0 part2

16 Feb 2026: LEDs for v6.20 [+ + +]
LEDS for v6.20

- New Support & Features
  * Add support for the TI LP5812 4x3 matrix RGB LED driver, including autonomous animation engine
    control and extensive scan multiplexing modes.
  * Add a new driver for the ams Osram AS3668 4-channel I2C LED controller.
  * Extend the is31fl32xx driver to support the is31fl3293 variant, which features 3 channels and
    12-bit PWM resolution.

- Improvements & Fixes
  * Prevent the ExpressWire KTD2801 chip from entering an undefined state by disabling interrupts
    during time-sensitive communication.
  * Ensure the Qualcomm LPG driver detects hardware write failures by checking the return value of
    regmap_bulk_write() during LUT programming.
  * Fix kernel-doc warnings in the lm3692x driver by documenting missing struct members and
    standardizing the comment style.
  * Update the ExpressWire library to use fsleep() and unexport internal-only functions.
  * Improve the is31fl32xx driver by reordering code to eliminate unnecessary forward declarations.

- Cleanups & Refactoring
  * Simplify the LP55XX common LED driver by utilizing the for_each_available_child_of_node_scoped()
    macro for more concise node iteration.

- Device Tree Bindings Updates
  * Add new YAML bindings for the TI LP5860 and LP5812 LED controllers, and the ams Osram AS3668.
  * Convert the TI LM3697 white LED driver binding to DT schema format.
  * Allow multicolor LED nodes to be named with numeric suffixes (e.g., multi-led-0) to handle
    multiple instances without unit addresses.
  * Document support for the PMH0101 variant in the Qualcomm LPG PWM and SPMI Flash LED bindings.
  * Add the issi,is31fl3293 compatible string to the is31fl32xx binding.

16 Feb 2026: Backlight for v6.20 [+ + +]
Backlight for v6.20

- New Support & Features
  * Add a new driver for the Congatec Board Controller (CGBC) backlight, providing brightness
    control via the board controller's PWM interface.

- Improvements & Fixes
  * Resolve build failures in the Awinic AW99706 driver by switching to the correct GPIO consumer
    header.
  * Extend the Qualcomm WLED driver to support the specific over-voltage protection (OVP) values
    required for the PMI8994 and PMI8950 variants.

- Device Tree Bindings Updates
  * Document the device-specific over-voltage protection (OVP) millivolt ranges and default values
    for Qualcomm PMI8994 and PMI8950 WLED controllers.

16 Feb 2026: pin control bulk changes for v7.0 [+ + +]
here is the bulk of pin control changes for the v7.0 series.

You will get a conflict in drivers/pinctrl/Kconfig, just delete the offendi=
ng
hunk there: this is because we moved the files to their own subdir in an
early fix in the v6.19-rc:s (IIRC).

Other than that it is mostly drivers here, nothing much exciting. Details
in the signed tag and changes boiled in -next a while.


Yours,
Linus Walleij

Pin control changes for the v7.0 kernel cycle:

Core changes:

- Drop the unused devm_pinctrl_unregister() function.

- Move pretended generic pin control functionality out of the
  core and into the Amlogic AM4 driver. We have something better
  coming (hopefully).

New hardware support:

- Spacemit K3 (RISC-V) pin control support.

- Atmel AT91 PIO4 (ARM32) SAMA7D65 pin control support.

- Exynos9610 (ARM64) pin control support.

- Qualcomm Mahua TLMM (ARM64) pin control support.

- Microchip Polarfire MSSIO (RISC-V) pin control support.

- Ocelot LAN9645XF (multiplatform) pin control support.

Improvements:

- Using a few more guards for locking.

- Various nonurgent fixes and tweaks.

16 Feb 2026: MFD for v6.20 [+ + +]
MFD for v6.20

- New Support & Features
  * Add comprehensive support for the ROHM BD72720 PMIC, including core MFD, regulator, GPIO,
    clock gate, RTC, and power-supply drivers.
  * Add support for the Rockchip RK801 PMIC, including core MFD and regulator drivers.
  * Add support for the ROHM BD73900 PMIC by leveraging existing common drivers.
  * Wire up RTC, hwmon, and input sub-devices for the Apple SMC (macsmc) driver.
  * Add support for the Delta Networks TN48M switch CPLD via the simple-mfd-i2c driver.
  * Add support for the TS133 variant to the QNAP MCU driver.
  * Provide support for the sama7d65 XLCD controller in the Atmel HLCDC driver.
  * Add backlight sub-device support to the Congatec Board Controller (cgbc).
  * Add Intel Nova Lake-S (NVL-S) PCI IDs to the Intel LPSS driver.

- Improvements & Fixes
  * Implement a "wrapper regmap" for the ROHM BD72720 to handle dual I2C slave addresses (0x4b and
    0x4c) transparently for child devices.
  * Introduce mutex locking around 'mfd_of_node_list' in the MFD core to ensure safe concurrent
    access.
  * Fix a potential regulator resource leak in the Arizona core driver during boot sequence
    failures.
  * Resolve child device duplication issues on driver rebind for Qualcomm PM8xxx and OMAP USB host
    drivers by using of_platform_depopulate().
  * Fix IRQ domain name duplication for the Samsung S2MPG10 by adding a unique domain suffix.
  * Implement LOCK register handling for the TI TPS65214 variant to unlock registers at probe
    time.
  * Fully convert the Loongson-2K BMC driver to use managed resources (pcim) and the standard PCI
    resource API.
  * Ensure the Apple SMC mutex is correctly initialized during probe to prevent NULL pointer
    dereferences.
  * Expand the ROHM BD71828 power-supply driver to support 9-bit register addresses.
  * Simplify the Samsung S5M RTC driver by querying platform device IRQ resources directly.
  * Revert an incorrect read-to-write mask change in the DA9052 SPI driver to restore default OTP
    behavior.
  * Fix kernel-doc warnings in the TI TPS6105x driver.

- Cleanups & Refactoring
  * Simplify the MFD core by utilizing the scoped for_each_child_of_node_scoped() macro and
    streamlining device_node storage.
  * Rename ROHM BD71828 IC-specific entities to use consistent prefixes for better extensibility.
  * Refactor ROHM BD71828 regmap definitions using the regmap_reg_range() macro.
  * Update the ROHM BD71828 driver to use standard C-style comment headers.
  * Remove the now unused 'irq_data' field from the Samsung SEC core structure.
  * Drop unnecessary use of irqd_get_trigger_type() in the Maxim MAX77759 driver.
  * Default MFD_SPACEMIT_P1 to 'm' if ARCH_SPACEMIT is selected.
  * Add missing charger-related registers to the ROHM BD71828 core header and Type-C CC registers
    to the AXP717.

- Device Tree Binding Updates
  * Add new bindings for the ROHM BD72720 PMIC, Rockchip RK801 PMIC, Bitmain BM1880 System
    Controller, and NXP LPC32xx System Control Block.
  * Clarify trickle-charge terminology and add properties for voltage drop (VDR) correction and
    upper charge limits to the generic battery binding.
  * Document GPR syscon for NXP S32 SoCs and the smp-memram subnode for Aspeed SCU.
  * Document numerous new Qualcomm SPMI PMIC compatibles (pmcx0102, pmh0101, pmk8850, etc.).
  * Add compatibles for the sama7d65 XLCD (Atmel), LAN9691 Flexcom (Microchip), and various
    MediaTek SCPSYS and regulator components.
  * Fix a dead link to the audio codec binding in the DA9055 documentation.

16 Feb 2026: MIPS changes for v7.0 [+ + +]
cleanups and fixes

16 Feb 2026: m68knommu changes for v7.0 [+ + +]

It contains a small defconfig cleanup, more use of strscpy() over strcpy()
and a fix for unaligned memmove() specifically for original 68000 machines.

Regards
Greg




m68knommu: updates and fixes for v7.0

. defconfig cleanup
. fix for legacy 68000 CPU memmove() of non-aligned pointers
. replace strcpy() with strscpy() for ucsimm target

 
15 Feb 2026: 9p update for 7.0-rc1 [+ + +]
There should have been a bit more but I haven't had enough time
lately, might as well send what I did pick up though...

Thanks

--------
- 9p/xen racy double-free fix
- track 9p RPC waiting time as IO

 
14 Feb 2026: Input updates for v6.20-rc0 [+ + +]


to receive updates for the input subsystem. You will get:

- support for FocalTech FT8112 added to i2c-hid driver

- support for FocalTech FT3518 added to edt-ft5x06 driver

- support for power buttons in TWL603x chips added to twl4030-pwrbutton
  driver

- an update to gpio-decoder driver to make it usable on non-OF
  platforms and to clean up the code

- an update to synaptics_i2c driver switching it to use managed
  resources and a fix to restarting polling after resume

- an update to gpio-keys driver to fall back to getting IRQ from
  resources if not specified using other means

- an update to ili210x driver to support polling mode

- a number of input drivers switched to scnprintf() to suppress
  truncation warnings

- a number of updates and conversions of device tree bindings to yaml
  format

- fixes to spelling in comments and messages in several drivers

- other assorted fixups.

Changelog:
---------

 
15 Feb 2026: i2c-host for v6.20, part 2 [+ + +]
Hi Wolfram,

as agreed, here is the second part of the merge window pull
request.

I did not carry over anything from last week. All patches
included here have been in my branches for roughly two weeks and
should be safe to merge at this point.

This pull request mainly contains designware updates for
I2C_M_STOP, runtime PM handling, and START/STOP limitations, plus
qcs8300-cci support and a few amd8111 cleanups.

Thank you,
Andi

i2c-host for v6.20, part 2

designware:
- refactor the transfer path to support I2C_M_STOP
- handle pm runtime by using the active auto try macros
- handle controllers lacking explicit START and STOP conditions
- general cleanups

qualcomm: add support for qcs8300-cci
amd8111: general cleanups

 
14 Feb 2026: rpmsg updates for v7.0 [+ + +]
rpmsg updates for v7.0

Fix a race in rpmsg driver_override_show() and use the existing helper
to implement the store(). Implement support for EPOLLOUT in the virtio
rpmsg driver.

14 Feb 2026: remoteproc updates for v7.0 [+ + +]
remoteproc updates for v7.0

Fix a memory remapping issue and make a few life-cycle improvements in
the i.MX HiFi remoteproc driver.

Add support the System Manager CPU and LMM APIs and use this to support i.MX95.

Rework the handling of the Mediatek SCP clock to avoid a potential
circular deadlock in the clock providers.

Refactor the Qualcomm secure-world helpers and add support in the
Qualcomm PAS remoteproc driver for reading a resource-table from secure
world. Use this to configure the IOMMU on newer targets where Linux runs
in EL2.

14 Feb 2026: LoongArch changes for v7.0 [+ + +]
LoongArch changes for v7.0

1, Select HAVE_CMPXCHG_{LOCAL,DOUBLE};
2, Add 128-bit atomic cmpxchg support;
3, Add HOTPLUG_SMT implementation;
4, Wire up memfd_secret system call;
5, Fix boot errors and unwind errors for KASAN;
6, Use BPF prog pack allocator and add BPF arena support;
7, Update dts files to add nand controllers;
8, Some bug fixes and other small changes.

14 Feb 2026: memblock updates for v7.0-rc1 [+ + +]
memblock: updates for 7.0-rc1

* update tools/include/linux/mm.h to fix memblock tests compilation
* drop redundant struct page* parameter from memblock_free_pages() and get
  struct page from the pfn
* add underflow detection for size calculation in memtest and warn about
  underflow when VM_DEBUG is enabled

14 Feb 2026: exfat update for 7.0-rc1 [+ + +]
This is exfat update pull request for v7.0-rc1. I add a description of

Thanks!

Description for this pull request:
 - Improve error code handling and four cleanups.
 - Reduce unnecessary valid_size extension during mmap write to avoid
   over-extending writes.
 - Optimize consecutive FAT entry reads by caching buffer heads in
   __exfat_ent_get to significantly reduce sb_bread() calls.
 - Add multi-cluster (contiguous cluster) support to
   exfat_get_cluster() and exfat_map_cluster() for better sequential read
   performance, especially on small cluster sizes.

14 Feb 2026: f2fs update for 7.0-rc1 [+ + +]
Could you please consider this pull request?

Thanks,

f2fs-for-7.0-rc1

In this development cycle, we focused on several key performance optimizations:
1) introducing large folio support to enhance read speeds for immutable files,
2) reducing checkpoint=enable latency by flushing only committed dirty pages,
and 3) implementing tracepoints to diagnose and resolve lock priority inversion.
Additionally, we introduced the packed_ssa feature to optimize the SSA footprint
when utilizing large block sizes.

Enhancement:
 - support large folio for immutable non-compressed case
 - support non-4KB block size without packed_ssa feature
 - optimize f2fs_enable_checkpoint() to avoid long delay
 - optimize f2fs_overwrite_io() for f2fs_iomap_begin
 - optimize NAT block loading during checkpoint write
 - add write latency stats for NAT and SIT blocks in f2fs_write_checkpoint
 - pin files do not require sbi->writepages lock for ordering
 - avoid f2fs_map_blocks() for consecutive holes in readpages
 - flush plug periodically during GC to maximize readahead effect
 - add tracepoints to catch lock overheads
 - add several sysfs entries to tune internal lock priorities

Bug fix:
 - fix lock priority inversion issue
 - fix incomplete block usage in compact SSA summaries
 - fix to show simulate_lock_timeout correctly
 - fix to avoid mapping wrong physical block for swapfile
 - fix IS_CHECKPOINTED flag inconsistency issue caused by concurrent atomic
   commit and checkpoint writes
 - fix to avoid UAF in f2fs_write_end_io()

14 Feb 2026: Probes: Updates for v7.0 [+ + +]
Probes for v7.0

- kprobes: Use a dedicated kernel thread to optimize the kprobes
  instead of using workqueue thread. Since the kprobe optimizer waits
  a long time for synchronize_rcu_task(), it can block other workers
  in the same queue if it uses a workqueue.

- kprobe-events: Returns immediately if no new probe events are
  specified on the kernel command line at boot time. This shorten the
  kernel boot time.

- kprobes: When a kprobe is fully removed from the kernel code,
  retry optimizing another kprobe which is blocked by that kprobe.




probes-v7.0

14 Feb 2026: Bootconfig: Updates for v7.0 [+ + +]
Bootconfig for v7.0

- Update the bootconfig parser to stop searching for a value when it
  encounters a newline character.
  Note that this changes the bootconfig formatting but this should not
  fall under the don't break user space rule as users of bootconfig is
  for booting the kernel and not about applications running in the
  kernel's user space.

- Update the tests for bootconfig parser to ensure the good examples
  to be parsed correctly by comparing the expected results.




bootconfig-v7.0

 
13 Feb 2026: capabilities update for v7.0 [+ + +]
Capabilities update for 7.0

This branch contains two patches which have been in linux-next for a
few weeks.  The first,

  security: Add KUnit tests for kuid_root_in_ns and vfsuid_root_in_currentns

adds some tests of core capabilities helpers.  The second

  ipc: don't audit capability check in ipc_permissions()

avoids emitting audit messages when there's not actually a permission
being denied.

13 Feb 2026: platform-drivers-x86 for v7.0-1 [+ + +]
Here is the main PDx86 PR for v7.0.

There's a known conflict with HID/asus changes that came through
the hid tree:

https://lore.kernel.org/all/aYI1Yyof6IL5-HUz@sirena.org.uk/


Highlights:

- amd/pmf:
  - Avoid overwriting BIOS input values when events occur rapidly
  - Fix PMF driver issues related to S4 (in part on crypto/ccp side)
  - Add NPU metrics API (for accel side consumers)
  - Allow disabling Smart PC function through a module parameter

- asus-wmi & HID/asus:
  - Unification of backlight control (replaces quirks)
  - Support multiple interfaces for controlling keyboard/RGB brightness
  - Simplify init sequence

- hp-wmi:
  - Add manual fan control for Victus S models
  - Add fan mode keep-alive
  - Fix platform profile values for Omen 16-wf1xxx
  - Add EC offset to get the thermal profile

- intel/pmc: Show substate residencies also for non-primary PMCs

- intel/ISST:
  - Store and restore data for all domains
  - Write interface improvements

- lenovo-wmi: 
  - Support multiple Capability Data
  - Add HWMON reporting and tuning support

- mellanox/mlx-platform: Add HI173 & HI174 support

- surface/aggregator_registry: Add Surface Pro 11 (QCOM)

- thinkpad_acpi: Add support for HW damage detection capability

- uniwill: Implement cTGP setting

- wmi:
  - Introduce marshalling support
  - Convert a few drivers to use the new buffer-based WMI API

- tools/power/x86/intel-speed-select: Allow read operations for non-root

- Miscellaneous cleanups / refactoring / improvements

Regards, i.


platform-drivers-x86 for v7.0-1

Highlights:

- amd/pmf:
  - Avoid overwriting BIOS input values when events occur rapidly
  - Fix PMF driver issues related to S4 (in part on crypto/ccp side)
  - Add NPU metrics API (for accel side consumers)
  - Allow disabling Smart PC function through a module parameter

- asus-wmi & HID/asus:
  - Unification of backlight control (replaces quirks)
  - Support multiple interfaces for controlling keyboard/RGB brightness
  - Simplify init sequence

- hp-wmi:
  - Add manual fan control for Victus S models
  - Add fan mode keep-alive
  - Fix platform profile values for Omen 16-wf1xxx
  - Add EC offset to get the thermal profile

- intel/pmc: Show substate residencies also for non-primary PMCs

- intel/ISST:
  - Store and restore data for all domains
  - Write interface improvements

- lenovo-wmi:
  - Support multiple Capability Data
  - Add HWMON reporting and tuning support

- mellanox/mlx-platform: Add HI173 & HI174 support

- surface/aggregator_registry: Add Surface Pro 11 (QCOM)

- thinkpad_acpi: Add support for HW damage detection capability

- uniwill: Implement cTGP setting

- wmi:
  - Introduce marshalling support
  - Convert a few drivers to use the new buffer-based WMI API

- tools/power/x86/intel-speed-select: Allow read operations for non-root

- Miscellaneous cleanups / refactoring / improvements

The following is an automated shortlog grouped by driver:

amd/pmf:
 -  Added a module parameter to disable the Smart PC function
 -  Introduce new interface to export NPU metrics
 -  Prevent TEE errors after hibernate
 -  Use ring buffer to store custom BIOS input values

amd:
 -  Use scope-based cleanup for wbrf_record()

asus-wmi:
 -  add keyboard brightness event handler
 -  Add support for multiple kbd led handlers
 -  remove unused keyboard backlight quirk

crypto:
 -  ccp - Add an S4 restore flow
 -  ccp - Declare PSP dead if PSP_CMD_TEE_RING_INIT fails
 -  ccp - Factor out ring destroy handling to a helper
 -  ccp - Send PSP_CMD_TEE_RING_DESTROY when PSP_CMD_TEE_RING_INIT fails

HID: asus:
 -  add support for the asus-wmi brightness handler
 -  early return for ROG devices
 -  fortify keyboard handshake
 -  initialize additional endpoints only for certain devices
 -  listen to the asus-wmi brightness device instead of creating one
 -  move vendor initialization to probe
 -  simplify RGB init sequence
 -  use same report_id in response

hp-wmi:
 -  Add EC offsets to read Victus S thermal profile
 -  add manual fan control for Victus S models
 -  fix platform profile values for Omen 16-wf1xxx
 -  implement fan keep-alive
 -  order include headers

ideadpad-laptop:
 -  Clean up style warnings and checks

intel/pmc:
 -  Change LPM mode fields to u8
 -  Enable substate residencies for multiple PMCs
 -  Move LPM mode attributes to PMC
 -  Remove double empty line

intel/pmt:
 -  Replace sprintf() with sysfs_emit()

intel/uncore-freq:
 -  Replace sprintf() with scnprintf()
 -  Replace sprintf() with sysfs_emit()

intel-wmi-sbl-fw-update:
 -  Use new buffer-based WMI API

intel/wmi: thunderbolt:
 -  Use new buffer-based WMI API

ISST:
 -  Add missing write block check
 -  Check for admin capability for write commands
 -  Optimize suspend/resume callbacks
 -  Store and restore all domains data

lenovo-wmi-capdata:
 -  Add support for Capability Data 00
 -  Add support for Fan Test Data

lenovo-wmi-{capdata,other}:
 -  Fix HWMON channel visibility
 -  Support multiple Capability Data

lenovo-wmi-capdata:
 -  Wire up Fan Test Data

lenovo-wmi-helpers:
 -  Convert returned buffer into u32

lenovo-wmi-other:
 -  Add HWMON for fan reporting/tuning

mlx-platform:
 -  Add support DGX flavor of next-generation 800GB/s ethernet switch.
 -  Add support for new Nvidia DGX system based on class VMOD0010

Rename lenovo-wmi-capdata01 to lenovo-wmi-capdata:
 - Rename lenovo-wmi-capdata01 to lenovo-wmi-capdata

surface: aggregator_registry:
 -  Add Surface Pro 11 (QCOM)

surface:
 -  Replace deprecated strcpy() in surface_button_add()

thinkpad_acpi:
 -  Add support to detect hardware damage detection capability.
 -  Add sysfs to display details of damaged device.

tools/power/x86/intel-speed-select:
 -  Allow non root users
 -  Fix file descriptor leak in isolate_cpus()
 -  Use pkg-config for libnl-3.0 detection
 -  v1.25 release

uniwill:
 -  Implement cTGP setting

uniwill-laptop:
 -  Introduce device descriptor system

wmi:
 -  Add helper functions for WMI string conversions
 -  Add kunit test for the marshalling code
 -  Add kunit test for the string conversion code

wmi-bmof:
 -  Use new buffer-based WMI API

wmi:
 -  Introduce marshalling support

wmi: string-kunit:
 -  Add missing oversized string test case

wmi:
 -  Update driver development guide

xiaomi-wmi:
 -  Use new buffer-based WMI API

yogabook:
 -  Clean up code style

Merges:
 -  Merge branch 'fixes' of into for-next
 -  Merge branch 'intel-sst' of https://github.com/spandruvada/linux-kernel into for-next
 -  Merge branch 'platform-drivers-x86-asus-kbd' into for-next

13 Feb 2026: tracing updates for v7.0 [+ + +]

[
  Note, there's two merge conflicts:

    1. With BPF code. This PR made tracepoint callbacks preemptable. BPF
       needs to run on the same CPU until completion. Alexei recommended
       using rcu_read_lock_dont_migrate() in the BPF callback. This
       conflicted with some other changes in the BPF tree.

    2. With mm tree. This PR moved trace_printk() code out of trace.c and
       into trace_printk.c. A change in Andrew Morton's mm tree removed the
       string size parameter from __trace_puts(). That function was one of
       the functions moved to trace_printk.c. That update now needs to
       happen in that file instead.

   The updates in linux-next master branch have the proper merge resolution.
]

tracing updates for 7.0:

User visible changes:

- Add an entry into MAINTAINERS file for RUST versions of code

  There's now RUST code for tracing and static branches. To differentiate
  that code from the C code, add entries in for the RUST version (with "[RUST]"
  around it) so that the right maintainers get notified on changes.

- New bitmask-list option added to tracefs

  When this is set, bitmasks in trace event are not displayed as hex
  numbers, but instead as lists: e.g. 0-5,7,9 instead of 0000015f

- New show_event_filters file in tracefs

  Instead of having to search all events/*/*/filter for any active filters
  enabled in the trace instance, the file show_event_filters will list them
  so that there's only one file that needs to be examined to see if any
  filters are active.

- New show_event_triggers file in tracefs

  Instead of having to search all events/*/*/trigger for any active triggers
  enabled in the trace instance, the file show_event_triggers will list them
  so that there's only one file that needs to be examined to see if any
  triggers are active.

- Have traceoff_on_warning disable trace pintk buffer too

  Recently recording of trace_printk() could go to other trace instances
  instead of the top level instance. But if traceoff_on_warning triggers, it
  doesn't stop the buffer with trace_printk() and that data can easily be
  lost by being overwritten. Have traceoff_on_warning also disable the
  instance that has trace_printk() being written to it.

- Update the hist_debug file to show what function the field uses

  When CONFIG_HIST_TRIGGERS_DEBUG is enabled, a hist_debug file exists for
  every event. This displays the internal data of any histogram enabled for
  that event. But it is lacking the function that is called to process one
  of its fields. This is very useful information that was missing when
  debugging histograms.

- Up the histogram stack size from 16 to 31

  Stack traces can be used as keys for event histograms. Currently the size
  of the stack that is stored is limited to just 16 entries. But the storage
  space in the histogram is 256 bytes, meaning that it can store up to 31
  entries (plus one for the count of entries). Instead of letting that space
  go to waste, up the limit from 16 to 31. This makes the keys much more
  useful.

- Fix permissions of per CPU file buffer_size_kb

  The per CPU file of buffer_size_kb was incorrectly set to read only in a
  previous cleanup. It should be writable.

- Reset "last_boot_info" if the persistent buffer is cleared

  The last_boot_info shows address information of a persistent ring buffer
  if it contains data from a previous boot. It is cleared when recording
  starts again, but it is not cleared when the buffer is reset. The data is
  useless after a reset so clear it on reset too.

Internal changes:

- A change was made to allow tracepoint callbacks to have preemption
  enabled, and instead be protected by SRCU. This required some updates to
  the callbacks for perf and BPF.

  perf needed to disable preemption directly in its callback because it
  expects preemption disabled in the later code.

  BPF needed to disable migration, as its code expects to run completely on
  the same CPU.

- Have irq_work wake up other CPU if current CPU is "isolated"

  When there's a waiter waiting on ring buffer data and a new event happens,
  an irq work is triggered to wake up that waiter. This is noisy on isolated
  CPUs (running NO_HZ_FULL). Trigger an IPI to a house keeping CPU instead.

- Use proper free of trigger_data instead of open coding it in.

- Remove redundant call of event_trigger_reset_filter()

  It was called immediately in a function that was called right after it.

- Workqueue cleanups

- Report errors if tracing_update_buffers() were to fail.

- Make the enum update workqueue generic for other parts of tracing

  On boot up, a work queue is created to convert enum names into their
  numbers in the trace event format files. This work queue can also be used
  for other aspects of tracing that takes some time and shouldn't be called
  by the init call code.

  The blk_trace initialization takes a bit of time. Have the initialization
  code moved to the new tracing generic work queue function.

- Skip kprobe boot event creation call if there's no kprobes defined on cmdline

  The kprobe initialization to set up kprobes if they are defined on the
  cmdline requires taking the event_mutex lock. This can be held by other
  tracing code doing initialization for a long time. Since kprobes added to
  the kernel command line need to be setup immediately, as they may be
  tracing early initialization code, they cannot be postponed in a work
  queue and must be setup in the initcall code.

  If there's no kprobe on the kernel cmdline, there's no reason to take the
  mutex and slow down the boot up code waiting to get the lock only to find
  out there's nothing to do. Simply exit out early if there's no kprobes on
  the kernel cmdline.

  If there are kprobes on the cmdline, then someone cares more about tracing
  over the speed of boot up.

- Clean up the trigger code a bit

- Move code out of trace.c and into their own files

  trace.c is now over 11,000 lines of code and has become more difficult to
  maintain. Start splitting it up so that related code is in their own
  files.

  Move all the trace_printk() related code into trace_printk.c.

  Move the __always_inline stack functions into trace.h.

  Move the pid filtering code into a new trace_pid.c file.

- Better define the max latency and snapshot code

  The latency tracers have a "max latency" buffer that is a copy of the main
  buffer and gets swapped with it when a new high latency is detected. This
  keeps the trace up to the highest latency around where this max_latency
  buffer is never written to. It is only used to save the last max latency
  trace.

  A while ago a snapshot feature was added to tracefs to allow user space to
  perform the same logic. It could also enable events to trigger a
  "snapshot" if one of their fields hit a new high. This was built on top of
  the latency max_latency buffer logic.

  Because snapshots came later, they were dependent on the latency tracers
  to be enabled. In reality, the latency tracers depend on the snapshot code
  and not the other way around. It was just that they came first.

  Restructure the code and the kconfigs to have the latency tracers depend
  on snapshot code instead. This actually simplifies the logic a bit and
  allows to disable more when the latency tracers are not defined and the
  snapshot code is.

- Fix a "false sharing" in the hwlat tracer code

  The loop to search for latency in hardware was using a variable that could
  be changed by user space for each sample. If the user change this
  variable, it could cause a bus contention, and reading that variable can
  show up as a large latency in the trace causing a false positive. Read
  this variable at the start of the sample with a READ_ONCE() into a local
  variable and keep the code from sharing cache lines with readers.

- Fix function graph tracer static branch optimization code

  When only one tracer is defined for function graph tracing, it uses a
  static branch to call that tracer directly. When another tracer is added,
  it goes into loop logic to call all the registered callbacks.

  The code was incorrect when going back to one tracer and never re-enabled
  the static branch again to do the optimization code.

- And other small fixes and cleanups.




trace-v7.0

13 Feb 2026: KVM changes for Linux 7.0 [+ + +]
Loongarch:

- Add more CPUCFG mask bits.

- Improve feature detection.

- Add lazy load support for FPU and binary translation (LBT) register state.

- Fix return value for memory reads from and writes to in-kernel devices.

- Add support for detecting preemption from within a guest.

- Add KVM steal time test case to tools/selftests.

ARM:

- Add support for FEAT_IDST, allowing ID registers that are not
  implemented to be reported as a normal trap rather than as an UNDEF
  exception.

- Add sanitisation of the VTCR_EL2 register, fixing a number of
  UXN/PXN/XN bugs in the process.

- Full handling of RESx bits, instead of only RES0, and resulting in
  SCTLR_EL2 being added to the list of sanitised registers.

- More pKVM fixes for features that are not supposed to be exposed to
  guests.

- Make sure that MTE being disabled on the pKVM host doesn't give it
  the ability to attack the hypervisor.

- Allow pKVM's host stage-2 mappings to use the Force Write Back
  version of the memory attributes by using the "pass-through'
  encoding.

- Fix trapping of ICC_DIR_EL1 on GICv5 hosts emulating GICv3 for the
  guest.

- Preliminary work for guest GICv5 support.

- A bunch of debugfs fixes, removing pointless custom iterators stored
  in guest data structures.

- A small set of FPSIMD cleanups.

- Selftest fixes addressing the incorrect alignment of page
  allocation.

- Other assorted low-impact fixes and spelling fixes.

RISC-V:

- Fixes for issues discoverd by KVM API fuzzing in
  kvm_riscv_aia_imsic_has_attr(), kvm_riscv_aia_imsic_rw_attr(),
  and kvm_riscv_vcpu_aia_imsic_update()

- Allow Zalasr, Zilsd and Zclsd extensions for Guest/VM

- Transparent huge page support for hypervisor page tables

- Adjust the number of available guest irq files based on MMIO
  register sizes found in the device tree or the ACPI tables

- Add RISC-V specific paging modes to KVM selftests

- Detect paging mode at runtime for selftests

s390:

- Performance improvement for vSIE (aka nested virtualization)

- Completely new memory management.  s390 was a special snowflake that enlisted
  help from the architecture's page table management to build hypervisor
  page tables, in particular enabling sharing the last level of page
  tables.  This however was a lot of code (~3K lines) in order to support
  KVM, and also blocked several features.  The biggest advantages is
  that the page size of userspace is completely independent of the
  page size used by the guest: userspace can mix normal pages, THPs and
  hugetlbfs as it sees fit, and in fact transparent hugepages were not
  possible before.  It's also now possible to have nested guests and
  guests with huge pages running on the same host.

- Maintainership change for s390 vfio-pci

- Small quality of life improvement for protected guests

x86:

- Add support for giving the guest full ownership of PMU hardware (contexted
  switched around the fastpath run loop) and allowing direct access to data
  MSRs and PMCs (restricted by the vPMU model).  KVM still intercepts
  access to control registers, e.g. to enforce event filtering and to
  prevent the guest from profiling sensitive host state.  This is more
  accurate, since it has no risk of contention and thus dropped events, and
  also has significantly less overhead.

  For more information, see the commit message for merge commit bf2c3138ae36
  ("Merge tag 'kvm-x86-pmu-6.20' of https://github.com/kvm-x86/linux into HEAD").

- Disallow changing the virtual CPU model if L2 is active, for all the same
  reasons KVM disallows change the model after the first KVM_RUN.

- Fix a bug where KVM would incorrectly reject host accesses to PV MSRs
  when running with KVM_CAP_ENFORCE_PV_FEATURE_CPUID enabled, even if those
  were advertised as supported to userspace,

- Fix a bug with protected guest state (SEV-ES/SNP and TDX) VMs, where KVM
  would attempt to read CR3 configuring an async #PF entry.

- Fail the build if EXPORT_SYMBOL_GPL or EXPORT_SYMBOL is used in KVM (for x86
  only) to enforce usage of EXPORT_SYMBOL_FOR_KVM_INTERNAL.  Only a few exports
  that are intended for external usage, and those are allowed explicitly.

- When checking nested events after a vCPU is unblocked, ignore -EBUSY instead
  of WARNing.  Userspace can sometimes put the vCPU into what should be an
  impossible state, and spurious exit to userspace on -EBUSY does not really
  do anything to solve the issue.

- Also throw in the towel and drop the WARN on INIT/SIPI being blocked when vCPU
  is in Wait-For-SIPI, which also resulted in playing whack-a-mole with syzkaller
  stuffing architecturally impossible states into KVM.

- Add support for new Intel instructions that don't require anything beyond
  enumerating feature flags to userspace.

- Grab SRCU when reading PDPTRs in KVM_GET_SREGS2.

- Add WARNs to guard against modifying KVM's CPU caps outside of the intended
  setup flow, as nested VMX in particular is sensitive to unexpected changes
  in KVM's golden configuration.

- Add a quirk to allow userspace to opt-in to actually suppress EOI broadcasts
  when the suppression feature is enabled by the guest (currently limited to
  split IRQCHIP, i.e. userspace I/O APIC).  Sadly, simply fixing KVM to honor
  Suppress EOI Broadcasts isn't an option as some userspaces have come to rely
  on KVM's buggy behavior (KVM advertises Supress EOI Broadcast irrespective
  of whether or not userspace I/O APIC supports Directed EOIs).

- Clean up KVM's handling of marking mapped vCPU pages dirty.

- Drop a pile of *ancient* sanity checks hidden behind in KVM's unused
  ASSERT() macro, most of which could be trivially triggered by the guest
  and/or user, and all of which were useless.

- Fold "struct dest_map" into its sole user, "struct rtc_status", to make it
  more obvious what the weird parameter is used for, and to allow fropping
  these RTC shenanigans if CONFIG_KVM_IOAPIC=n.

- Bury all of ioapic.h, i8254.h and related ioctls (including
  KVM_CREATE_IRQCHIP) behind CONFIG_KVM_IOAPIC=y.

- Add a regression test for recent APICv update fixes.

- Handle "hardware APIC ISR", a.k.a. SVI, updates in kvm_apic_update_apicv()
  to consolidate the updates, and to co-locate SVI updates with the updates
  for KVM's own cache of ISR information.

- Drop a dead function declaration.

- Minor cleanups.

x86 (Intel):

- Rework KVM's handling of VMCS updates while L2 is active to temporarily
  switch to vmcs01 instead of deferring the update until the next nested
  VM-Exit.  The deferred updates approach directly contributed to several
  bugs, was proving to be a maintenance burden due to the difficulty in
  auditing the correctness of deferred updates, and was polluting
  "struct nested_vmx" with a growing pile of booleans.

- Fix an SGX bug where KVM would incorrectly try to handle EPCM page faults,
  and instead always reflect them into the guest.  Since KVM doesn't shadow
  EPCM entries, EPCM violations cannot be due to KVM interference and
  can't be resolved by KVM.

- Fix a bug where KVM would register its posted interrupt wakeup handler even
  if loading kvm-intel.ko ultimately failed.

- Disallow access to vmcb12 fields that aren't fully supported, mostly to
  avoid weirdness and complexity for FRED and other features, where KVM wants
  enable VMCS shadowing for fields that conditionally exist.

- Print out the "bad" offsets and values if kvm-intel.ko refuses to load (or
  refuses to online a CPU) due to a VMCS config mismatch.

x86 (AMD):

- Drop a user-triggerable WARN on nested_svm_load_cr3() failure.

- Add support for virtualizing ERAPS.  Note, correct virtualization of ERAPS
  relies on an upcoming, publicly announced change in the APM to reduce the
  set of conditions where hardware (i.e. KVM) *must* flush the RAP.

- Ignore nSVM intercepts for instructions that are not supported according to
  L1's virtual CPU model.

- Add support for expedited writes to the fast MMIO bus, a la VMX's fastpath
  for EPT Misconfig.

- Don't set GIF when clearing EFER.SVME, as GIF exists independently of SVM,
  and allow userspace to restore nested state with GIF=0.

- Treat exit_code as an unsigned 64-bit value through all of KVM.

- Add support for fetching SNP certificates from userspace.

- Fix a bug where KVM would use vmcb02 instead of vmcb01 when emulating VMLOAD
  or VMSAVE on behalf of L2.

- Misc fixes and cleanups.

x86 selftests:

- Add a regression test for TPR<=>CR8 synchronization and IRQ masking.

- Overhaul selftest's MMU infrastructure to genericize stage-2 MMU support,
  and extend x86's infrastructure to support EPT and NPT (for L2 guests).

- Extend several nested VMX tests to also cover nested SVM.

- Add a selftest for nested VMLOAD/VMSAVE.

- Rework the nested dirty log test, originally added as a regression test for
  PML where KVM logged L2 GPAs instead of L1 GPAs, to improve test coverage
  and to hopefully make the test easier to understand and maintain.

guest_memfd:

- Remove kvm_gmem_populate()'s preparation tracking and half-baked hugepage
  handling.  SEV/SNP was the only user of the tracking and it can do it via
  the RMP.

- Retroactively document and enforce (for SNP) that KVM_SEV_SNP_LAUNCH_UPDATE
  and KVM_TDX_INIT_MEM_REGION require the source page to be 4KiB aligned, to
  avoid non-trivial complexity for something that no known VMM seems to be
  doing and to avoid an API special case for in-place conversion, which
  simply can't support unaligned sources.

- When populating guest_memfd memory, GUP the source page in common code and
  pass the refcounted page to the vendor callback, instead of letting vendor
  code do the heavy lifting.  Doing so avoids a looming deadlock bug with
  in-place due an AB-BA conflict betwee mmap_lock and guest_memfd's filemap
  invalidate lock.

Generic:

- Fix a bug where KVM would ignore the vCPU's selected address space when
  creating a vCPU-specific mapping of guest memory.  Actually this bug
  could not be hit even on x86, the only architecture with multiple
  address spaces, but it's a bug nevertheless.

13 Feb 2026: dma-mapping update for Linux 7.0 [+ + +]
dma-mapping update for Linux 7.0

A small code cleanup for DMA-mapping subsystem:
- removal of unused hooks (Robin Murphy)

 
12 Feb 2026: RISC-V updates for v7.0 [+ + +]
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.


Linus,

here is support for CFI in user processes.  This feature has been
tested by a set of RISC-V community participants, including by CPU
IP/hardware vendors and by a major Linux distribution.  Other changes
are described in the signed tag.

The code in this PR has been sitting in linux-next for a few weeks.  I
did repush some of the vector ptrace patches a few days ago to fix a
missing Signed-off-by: tag (thanks Mark); no code was changed during
the repush.


thanks,

- Paul


RISC-V updates for v7.0

- Add support for control flow integrity for userspace processes.
  This is based on the standard RISC-V ISA extensions Zicfiss and
  Zicfilp

- Improve ptrace behavior regarding vector registers, and add some selftests

- Optimize our strlen() assembly

- Enable the ISO-8859-1 code page as built-in, similar to ARM64, for EFI
  volume mounting

- Clean up some code slightly, including defining copy_user_page() as
  copy_page() rather than memcpy(), aligning us with other
  architectures; and using max3() to slightly simplify an expression
  in riscv_iommu_init_check()

 
13 Feb 2026: power-supply changes for 7.0 [+ + +]
Subject: [GIT PULL] power-supply changes for 7.0
MIME-Version: 1.0

Hello Linus,

power supply and reset changes for the 7.0 series

 * power-supply core
  - sysfs: Constify pointer passed to dev_attr_psp
  - extend DT binding documentation for battery cells to allow
    describing voltage drop behaviour
 * power-supply drivers
  - multiple: Remove unused gpio include header
  - multiple: Fix potential IRQ use-after-free on driver unload
  - bd71828: Add support for ROHM BD72720
  - misc. small fixes
 * reset drivers
  - tdx-ec-poweroff: fix restart

 
12 Feb 2026: VFIO updates for v7.0-rc1 [+ + +]
There are a couple unusual block file changes here that come via a
shared branch from Jens[1].  Otherwise a small cycle with the bulk in
selftests and reintroducing poison handling in the nvgrace-gpu driver.
The rest are fixes, cleanups, and some dmabuf structure consolidation.
Thanks,

Alex

=3Dfor-7.0/blk-pvec

VFIO updates for v7.0-rc1

 - Update outdated mdev comment referencing the renamed
   mdev_type_add() function. (Julia Lawall)

 - Introduce selftest support for IOMMU mapping of PCI MMIO BARs.
   (Alex Mastro)

 - Relax selftest assertion relative to differences in huge page
   handling between legacy (v1) TYPE1 IOMMU mapping behavior and
   the compatibility mode supported by IOMMUFD. (David Matlack)

 - Reintroduce memory poison handling support for non-struct-page-
   backed memory in the nvgrace-gpu variant driver. (Ankit Agrawal)

 - Replace dma_buf_phys_vec with phys_vec to avoid duplicate
   structure and semantics. (Leon Romanovsky)

 - Add missing upstream bridge locking across PCI function reset,
   resolving an assertion failure when secondary bus reset is used
   to provide that reset. (Anthony Pighin)

 - Fixes to hisi_acc vfio-pci variant driver to resolve corner case
   issues related to resets, repeated migration, and error injection
   scenarios. (Longfang Liu, Weili Qian)

 - Restrict vfio selftest builds to arm64 and x86_64, resolving
   compiler warnings on 32-bit archs. (Ted Logan)

 - Un-deprecate the fsl-mc vfio bus driver as a new maintainer has
   stepped up. (Ioana Ciornei)

12 Feb 2026: non-MM updates for 7.0-rc1 [+ + +]
for the 7.0-rcX cycle, thanks.


Conflicts which I'm presently seeing, along with their possible
resolutions are:

Documentation/core-api/kho/index.rst, vs jc_docs tree:
https://lkml.kernel.org/r/aXeZQy24nAzwEKF3@sirena.org.uk
(unhelpful!  But it's simple)

drivers/gpu/drm/amd/amdkfd/kfd_process.c, vs drm tree
https://lkml.kernel.org/r/aXjJCmDiKFYA0-P6@sirena.org.uk
(also unhelpful, also trivial)

fs/fat/dir.c, vs vfs-brauner tree
https://lkml.kernel.org/r/20260113122141.1de833ab@canb.auug.org.au

lib/Kconfig.debug, vs tip tree
https://lkml.kernel.org/r/20260107131112.69183629@canb.auug.org.au



Possible forthcoming build errors:

drivers/usb/gadget/function/..., vs usb tree:
https://lkml.kernel.org/r/20260113150752.2e2238f2@canb.auug.org.au


Possible forthcoming conflicts:

kernel/cpu.c, vs spdx tree:
https://lkml.kernel.org/r/aW912Qvlf_n2S8f6@sirena.org.uk

kernel/trace/trace.c, vs ftrace tree:
https://lkml.kernel.org/r/aYoAtbc4L0N-g6C-@sirena.co.uk
https://lkml.kernel.org/r/20260209120655.2045ea9f@gandalf.local.home



mm.git review status for linus..mm-nonmm-stable

Total patches:       107
Reviews/patch:       1.07
Reviewed rate:       67%

- The 2 patch series "ocfs2: give ocfs2 the ability to reclaim
  suballocator free bg" from Heming Zhao saves disk space by teaching
  ocfs2 to reclaim suballocator block group space.

- The 4 patch series "Add ARRAY_END(), and use it to fix off-by-one
  bugs" from Alejandro Colomar adds the ARRAY_END() macro and uses it in
  various places.

- The 2 patch series "vmcoreinfo: support VMCOREINFO_BYTES larger than
  PAGE_SIZE" from Pnina Feder makes the vmcore code future-safe, if
  VMCOREINFO_BYTES ever exceeds the page size.

- The 7 patch series "kallsyms: Prevent invalid access when showing
  module buildid" from Petr Mladek cleans up kallsyms code related to
  module buildid and fixes an invalid access crash when printing
  backtraces.

- The 3 patch series "Address page fault in
  ima_restore_measurement_list()" from Harshit Mogalapalli fixes a
  kexec-related crash that can occur when booting the second-stage kernel
  on x86.

- The 6 patch series "kho: ABI headers and Documentation updates" from
  Mike Rapoport updates the kexec handover ABI documentation.

- The 4 patch series "Align atomic storage" from Finn Thain adds the
  __aligned attribute to atomic_t and atomic64_t definitions to get
  natural alignment of both types on csky, m68k, microblaze, nios2,
  openrisc and sh.

- The 2 patch series "kho: clean up page initialization logic" from
  Pratyush Yadav simplifies the page initialization logic in
  kho_restore_page().

- The 6 patch series "Unload linux/kernel.h" from Yury Norov moves
  several things out of kernel.h and into more appropriate places.

- The 7 patch series "don't abuse task_struct.group_leader" from Oleg
  Nesterov removes the usage of ->group_leader when it is "obviously
  unnecessary".

- The 5 patch series "list private v2 & luo flb" from Pasha Tatashin
  adds some infrastructure improvements to the live update orchestrator.

12 Feb 2026: ext4 changes for v7.0-rc1 [+ + +]
New features and improvements for the ext4 file system

  * Avoid unnecessary cache invadiation in the extent status cache
    (es_cache) when adding extents to be cached in the es_cache and we
    are not changing the extent tree.
  * Add a sysfs parameter, err_report_sec, to control how frequently
    to log a warning message that file system inconsistency has been
    detected.  (Previously we logged the warning message every 24
    hours.)
  * Avoid unnecessary forced ordered writes when appending to a file
    when delayed allocation is enabled.
  * Defer splitting unwritten extents to I/O completion to improve
    write performance of concurrent direct I/O writes to multiple
    files.
  * Refactor and add kunit tests to the extent splitting and
    conversion code paths.

Various Bug Fixes

  * Fix a panic when the debugging DOUBLE_CHECK macro is defined.
  * Avoid using fast commit for rare and complex file system
    operations to make fast commit easier to reason about.  This can
    also avoid some corner cases that could result in file system
    inconsistency if there is a crash between the fast commit before a
    subsequent full commit.
  * Fix memory leaks in error paths
  * Fix a false positive reports caused when running stress tests
    using mixed huge-page workloads caused by a race between page
    migration and bitmap updates.
  * Fix a potential recursion into file system reclaim when evicting
    an inode when fast commit is enabled.
  * Fix a warning caused by a potential double decrement to the dirty
    clusters counter when executing FS_IOC_SHUTDOWN when running a
    stress test.
  * Enable mballoc optimzied scanning regardless whether the inode is
    using indirect blocks or extent trees to map blocks.

12 Feb 2026: RTLA: Updates for 7.0 [+ + +]

Real-Time Linux Analysis tooling patches for v7.0

- Remove unused function declarations

  Some functions were removed in recent code consolidation 6.18, but
  their prototypes were not removed from headers. Remove them.

- Set stop threshold after enabling instances

  Prefer recording samples without stopping on them on the start of
  tracing to stopping on samples that are never recorded. This fixes
  flakiness of some RTLA tests and unifies behavior of sample collection
  between tracefs mode and BPF mode.

- Consolidate usage help message implementation

  RTLA tools (osnoise-top, osnoise-hist, timerlat-top, timerlat-hist)
  each implement usage help individually. Move common logic between
  them into a new function to reduce code duplication.

- Add BPF actions feature

  Add option --bpf-action to attach a BPF program (passed as filename of
  its ELF representation) to be executed via BPF tail call at latency
  threshold.

- Consolidate command line option parsing

  Each RTLA tool implements the parsing of command line options
  individually. Now that we have a common structure for parameters,
  unify the parsing of those options common among all four tools into
  one function.

- De-duplicate cgroup common code

  Two functions in utils.c, setting cgroup for comm and setting cgroup
  for pid, duplicate code for constructing the cgroup path. Extract it
  to a new helper function.

- String and error handling fixes and cleanups

  There were several instances of unsafe string and error handling that
  could cause invalid memory access; fix them. Also, remove a few unused
  headers, update .gitignore, and deduplicate code.




trace-rtla-v7.0

12 Feb 2026: rv: Updates for 7.0 [+ + +]

runtime verifier changes for 7.0:

- Refactor da_monitor to minimise macros

  Complete refactor of da_monitor.h to reduce reliance on macros
  generating functions. Use generic static functions and uses the
  preprocessor only when strictly necessary (e.g. for tracepoint
  handlers).

  The change essentially relies on functions with generic names (e.g.
  da_handle) instead of monitor-specific as well adding the need to
  define constant (e.g. MONITOR_NAME, MONITOR_TYPE) before including the
  header rather than calling macros that would define functions.
  Also adapt monitors and documentation accordingly.

- Cleanup DA code generation scripts

  Clean up functions in dot2c removing reimplementations of trivial
  library functions (__buff_to_string) and removing some other unused
  intermediate steps.

- Annotate functions with types in the rvgen python scripts

- Remove superfluous assignments and cleanup generated code

  The rvgen scripts generate a superfluous assignment to 0 for enum
  variables and don't add commas to the last elements, which is against
  the kernel coding standards. Change the generation process for a
  better compliance and slightly simpler logic.

- Remove superfluous declarations from generated code

  The monitor container source files contained a declaration and a
  definition for the rv_monitor variable. The former is superfluous and
  was removed.

- Fix reference to outdated documentation

  s/da_monitor_synthesis.rst/monitor_synthesis.rst in comment in
  da_monitor.h




trace-rv-v7.0

 
11 Feb 2026: MM updates for 7.0-rc1 [+ + +]
cycle, thanks.


I'm seeing a single conflict at this time, in include/linux/cma.h. 
Mark's resolution is at
https://lkml.kernel.org/r/aXtlrOzrFg5XMSkj@sirena.org.uk

Possible upcoming conflicts and their linux-next resolutions are as
follows:

arch/riscv/include/asm/page.h, vs risc-v tree:
https://lkml.kernel.org/r/aXDNtx7iXjV-hsjm@sirena.org.uk

fs/ntfs3/file.c, vs fs-next tree:
https://lkml.kernel.org/r/aXeZNSiVv82Gc9HF@sirena.org.uk

drivers/gpu/drm/i915/gem/i915_gem_shmem.c, vs drm tree:
https://lkml.kernel.org/r/aXerLzIbpMy9d4lx@sirena.org.uk

drivers/gpu/drm/amd/amdkfd/kfd_process.c, vs drm tree:
https://lkml.kernel.org/r/aXjJCmDiKFYA0-P6@sirena.org.uk

arch/s390/mm/pgtable.c, vs kvms390 tree:
https://lkml.kernel.org/r/aYSVUnyIHvEkCN4U@sirena.org.uk



mm.git review status for linus..mm-stable

Everything:

Total patches:       325
Reviews/patch:       1.39
Reviewed rate:       72%

Excluding DAMON:

Total patches:       262
Reviews/patch:       1.63
Reviewed rate:       82%

Excluding DAMON and zram:

Total patches:       248
Reviews/patch:       1.72
Reviewed rate:       86%

- The 14 patch series "powerpc/64s: do not re-activate batched TLB
  flush" from Alexander Gordeev makes arch_{enter|leave}_lazy_mmu_mode()
  nest properly.

  It adds a generic enter/leave layer and switches architectures to use
  it.  Various hacks were removed in the process.

- The 7 patch series "zram: introduce compressed data writeback" from
  Richard Chang and Sergey Senozhatsky implements data compression for
  zram writeback.

- The 8 patch series "mm: folio_zero_user: clear page ranges" from David
  Hildenbrand adds clearing of contiguous page ranges for hugepages.
  Large improvements during demand faulting are demonstrated.

- The 2 patch series "memcg cleanups" from Chen Ridong tideis up some
  memcg code.

- The 12 patch series "mm/damon: introduce {,max_}nr_snapshots and
  tracepoint for damos stats" from SeongJae Park improves DAMOS stat's
  provided information, deterministic control, and readability.

- The 3 patch series "selftests/mm: hugetlb cgroup charging: robustness
  fixes" from Li Wang fixes a few issues in the hugetlb cgroup charging
  selftests.

- The 5 patch series "Fix va_high_addr_switch.sh test failure - again"
  from Chunyu Hu addresses several issues in the va_high_addr_switch test.

- The 5 patch series "mm/damon/tests/core-kunit: extend existing test
  scenarios" from Shu Anzai improves the KUnit test coverage for DAMON.

- The 2 patch series "mm/khugepaged: fix dirty page handling for
  MADV_COLLAPSE" from Shivank Garg fixes a glitch in khugepaged which was
  causing madvise(MADV_COLLAPSE) to transiently return -EAGAIN.

- The 29 patch series "arch, mm: consolidate hugetlb early reservation"
  from Mike Rapoport reworks and consolidates a pile of straggly code
  related to reservation of hugetlb memory from bootmem and creation of
  CMA areas for hugetlb.

- The 9 patch series "mm: clean up anon_vma implementation" from Lorenzo
  Stoakes cleans up the anon_vma implementation in various ways.

- The 3 patch series "tweaks for __alloc_pages_slowpath()" from
  Vlastimil Babka does a little streamlining of the page allocator's
  slowpath code.

- The 8 patch series "memcg: separate private and public ID namespaces"
  from Shakeel Butt cleans up the memcg ID code and prevents the
  internal-only private IDs from being exposed to userspace.

- The 6 patch series "mm: hugetlb: allocate frozen gigantic folio" from
  Kefeng Wang cleans up the allocation of frozen folios and avoids some
  atomic refcount operations.

- The 11 patch series "mm/damon: advance DAMOS-based LRU sorting" from
  SeongJae Park improves DAMOS's movement of memory betewwn the active and
  inactive LRUs and adds auto-tuning of the ratio-based quotas and of
  monitoring intervals.

- The 18 patch series "Support page table check on PowerPC" from Andrew
  Donnellan makes CONFIG_PAGE_TABLE_CHECK_ENFORCED work on powerpc.

- The 3 patch series "nodemask: align nodes_and{,not} with underlying
  bitmap ops" from Yury Norov makes nodes_and() and nodes_andnot()
  propagate the return values from the underlying bit operations, enabling
  some cleanup in calling code.

- The 5 patch series "mm/damon: hide kdamond and kdamond_lock from API
  callers" from SeongJae Park cleans up some DAMON internal interfaces.

- The 4 patch series "mm/khugepaged: cleanups and scan limit fix" from
  Shivank Garg does some cleanup work in khupaged and fixes a scan limit
  accounting issue.

- The 24 patch series "mm: balloon infrastructure cleanups" from David
  Hildenbrand goes to town on the balloon infrastructure and its page
  migration function.  Mainly cleanups, also some locking simplification.

- The 2 patch series "mm/vmscan: add tracepoint and reason for
  kswapd_failures reset" from Jiayuan Chen adds additional tracepoints to
  the page reclaim code.

- The 3 patch series "Replace wq users and add WQ_PERCPU to
  alloc_workqueue() users" from Marco Crivellari is part of Marco's
  kernel-wide migration from the legacy workqueue APIs over to the
  preferred unbound workqueues.

- The 9 patch series "Various mm kselftests improvements/fixes" from
  Kevin Brodsky provides various unrelated improvements/fixes for the mm
  kselftests.

- The 5 patch series "mm: accelerate gigantic folio allocation" from
  Kefeng Wang greatly speeds up gigantic folio allocation, mainly by
  avoiding unnecessary work in pfn_range_valid_contig().

- The 5 patch series "selftests/damon: improve leak detection and wss
  estimation reliability" from SeongJae Park improves the reliability of
  two of the DAMON selftests.

- The 8 patch series "mm/damon: cleanup kdamond, damon_call(), damos
  filter and DAMON_MIN_REGION" from SeongJae Park does some cleanup work
  in the core DAMON code.

- The 8 patch series "Docs/mm/damon: update intro, modules, maintainer
  profile, and misc" from SeongJae Park performs maintenance work on the
  DAMON documentation.

- The 10 patch series "mm: add and use vma_assert_stabilised() helper"
  from Lorenzo Stoakes refactors and cleans up the core VMA code.  The
  main aim here is to be able to use the mmap write lock's lockdep state
  to perform various assertions regarding the locking which the VMA code
  requires.

- The 19 patch series "mm, swap: swap table phase II: unify swapin use"
  from Kairui Song removes some old swap code (swap cache bypassing and
  swap synchronization) which wasn't working very well.  Various other
  cleanups and simplifications were made.  The end result is a 20% speedup
  in one benchmark.

- The 8 patch series "enable PT_RECLAIM on more 64-bit architectures"
  from Qi Zheng makes PT_RECLAIM available on 64-bit alpha, loongarch,
  mips, parisc, um,  Various cleanups were performed along the way.

11 Feb 2026: Devicetree updates for v7.0 [+ + +]

Rob


Devicetree updates for v7.0:

DT core:
- Sync dtc/libfdt with upstream v1.7.2-62-ga26ef6400bd8

- Add a for_each_compatible_node_scoped() loop and convert users in
  cpufreq, dmaengine, clk, cdx, powerpc and Arm

- Simplify of/platform.c with scoped loop helpers

- Add fw_devlink tracking for "mmc-pwrseq"

- Optimize fw_devlink callback code size for pinctrl-N properties

- Replace strcmp_suffix() with strends()

DT bindings:
- Support building single binding targets

- Convert google,goldfish-fb, cznic,turris-mox-rwtm, ti,prm-inst

- Add bindings for Freescale AVIC, Realtek RTD1xxx system controllers,
  Microchip 25AA010A EEPROM, OnSemi FIN3385, IEI WT61P803 PUZZLE, Delta
  Electronics DPS-800-AB power supply, Infineon IR35221 Digital
  Multi-phase Controller, Infineon PXE1610 Digital Dual Output 6+1
  VR12.5 & VR13 CPU Controller, socionext,uniphier-smpctrl, and
  xlnx,zynqmp-firmware

- Lots of trivial binding fixes to address warnings in DTS files. These
  are mostly for arm64 platforms which is getting closer to be warning
  free. Some public shaming has helped.

- Fix I2C bus node names in examples

- Drop obsolete brcm,vulcan-soc binding

- Drop unreferenced binding headers

11 Feb 2026: fsverity updates for 7.0 [+ + +]
fsverity cleanups, speedup, and memory usage optimization from
Christoph Hellwig:

- Move some logic into common code

- Fix btrfs to reject truncates of fsverity files

- Improve the Merkle tree readahead implementation

- Store each inode's fsverity_info in a hash table instead of using a
  pointer in the filesystem-specific part of the inode.

  This optimizes for memory usage in the usual case where most files
  don't have fsverity enabled.

- Look up the fsverity_info fewer times during verification, to
  amortize the hash table overhead

 
12 Feb 2026: Driver core changes for 7.0-rc1 [+ + +]

All commits have been in linux-next for a couple rounds; no conflicts expec=
ted.

In the -rc7 PR [1] I held back a driver-core fix (now included), as it
uncovered potential deadlocks that required a few driver fixes.

You should have received one of those for -rc8 through the gpio tree [2];
another one is included in this PR [3], and the latest one [4] should reach=
 you
via a -fixes PR from the clk tree.

I spent significant effort catching those cases, but they are a bit tricky =
to
spot. However, all known ones have been addressed.

[1] https://lore.kernel.org/driver-core/DFWVL46MM928.V9LOBRWI8BLZ@kernel.or=
g/
[2] https://lore.kernel.org/all/20260127201725.35883-1-dakr@kernel.org/
[3] https://lore.kernel.org/all/20260121141215.29658-1-dakr@kernel.org/
[4] https://lore.kernel.org/all/20260211142321.55404-1-dakr@kernel.org/

Driver core changes for 7.0-rc1

- Bus:
  - Ensure bus->match() is consistently called with the device lock held
  - Improve type safety of bus_find_device_by_acpi_dev()

- Devtmpfs:
  - Parse 'devtmpfs.mount=3D' boot parameter with kstrtoint() instead of
    simple_strtoul()
  - Avoid sparse warning by making devtmpfs_context_ops static

- IOMMU:
  - Do not register the qcom_smmu_tbu_driver in arm_smmu_device_probe()

- MAINTAINERS:
  - Add the new driver-core mailing list (driver-core@lists.linux.dev)
    to all relevant entries
  - Add missing tree location for "FIRMWARE LOADER (request_firmware)"
  - Add driver-model documentation to the "DRIVER CORE" entry
  - Add missing driver-core maintainers to the "AUXILIARY BUS" entry

- Misc:
  - Change return type of attribute_container_register() to void; it has
    always been infallible
  - Do not export sysfs_change_owner(), sysfs_file_change_owner() and
    device_change_owner()
  - Move devres_for_each_res() from the public devres header to
    drivers/base/base.h
  - Do not use a static struct device for the faux bus; allocate it
    dynamically

- Revocable:
  - Patches for the revocable synchronization primitive have been
    scheduled for v7.0-rc1, but have been reverted as they need some
    more refinement

- Rust:
  - Device:
    - Support dev_printk on all device types, not just the core Device
      struct; remove now-redundant .as_ref() calls in dev_* print calls

  - Devres:
    - Introduce an internal reference count in Devres<T> to avoid a
      deadlock condition in case of (indirect) nesting

  - DMA:
    - Allow drivers to tune the maximum DMA segment size via
      dma_set_max_seg_size()

  - I/O:
    - Introduce the concept of generic I/O backends to handle different
      kinds of device shared memory through a common interface.

      This enables higher-level concepts such as register abstractions,
      I/O slices, and field projections to be built generically on top.

      In a first step, introduce the Io, IoCapable<T>, and IoKnownSize
      trait hierarchy for sharing a common interface supporting offset
      validation and bound-checking logic between I/O backends.

    - Refactor MMIO to use the common I/O backend infrastructure

  - Misc:
    - Add __rust_helper annotations to C helpers for inlining into Rust
      code
    - Use "kernel vertical" style for imports
    - Replace kernel::c_str! with C string literals
    - Update ARef imports to use sync::aref
    - Use pin_init::zeroed() for struct auxiliary_device_id and debugfs
      file_operations initialization
    - Use LKMM atomic types in debugfs doc-tests
    - Various minor comment and documentation fixes

  - PCI:
    - Implement PCI configuration space accessors using the common I/O
      backend infrastructure
    - Document pci::Bar device endianness assumptions

  - SoC:
    - Abstractions for struct soc_device and struct soc_device_attribute
    - Sample driver for soc::Device

 
11 Feb 2026: jfs updates for v7.0 [+ + +]
Just a handful of minor jfs fixes

11 Feb 2026: NVDIMM and DAX for 7.0 [+ + +]
Pleas pull from...

  git@gitolite.kernel.org:pub/scm/linux/kernel/git/nvdimm/nvdimm.git tags/libnvdimm-for-7.0

... to get changes for 7.0 for the nvdimm tree.

There is a kmap conversion and a bug fix this go around.  The bug fix was only
reported in the last rc so it got added here.

These have soaked in linux-next for a week without issues.

Thank you,
Ira Weiny

---
Updates for the 7.0 release

* nvdimm: virtio_pmem: serialize flush requests
* drivers/nvdimm: Use local kmaps

11 Feb 2026: Networking for Linux 7.0 [+ + +]
I'm not aware of any conflicts with other trees, even if this includes some
changes to printk for the sake of netconsole.

Networking changes for 7.0

Core & protocols
11 Feb 2026: Landlock update for v7.0-rc1 [+ + +]
Hi,

These changes extend Landlock to enforce restrictions on a whole
process, similarly to the seccomp's TSYNC flag.  Data structure
refactoring simplifies code and improves performance.  Documentation is
extended to cover missing parts.

with your master branch.  The kernel changes have been tested in the
latest linux-next releases for some weeks, but I rebased the last
commits to fix a kselftest build issue on old distros, and to add a
review tag.

Test coverage for security/landlock is 91.4% of 2093 lines according to
LLVM 21, and it was 91.9% of 1933 lines before this PR.

Regards,
 Mickaël


PS: I recently updated my PGP key:
    https://lore.kernel.org/keys/20260206.waiCh9iex3ai@digikod.net/

--
Landlock update for v7.0-rc1

11 Feb 2026: media updates [+ + +]

a/v7.0-2

For:

- PCI=E2=80=AF:=E2=80=AFmgb4 =E2=80=93 Add support for GMSL1 and GMSL=E2=80=
=91coax modules =20
- Add driver for TI=E2=80=AFVIP;
- AV1 =E2=80=93 first kernel support (pixel=E2=80=91format, decoder, transc=
oder) =20
- Three new camera=E2=80=91sensor drivers (os05b10, s5k3m5, s5kjn1) =20
- Synopsys CSI=E2=80=912 receiver driver =20
- Verisilicon & rkvdec =E2=80=93 major fixes and enhancements =20
- PCI=E2=80=AFmgb4 =E2=80=93 support for GMSL=E2=80=91coax modules
- IPU6 (and 7) fixes and preparation for metadata;
- omap3isp: v4l2-compliance updates;
- dvb/vb2: fix DVB streaming, drop wait_prepare/finish.

Regards,
Mauro

---

[GIT PULL for v7.0] media updates

11 Feb 2026: printk for 7.0 [+ + +]
please pull the latest printk changes from



- Check all mandatory callbacks when registering nbcon consoles.

- Fix some compiler warnings.

11 Feb 2026: Configfs for v7.0 [+ + +]
Here are the changes for configfs for v7.0.

Changes in this pull request:

 - Switch the configfs rust bindings to use c string literals provided
   by the compiler, rather than a macro.

 - A follow up on constifying `configfs_item_operations`, applying the
   change to the configfs sample.

I applied the patches a while ago, before I learned that we are changing
the patch link format. I did not want to rebase, so I left as is. I
updated my configuration for next time.


Best regards,
Andreas Hindborg

configfs changes for v7.0

11 Feb 2026: OpenRISC updates for 6.20 [+ + +]

OpenRISC updates for 6.20

The main focus for this series has been to improve OpenRISC
kernel out-of-the-box support for FPGA dev boards.

 - Adds device tree configurations for De0 Nano single and
   multicore configurations.
 - Fixes bug in OpenRISC SMP preventing the kernel from running on FPGA
   boards, due to IPIs not being unmasked on secondary CPUs in some
   configurations.
 - Picked up a fix from Brian Masney defining the nop() macro to fix
   build failures on OpenRISC for drivers using the nop() macro.

11 Feb 2026: drm for 7.0-rc1 [+ + +]
This is the main drm pull request for 7.0.

Conflicts:
There are a number of easy to solve conflicts in amdgpu and xe, and
one silent one in xe,

/tmp/next/build/drivers/gpu/drm/xe/xe_survivability_mode.c: In
function 'xe_survivability_mode_fini':
/tmp/next/build/drivers/gpu/drm/xe/xe_survivability_mode.c:241:17:
error: implicit declaration of function 'xe_nvm_fini'; did you mean
'xe_nvm_init'? [-Wimplicit-function-declaration]
  241 |                 xe_nvm_fini(xe);
      |                 ^~~~~~~~~~~
      |                 xe_nvm_init

You can just drop the two lines.

I've pushed my likely messed up attempt at a merge here:
https://github.com/airlied/linux/tree/drm-next-7.0-rc1-merged

Highlights:
- amdgpu support for lots of new IP blocks which means newer GPUs.
- xe has a lot of SR-IOV and SVM improvements
- lots of intel display refactoring across i915/xe
- msm has more support for gen8 platforms
- Given up on kgdb/kms integration, it's too hard on modern hw

Otherwise the full summary is below.

Let me know if there are any problems,
Dave.

drm-next-2026-02-11:
drm for 7.0-rc1

core:
- drop kgdb support
- replace system workqueue with percpu
- account for property blobs in memcg
- MAINTAINERS updates for xe + buddy

rust:
- Fix documentation for Registration constructors.
- Use pin_init::zeroed() for fops initialization.
- Annotate DRM helpers with __rust_helper.
- Improve safety documentation for gem::Object::new().
- Update AlwaysRefCounted imports.
- mm: Prevent integer overflow in page_align().

atomic:
- add drm_device pointer to drm_private_obj
- introduce gamma/degamma LUT size check

buddy:
- fix free_trees memory leak
- prevent BUG_ON

bridge:
- introduce drm_bridge_unplug/enter/exit
- add connector argument to .hpd_notify
- lots of recounting conversions
- convert rockchip inno hdmi to bridge
- lontium-lt9611uxc: switch to HDMI audio helpers
- dw-hdmi-qp: add support for HPD-less setups
- Algoltek AG6311 support

panels:
- edp: CSW MNE007QB3-1, AUO B140HAN06.4, AUO B140QAX01.H
- st75751: add SPI support
- Sitronix ST7920, Samsung LTL106HL02
- LG LH546WF1-ED01, HannStar HSD156J
- BOE NV130WUM-T08
- Innolux G150XGE-L05
- Anbernic RG-DS

dma-buf:
- improve sg_table debugging
- add tracepoints
- call clear_page instead of memset
- start to introduce cgroup memory accounting in heaps
- remove sysfs stats

dma-fence:
- add new helpers

dp:
- mst: avoid oob access with vcpi=3D0

hdmi:
- limit infoframes exposure to userspace

gem:
- reduce page table overhead with THP
- fix leak in drm_gem_get_unmapped_area

gpuvm:
- API sanitation for rust bindings

sched:
- introduce new helpers

panic:
- report invalid panic modes
- add kunit tests

i915/xe display:
- Expose sharpness only if num_scalers is >=3D 2
- Add initial Xe3P_LPD for NVL
- BMG FBC support
- Add MTL+ platforms to support dpll framework
_ fix DIMM_S DRM decoding on ICL
- Return to using AUX interrupts
- PSR/Panel replay refactoring
- use consolidation HDMI tables
- Xe3_LPD CD2X dividier changes

xe:
- vfio: add vfio_pci for intel GPU
- multi queue support
- dynamic pagemaps and multi-device SVM
- expose temp attribs in hwmon
- NO_COMPRESSION bo flag
- expose MERT OA unit
- sysfs survivability refactor
- SRIOV PF: add MERT support
- enable SR-IOV VF migration
- Enable I2C/NVM on Crescent Island
- Xe3p page reclaimation support
- introduce SRIOV scheduler groups
- add SoC remappt support in system controller
- insert compiler barriers in GuC code
- define NVL GuC firmware
- handle GT resume failure
- fix drm scheduler layering violations
- enable GSC loading and PXP for PTL
- disable GuC Power DCC strategy on PTL
- unregister drm device on probe error

i915:
- move to kernel standard fault injection
- bump recommended GuC version for DG2 and MTL

amdgpu:
- SMUIO 15.x, PSP 15.x support
- IH 6.1.1/7.1 support
- MMHUB 3.4/4.2 support
- GC 11.5.4/12.1 support
- SDMA 6.1.4/7.1/7.11.4 support
- JPEG 5.3 support
- UserQ updates
- GC 9 gfx queue reset support
- TTM memory ops parallelization
- convert legacy logging to new helpers
- DC analog fixes

amdkfd:
- GC 11.5.4/12.1 suppport
- SDMA 6.1.4/7.1 support
- per context support
- increase kfd process hash table
- Reserved SDMA rework

radeon:
- convert legacy logging to new helpers
- use devm for i2c adapters

msm:
- GPU
  - Document a612/RGMU dt bindings
  - UBWC 6.0 support (for A840 / Kaanapali)
  - a225 support
- DPU:
  - Switched to use virtual planes by default
  - Fixed DSI CMD panels on DPU 3.x
  - Rewrote format handling to remove intermediate representation
  - Fixed watchdog on DPU 8.x+
  - Fixed TE / Vsync source setting on DPU 8.x+
  - Added 3D_Mux on SC7280
  - Kaanapali platform support
  - Fixed UBWC register programming
  - Made RM reserve DSPP-enabled mixers for CRTCs with LMs.
  - Gamma correction support
- DP:
  - Enabled support for eDP 1.4+ link rate tables
  - Fixed MDSS1 DP indices on SA8775P, making them to work
  - Fixed msm_dp_ctrl_config_msa() to work with LLVM 20
- DSI:
  - Documented QCS8300 as compatible with SA8775P
  - Kaanapali platform support
- DSI PHY:
  - switched to divider_determine_rate()
- MDP5:
  - Dropped support for MSM8998, SDM660 and SDM630 (switched over
    to DPU)
-  MDSS:
  - Kaanapali platform support
  - Fixed UBWC register programming

nova-core:
- Prepare for Turing support. This includes parsing and handling
  Turing-specific firmware headers and sections as well as a Turing
  Falcon HAL implementation.
- Get rid of the Result<impl PinInit<T, E>> anti-pattern.
- Relocate initializer-specific code into the appropriate initializer.
- Use CStr::from_bytes_until_nul() to remove custom helpers.
- Improve handling of unexpected firmware values.
- Clean up redundant debug prints.
- Replace c_str!() with native Rust C-string literals.
- Update nova-core task list.

nova:
- Align GEM object size to system page size.

tyr:
- Use generated uAPI bindings for GpuInfo.
- Replace manual sleeps with read_poll_timeout().
- Replace c_str!() with native Rust C-string literals.
- Suppress warnings for unread fields.
- Fix incorrect register name in print statement.

nouveau:
- fix big page table support races in PTE management
- improve reclocking on tegra 186+

amdxdna:
- fix suspend race conditions
- improve handling of zero tail pointers
- fix cu_idx overwritten during command setup
- enable hardware context priority
- remove NPU2 support
- update message buffer allocation requirements
- update firmware version check

ast:
- support imported cursor buffers
- big endian fixes

etnaviv:
- add PPU flop reset support

imagination:
- add AM62P support
- introduce hw version checks

ivpu:
- implement warm boot flow

panfrost:
- add bo sync ioctl
- add GPU_PM_RT support for RZ/G3E SoC

panthor:
- add bo sync ioctl
- enable timestamp propagation
- scheduler robustness improvements
- VM termination fixes
- huge page support

rockchip:
- RK3368 HDMI Support
- get rid of atomic_check fixups
- RK3506 support
- RK3576/RK3588 improved HPD handling

rz-du:
- RZ/V2H(P) MIPI-DSI Support

v3d:
- fix DMA segment size
- convert to new logging helpers

mediatek:
- move DP training to hotplug thread
- convert logging to new helpers
- add support for HS speed DSI
- Genio 510/700/1200-EVK, Radxa NIO-12L HDMI support

atmel-hlcdc:
- switch to drmm resource
- support nomodeset
- use newer helpers

hisilicon:
- fix various DP bugs

renesas:
- fix kernel panic on reboot

exynos:
- fix vidi_connection_ioctl using wrong device
- fix vidi_connection deref user ptr
- fix concurrency regression with vidi_context

vkms:
- add configfs support for display configuration
drm for 7.0-rc1

core:
- drop kgdb support
- replace system workqueue with percpu
- account for property blobs in memcg
- MAINTAINERS updates for xe + buddy

rust:
- Fix documentation for Registration constructors.
- Use pin_init::zeroed() for fops initialization.
- Annotate DRM helpers with __rust_helper.
- Improve safety documentation for gem::Object::new().
- Update AlwaysRefCounted imports.
- mm: Prevent integer overflow in page_align().

atomic:
- add drm_device pointer to drm_private_obj
- introduce gamma/degamma LUT size check

buddy:
- fix free_trees memory leak
- prevent BUG_ON

bridge:
- introduce drm_bridge_unplug/enter/exit
- add connector argument to .hpd_notify
- lots of recounting conversions
- convert rockchip inno hdmi to bridge
- lontium-lt9611uxc: switch to HDMI audio helpers
- dw-hdmi-qp: add support for HPD-less setups
- Algoltek AG6311 support

panels:
- edp: CSW MNE007QB3-1, AUO B140HAN06.4, AUO B140QAX01.H
- st75751: add SPI support
- Sitronix ST7920, Samsung LTL106HL02
- LG LH546WF1-ED01, HannStar HSD156J
- BOE NV130WUM-T08
- Innolux G150XGE-L05
- Anbernic RG-DS

dma-buf:
- improve sg_table debugging
- add tracepoints
- call clear_page instead of memset
- start to introduce cgroup memory accounting in heaps
- remove sysfs stats

dma-fence:
- add new helpers

dp:
- mst: avoid oob access with vcpi=3D0

hdmi:
- limit infoframes exposure to userspace

gem:
- reduce page table overhead with THP
- fix leak in drm_gem_get_unmapped_area

gpuvm:
- API sanitation for rust bindings

sched:
- introduce new helpers

panic:
- report invalid panic modes
- add kunit tests

i915/xe display:
- Expose sharpness only if num_scalers is >=3D 2
- Add initial Xe3P_LPD for NVL
- BMG FBC support
- Add MTL+ platforms to support dpll framework
_ fix DIMM_S DRM decoding on ICL
- Return to using AUX interrupts
- PSR/Panel replay refactoring
- use consolidation HDMI tables
- Xe3_LPD CD2X dividier changes

xe:
- vfio: add vfio_pci for intel GPU
- multi queue support
- dynamic pagemaps and multi-device SVM
- expose temp attribs in hwmon
- NO_COMPRESSION bo flag
- expose MERT OA unit
- sysfs survivability refactor
- SRIOV PF: add MERT support
- enable SR-IOV VF migration
- Enable I2C/NVM on Crescent Island
- Xe3p page reclaimation support
- introduce SRIOV scheduler groups
- add SoC remappt support in system controller
- insert compiler barriers in GuC code
- define NVL GuC firmware
- handle GT resume failure
- fix drm scheduler layering violations
- enable GSC loading and PXP for PTL
- disable GuC Power DCC strategy on PTL
- unregister drm device on probe error

i915:
- move to kernel standard fault injection
- bump recommended GuC version for DG2 and MTL

amdgpu:
- SMUIO 15.x, PSP 15.x support
- IH 6.1.1/7.1 support
- MMHUB 3.4/4.2 support
- GC 11.5.4/12.1 support
- SDMA 6.1.4/7.1/7.11.4 support
- JPEG 5.3 support
- UserQ updates
- GC 9 gfx queue reset support
- TTM memory ops parallelization
- convert legacy logging to new helpers
- DC analog fixes

amdkfd:
- GC 11.5.4/12.1 suppport
- SDMA 6.1.4/7.1 support
- per context support
- increase kfd process hash table
- Reserved SDMA rework

radeon:
- convert legacy logging to new helpers
- use devm for i2c adapters

msm:
- GPU
  - Document a612/RGMU dt bindings
  - UBWC 6.0 support (for A840 / Kaanapali)
  - a225 support
- DPU:
  - Switched to use virtual planes by default
  - Fixed DSI CMD panels on DPU 3.x
  - Rewrote format handling to remove intermediate representation
  - Fixed watchdog on DPU 8.x+
  - Fixed TE / Vsync source setting on DPU 8.x+
  - Added 3D_Mux on SC7280
  - Kaanapali platform support
  - Fixed UBWC register programming
  - Made RM reserve DSPP-enabled mixers for CRTCs with LMs.
  - Gamma correction support
- DP:
  - Enabled support for eDP 1.4+ link rate tables
  - Fixed MDSS1 DP indices on SA8775P, making them to work
  - Fixed msm_dp_ctrl_config_msa() to work with LLVM 20
- DSI:
  - Documented QCS8300 as compatible with SA8775P
  - Kaanapali platform support
- DSI PHY:
  - switched to divider_determine_rate()
- MDP5:
  - Dropped support for MSM8998, SDM660 and SDM630 (switched over
    to DPU)
-  MDSS:
  - Kaanapali platform support
  - Fixed UBWC register programming

nova-core:
- Prepare for Turing support. This includes parsing and handling
  Turing-specific firmware headers and sections as well as a Turing
  Falcon HAL implementation.
- Get rid of the Result<impl PinInit<T, E>> anti-pattern.
- Relocate initializer-specific code into the appropriate initializer.
- Use CStr::from_bytes_until_nul() to remove custom helpers.
- Improve handling of unexpected firmware values.
- Clean up redundant debug prints.
- Replace c_str!() with native Rust C-string literals.
- Update nova-core task list.

nova:
- Align GEM object size to system page size.

tyr:
- Use generated uAPI bindings for GpuInfo.
- Replace manual sleeps with read_poll_timeout().
- Replace c_str!() with native Rust C-string literals.
- Suppress warnings for unread fields.
- Fix incorrect register name in print statement.

nouveau:
- fix big page table support races in PTE management
- improve reclocking on tegra 186+

amdxdna:
- fix suspend race conditions
- improve handling of zero tail pointers
- fix cu_idx overwritten during command setup
- enable hardware context priority
- remove NPU2 support
- update message buffer allocation requirements
- update firmware version check

ast:
- support imported cursor buffers
- big endian fixes

etnaviv:
- add PPU flop reset support

imagination:
- add AM62P support
- introduce hw version checks

ivpu:
- implement warm boot flow

panfrost:
- add bo sync ioctl
- add GPU_PM_RT support for RZ/G3E SoC

panthor:
- add bo sync ioctl
- enable timestamp propagation
- scheduler robustness improvements
- VM termination fixes
- huge page support

rockchip:
- RK3368 HDMI Support
- get rid of atomic_check fixups
- RK3506 support
- RK3576/RK3588 improved HPD handling

rz-du:
- RZ/V2H(P) MIPI-DSI Support

v3d:
- fix DMA segment size
- convert to new logging helpers

mediatek:
- move DP training to hotplug thread
- convert logging to new helpers
- add support for HS speed DSI
- Genio 510/700/1200-EVK, Radxa NIO-12L HDMI support

atmel-hlcdc:
- switch to drmm resource
- support nomodeset
- use newer helpers

hisilicon:
- fix various DP bugs

renesas:
- fix kernel panic on reboot

exynos:
- fix vidi_connection_ioctl using wrong device
- fix vidi_connection deref user ptr
- fix concurrency regression with vidi_context

vkms:
- add configfs support for display configuration

11 Feb 2026: firewire updates for 7.0-rc1 [+ + +]
(C.C.ed to linux-sound, Jens Wiklander, and Jason Gunthorpe)


 - Refactor page allocation dedicated to 1394 OHCI IR/IT/AR DMA contexts
 - Allocate variable-sized buffer for isochronous context header
   - Including a small change in sound subsystem

This subsystem has been a long-standing, single user of dma_alloc_pages().
Recently, TEE subsystem added usage in a commit
ab09dd6d9201 ("tee: add tee_shm_alloc_dma_mem()"), and it still remains.
I think the kernel API can be avoided in direct calls and encapsulated for
the convenience of DMA mapping layer developers.


Thanks

Takashi Sakamoto
(on a national holiday in Japan)

---

firewire updates for v7.0

This update includes the following changes.

 - Refactor page allocation dedicated to 1394 OHCI IR/IT/AR DMA contexts

   Although 1394 OHCI specification does not impose any restriction on
   the memory size dedicated to these DMA contexts, 1394 OHCI PCI driver
   allocates pages for convenience when mapping them into either kernel
   space or userspace VMA. The driver previously used dma_alloc_pages()
   for both page allocation and mapping creation, even though this kernel
   API is rarely used. Following discussions questioning the page-oriented
   kernel API in the DMA layer, the driver has been refactored to avoid
   using this API. In addition, the use of private members in the
   allocated pages has been removed following long-standing concern.

 - Allocate variable-sized buffer for isochronous context header

   1394 OHCI PCI driver previously allocated a single page for isochronous
   context header. As a result, the buffer size for the header was fixed
   to PAGE_SIZE, which imposed a limitation on IEC 61883-1/6 packet
   streaming engine. Consequently, the ALSA PCM devices provided by
   drivers for audio and music units in IEEE 1394 bus were constrained in
   the maximum size of buffer period (64 ms in most cases). This limitation
   is resolved by dynamically allocating the header buffer with an
   arbitrary size.

 
10 Feb 2026: PCI changes for v7.0 [+ + +]
Enumeration:

  - Don't try to enable Extended Tags on VFs since that bit is Reserved and
    causes misleading log messages (HĂĄkon Bugge)

  - Initialize Endpoint Read Completion Boundary to match Root Port,
    regardless of ACPI _HPX (HĂĄkon Bugge)

  - Apply _HPX PCIe Setting Record only to AER configuration, and only when
    OS owns PCIe hotplug but not AER, to avoid clobbering Extended Tag and
    Relaxed Ordering settings (HĂĄkon Bugge)

Resource management:

  - Move CardBus code to setup-cardbus.c and only build it when
    CONFIG_CARDBUS is set (Ilpo Järvinen)

  - Fix bridge window alignment with optional resources, where additional
    alignment requirement was previously lost (Ilpo Järvinen)

  - Stop over-estimating bridge window size since they are now assigned
    without any gaps between them (Ilpo Järvinen)

  - Increase resource MAX_IORES_LEVEL to avoid /proc/iomem flattening for
    nested bridges and endpoints (Ilpo Järvinen)

  - Add pbus_mem_size_optional() to handle sizes of optional resources
    (SR-IOV VF BARs, expansion ROMs, bridge windows) (Ilpo Järvinen)

  - Don't claim disabled bridge windows to avoid spurious claim failures
    (Ilpo Järvinen)

Driver binding:

  - Fix device reference leak in pcie_port_remove_service() (Uwe
    Kleine-König)

  - Move pcie_port_bus_match() and pcie_port_bus_type to PCIe-specific
    portdrv.c (Uwe Kleine-König)

  - Convert portdrv to use pcie_port_bus_type.probe() and .remove()
    callbacks so .probe() and .remove() can eventually be removed from
    struct device_driver (Uwe Kleine-König)

Error handling:

  - Clear stale errors on reporting agents upon probe so they don't look
    like recent errors (Lukas Wunner)

  - Add generic RAS tracepoint for hotplug events (Shuai Xue)

  - Add RAS tracepoint for link speed changes (Shuai Xue)

Power management:

  - Avoid redundant delay on transition from D3hot to D3cold if the device
    was already in D3hot (Brian Norris)

  - Prevent runtime suspend until devices are fully initialized to avoid
    saving incompletely configured device state (Brian Norris)

Power control:

  - Add power_on/off callbacks with generic signature to pwrseq, tc9563,
    and slot drivers so they can be used by pwrctrl core (Manivannan
    Sadhasivam)

  - Add PCIe M.2 connector support to the slot pwrctrl driver (Manivannan
    Sadhasivam)

  - Switch to pwrctrl interfaces to create, destroy, and power on/off
    devices, calling them from host controller drivers instead of the PCI
    core (Manivannan Sadhasivam)

  - Drop qcom .assert_perst() callbacks since this is now done by the
    controller driver instead of the pwrctrl driver (Manivannan Sadhasivam)

Virtualization:

  - Remove an incorrect unlock in pci_slot_trylock() error handling (Jinhui
    Guo)

  - Lock the bridge device for slot reset (Keith Busch)

  - Enable ACS after IOMMU configuration on OF platforms so ACS is enabled
    an all devices; previously the first device enumerated (typically a
    Root Port) didn't have ACS enabled (Manivannan Sadhasivam)

  - Disable ACS Source Validation for IDT 0x80b5 and 0x8090 switches to
    work around hardware erratum; previously ACS SV was only temporarily
    disabled, which worked for enumeration but not after reset (Manivannan
    Sadhasivam)

Peer-to-peer DMA:

  - Release per-CPU pgmap ref when vm_insert_page() fails to avoid hang
    when removing the PCI device (Hou Tao)

  - Remove incorrect p2pmem_alloc_mmap() warning about page refcount (Hou
    Tao)

Endpoint framework:

  - Add configfs sub-groups synchronously to avoid NULL pointer dereference
    when racing with removal (Liu Song)

  - Fix swapped parameters in pci_{primary/secondary}_epc_epf_unlink()
    functions (Manikanta Maddireddy)

ASPEED PCIe controller driver:

  - Add ASPEED Root Complex DT binding and driver (Jacky Chou)

Freescale i.MX6 PCIe controller driver:

  - Add DT binding and driver support for an optional external refclock in
    addition to the refclock from the internal PLL (Richard Zhu)

  - Fix CLKREQ# control so host asserts it during enumeration and Endpoints
    can use it afterwards to exit the L1.2 link state (Richard Zhu)

NVIDIA Tegra PCIe controller driver:

  - Export irq_domain_free_irqs() to allow PCI/MSI drivers that tear down
    MSI domains to be built as modules (Aaron Kling)

  - Allow pci-tegra to be built as a module (Aaron Kling)

NVIDIA Tegra194 PCIe controller driver:

  - Relax Kconfig so tegra194 can be built for platforms beyond Tegra194
    (Vidya Sagar)

Qualcomm PCIe controller driver:

  - Merge SC8180x DT binding into SM8150 (Krzysztof Kozlowski)

  - Move SDX55, SDM845, QCS404, IPQ5018, IPQ6018, IPQ8074 Gen3, IPQ8074,
    IPQ4019, IPQ9574, APQ8064, MSM8996, APQ8084 to dedicated schema
    (Krzysztof Kozlowski)

  - Add DT binding and driver support for SA8255p Endpoint being configured
    by firmware (Mrinmay Sarkar)

  - Parse PERST# from all PCIe bridge nodes for future platforms that will
    have PERST# in Switch Downstream Ports as well as in Root Ports
    (Manivannan Sadhasivam)

Renesas RZ/G3S PCIe controller driver:

  - Use pci_generic_config_write() since the writability provided by the
    custom wrapper is unnecessary (Claudiu Beznea)

SOPHGO PCIe controller driver:

  - Disable ASPM L0s and L1 on Sophgo 2044 PCIe Root Ports (Inochi Amaoto)

Synopsys DesignWare PCIe controller driver:

  - Extend PCI_FIND_NEXT_CAP() and PCI_FIND_NEXT_EXT_CAP() to return a
    pointer to the preceding Capability, to allow removal of Capabilities
    that are advertised but not fully implemented (Qiang Yu)

  - Remove MSI and MSI-X Capabilities in platforms that can't support them,
    so the PCI core automatically falls back to INTx (Qiang Yu)

  - Add ASPM L1.1 and L1.2 Substates context to debugfs ltssm_status for
    drivers that support this (Shawn Lin)

  - Skip PME_Turn_Off broadcast and L2/L3 transition during suspend if link
    is not up to avoid an unnecessary timeout (Manivannan Sadhasivam)

  - Revert dw-rockchip, qcom, and DWC core changes that used link-up IRQs
    to trigger enumeration instead of waiting for link to be up because the
    PCI core doesn't allocate bus number space for hierarchies that might
    be attached (Niklas Cassel)

  - Make endpoint iATU entry for MSI permanent instead of programming it
    dynamically, which is slow and racy with respect to other concurrent
    traffic, e.g., eDMA (Koichiro Den)

  - Use iMSI-RX MSI target address when possible to fix endpoints using
    32-bit MSI (Shawn Lin)

  - Allow DWC host controller driver probe to continue if device is not
    found or found but inactive; only fail when there's an error with the
    link (Manivannan Sadhasivam)

  - For controllers like NXP i.MX6QP and i.MX7D, where LTSSM registers are
    not accessible after PME_Turn_Off, simply wait 10ms instead of polling
    for L2/L3 Ready (Richard Zhu)

  - Use multiple iATU entries to map large bridge windows and DMA ranges
    when necessary instead of failing (Samuel Holland)

  - Add EPC dynamic_inbound_mapping feature bit for Endpoint Controllers
    that can update BAR inbound address translation without requiring EPF
    driver to clear/reset the BAR first, and advertise it for DWC-based
    Endpoints (Koichiro Den)

  - Add EPC subrange_mapping feature bit for Endpoint Controllers that can
    map multiple independent inbound regions in a single BAR, implement
    subrange mapping, advertise it for DWC-based Endpoints, and add
    Endpoint selftests for it (Koichiro Den)

  - Make resizable BARs work for Endpoint multi-PF configurations;
    previously it only worked for PF 0 (Aksh Garg)

  - Fix Endpoint non-PF 0 support for BAR configuration, ATU mappings, and
    Address Match Mode (Aksh Garg)

  - Set up iATU when ECAM is enabled; previously IO and MEM outbound
    windows weren't programmed, and ECAM-related iATU entries weren't
    restored after suspend/resume, so config accesses failed (Krishna
    Chaitanya Chundru)

Miscellaneous:

  - Use system_percpu_wq and WQ_PERCPU to explicitly request per-CPU work
    so WQ_UNBOUND can eventually be removed (Marco Crivellari)

10 Feb 2026: media updates [+ + +]

a/v7.0-1

For:

Key changes

- PCI=E2=80=AF:=E2=80=AFmgb4 =E2=80=93 Add support for GMSL1 and GMSL=E2=80=
=91coax modules =20
- Add driver for TI=E2=80=AFVIP;
- AV1 =E2=80=93 first kernel support (pixel=E2=80=91format, decoder, transc=
oder) =20
- Three new camera=E2=80=91sensor drivers (os05b10, s5k3m5, s5kjn1) =20
- Synopsys CSI=E2=80=912 receiver driver =20
- Verisilicon & rkvdec =E2=80=93 major fixes and enhancements =20
- PCI=E2=80=AFmgb4 =E2=80=93 support for GMSL=E2=80=91coax modules
- IPU6 (and 7) fixes and preparation for metadata;
- omap3isp: v4l2-compliance updates;
- dvb/vb2: fix DVB streaming, drop wait_prepare/finish.
   =20
Regards,
Mauro

---

[GIT PULL for v7.0] media updates

10 Feb 2026: Fwd: asm-generic header updates for 7.0 [+ + +]
Forgot to Cc lkml

From: Arnd Bergmann <arnd@arndb.de>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Linux-Arch <linux-arch@vger.kernel.org>, linux-api@vger.kernel.org, =
"Thomas Wei=C3=9Fschuh" <thomas.weissschuh@linutronix.de>
Subject: [GIT PULL] asm-generic header updates for 7.0
Date: Tuesday, February 10, 2026 18:02

asm-generic header updates for 7.0

A series from Thomas Wei=C3=9Fschuh cleans up the UAPI header files to no
longer contain any references to Kconfig symbols, as these make no sense
in userspace. The build-time check for these was originally added by Sam
Ravnborg in linux-2.6.28, and a later version started warning for all
newly added CONFIG_* checks here but kept a list of known exceptions. Wi=
th
the last exceptions gone from that list, the warning is now unconditional
in 'make headers_install'.

John Garry contributed a cleanup of cpumask_of_node().

10 Feb 2026: soc updates for 7.0 [+ + +]
The 7.0 merge window seems fairly quiet for the soc tree, with
only 757 non-merge changesets throughout the tree, and three
quarters of those being arm64 devicetree updates. A few new
SoC models got merged, but fewer new machines normal.

The most active developers this time by number of patches are

     37 Rob Herring (Arm)
     35 Krzysztof Kozlowski
     26 Lad Prabhakar
     25 AngeloGioacchino Del Regno
     18 Luca Weiss
     15 Vladimir Zapolskiy
     15 Heiko Stuebner
     15 Guodong Xu
     15 Cosmin Tanislav
     15 Alexander Stein
     14 Peng Fan
     14 Alain Volmat
     12 Frank Li
     11 Patrice Chotard
     11 Francesco Dolcini
     11 Dmitry Baryshkov
     10 Stefano Radaelli

and this is the overall dirstat:

   0.5% Documentation/devicetree/bindings/arm/
   0.3% Documentation/devicetree/bindings/mtd/
   0.5% Documentation/devicetree/bindings/riscv/
   0.5% Documentation/devicetree/bindings/
   3.2% arch/arm/boot/dts/aspeed/
   0.8% arch/arm/boot/dts/microchip/
   0.6% arch/arm/boot/dts/nxp/imx/
   0.2% arch/arm/boot/dts/nxp/lpc/
   0.5% arch/arm/boot/dts/qcom/
   0.5% arch/arm/boot/dts/renesas/
   0.4% arch/arm/boot/dts/st/
   0.6% arch/arm/boot/dts/ti/omap/
   0.2% arch/arm/boot/dts/
   0.2% arch/arm64/boot/dts/allwinner/
   1.3% arch/arm64/boot/dts/amlogic/
   3.2% arch/arm64/boot/dts/apple/
   0.4% arch/arm64/boot/dts/broadcom/northstar2/
   0.8% arch/arm64/boot/dts/broadcom/stingray/
   0.3% arch/arm64/boot/dts/cavium/
  22.5% arch/arm64/boot/dts/freescale/
   0.5% arch/arm64/boot/dts/intel/
   0.4% arch/arm64/boot/dts/marvell/
   4.3% arch/arm64/boot/dts/mediatek/
   0.2% arch/arm64/boot/dts/nvidia/
  31.6% arch/arm64/boot/dts/qcom/
   0.8% arch/arm64/boot/dts/realtek/
   9.5% arch/arm64/boot/dts/renesas/
   7.1% arch/arm64/boot/dts/rockchip/
   0.3% arch/arm64/boot/dts/st/
   1.0% arch/arm64/boot/dts/ti/
   0.4% arch/arm64/boot/dts/
   2.0% arch/riscv/boot/dts/sophgo/
   2.4% arch/riscv/boot/dts/spacemit/
   0.2% arch/riscv/boot/dts/
 775 files changed, 52313 insertions(+), 5630 deletions(-)
10 Feb 2026: NFSD changes for the v7.0 merge window [+ + +]
NFSD 7.0 Release Notes

Neil Brown and Jeff Layton contributed a dynamic thread pool sizing
mechanism for NFSD. The sunrpc layer now tracks minimum and maximum
thread counts per pool, and NFSD adjusts running thread counts based
on workload: idle threads exit after a timeout when the pool exceeds
its minimum, and new threads spawn automatically when all threads
are busy. Administrators control this behavior via the nfsdctl
netlink interface.

Rick Macklem, FreeBSD NFS maintainer, generously contributed server-
side support for the POSIX ACL extension to NFSv4, as specified in
draft-ietf-nfsv4-posix-acls. This extension allows NFSv4 clients to
get and set POSIX access and default ACLs using native NFSv4
operations, eliminating the need for sideband protocols. The feature
is gated by a Kconfig option since the IETF draft has not yet been
ratified.

Chuck Lever delivered numerous improvements to the xdrgen tool.
Error reporting now covers parsing, AST transformation, and invalid
declarations. Generated enum decoders validate incoming values
against valid enumerator lists. New features include pass-through
line support for embedding C directives in XDR specifications,
16-bit integer types, and program number definitions. Several code
generation issues were also addressed.

When an administrator revokes NFSv4 state for a filesystem via the
unlock_fs interface, ongoing async COPY operations referencing that
filesystem are now cancelled, with CB_OFFLOAD callbacks notifying
affected clients.

The remaining patches in this pull request are clean-ups and minor
optimizations. Sincere thanks to all contributors, reviewers,
testers, and bug reporters who participated in the v7.0 NFSD
development cycle.

10 Feb 2026: sound updates for 7.0-rc1 [+ + +]
please pull sound fixes for v7.0-rc1 from:


The topmost commit is 5fafe02a7ea954b5605d69c5a8621fb148f0fc27


sound updates for 7.0-rc1

It's been relatively calm for a new era; majority of changes are for
ASoC, mostly device-specific changes, while there are a bit of
cleanups in core stuff.  A few SPI API and regmap updates are included
to be used by sound drivers, too.

Core:
- A few trivial cleanups about __free() and runtime PM macros
- Convert to new snd_seq_bus binding

ASoC:
- Generic SDCA support for reporting jack events
- Continuing platform support, cleanup and feature improvements for
  AMD, Intel, Qualcomm and SOF code
- Platform description improvements for the Cirrus drivers
- Support for NXP i.MX952, Realtek RT1320 and RT5575, and Sophogo
  CV1800B

HD- and USB-audio:
- Many quirks as usual


10 Feb 2026: integrity: subsystem updates for v7.0 [+ + +]
There are just two bug fixes: IMA's detecting scripts (bprm_creds_for_exec)=
,=20
calculating the EVM HMAC.

thanks,

Mimi


integrity-v7.0

10 Feb 2026: x86/sev for v7.0-rc1 [+ + +]
please pull the x86/sev lineup for v7.0-rc1.

Thx.

---

- Make the SEV internal header really internal and carve out the SVSM-specific
  code into a separate compilation unit, along with other cleanups and fixups.

10 Feb 2026: x86/paravirt for v7.0-rc1 [+ + +]
please pull the x86/paravirt lineup for v7.0-rc1.

Thx.

---

- A nice cleanup to the paravirt code containing a unification of the paravirt
  clock interface, taming the include hell by splitting the pv_ops structure
  and removing of a bunch of obsolete code. Work by Juergen Gross.

10 Feb 2026: x86/microcode for v7.0-rc1 [+ + +]
please pull a x86/microcode change for v7.0-rc1.

Thx.

---

- Since debugging the microcode loader makes sense on baremetal too (it was
  used in a guest only until now), extend it to be able to do that too.

10 Feb 2026: IOMMU Updates for Linux v7.0 [+ + +]
Please note that the patch from the fixes branch included in this pull request
is already part of v6.19 as I did not re-create the merge commit on-top of
v6.19. With that in mind:

IOMMU Updates for Linux v7.0

Including:

- Core changes:
  - Rust bindings for IO-pgtable code
  - IOMMU page allocation debugging support
  - Disable ATS during PCI resets

- Intel VT-d changes:
  - Skip dev-iotlb flush for inaccessible PCIe device
  - Flush cache for PASID table before using it
  - Use right invalidation method for SVA and NESTED domains
  - Ensure atomicity in context and PASID entry updates

- AMD-Vi changes:
  - Support for nested translations
  - Other minor improvements

- ARM-SMMU-v2 changes:
  - Configure SoC-specific prefetcher settings for Qualcomm's "MDSS".

- ARM-SMMU-v3 changes:
  - Improve CMDQ locking fairness for pathetically small queue sizes.
  - Remove tracking of the IAS as this is only relevant for AArch32 and
    was causing C_BAD_STE errors.
  - Add device-tree support for NVIDIA's CMDQV extension.
  - Allow some hitless transitions for the 'MEV' and 'EATS' STE fields.
  - Don't disable ATS for nested S1-bypass nested domains.
  - Additions to the kunit selftests.

10 Feb 2026: gpio updates for v7.0-rc1 [+ + +]
Please consider pulling the following set of updates for the GPIO
subsystem for the v7.0 cycle.

There are two new drivers and some changes to GPIO core but mostly just
GPIO driver updates across a wide array of files, adding support for new
models as well as various refactoring changes. Nothing controversial and
everything has spent a good measure of time in linux-next.

The merges are: an immutable branch from the MFD tree, another immutable
branch between the GPIO and reset trees and a pull of upstream GPIO fixes
from v6.19-rc5.

Details are in the signed tag as usual.

Thanks,
Bartosz

gpio updates for v7.0-rc1

GPIOLIB core:
- shrink the GPIO bus driver stub code
- rework software node support for "undefined" software nodes
- provide and use devm_fwnode_gpiod_get_optional()
- only compile the OF quirk for MT2701 when needed

New drivers:
- add the GPIO driver for ROHM bd72720
- add the gpio-line-mux driver providing 1-to-many mapping for a single
  real GPIO

Driver changes:
- refactor gpio-pca9570: use lock guard, add missing headers, use devres
  consistently
- add support for a new model (G7 Aspeed sgpiom) to the aspeed-sgpio driver
  along with some prerequisite refactoring
- use device_get_match_data() where applicable and save some lines
- add support for more models to gpio-cadence
- add the compatible property to reset-gpio and use it in shared GPIO
  management
- drop unnecessary use of irqd_get_trigger_type() in gpio-max77759
- add support for a new variant to gpio-pca953x
- extend build coverage with COMPILE_TEST for more drivers
- constify configfs structures in gpio-sim and gpio-virtuser
- add support for the K3 SoC to gpio-spacemit
- implement the missing .get_direction() callback in gpio-max77620
- add support for Tegra264 to gpio-tegra186
- drop unneeded MODULE_ALIAS() from gpio-menz127

DT bindings:
- document support for the opencores GPIO controller in gpio-mmio
- document new variants for gpio-pca953x

Documentation:
- extensively describe interrupt source detection for gpio-pca953x and
  add more models to the list of supported variants

10 Feb 2026: power sequencing updates for v7.0-rc1 [+ + +]
subsystem for the v7.0 cycle. There's one new driver and support for more
models added to the existing qcom-wcn driver as well as some minor tweaks
and fixes.

Details are in the signed tag.

Thanks,
Bartosz

power sequencing updates for v7.0-rc1

New drivers:
- add the power sequencing driver for PCIe M.2 connectors

Driver improvements:
- use device_get_match_data() where applicable
- add support for the WCN39xx family of models to pwrseq-qcom-wcn

Fixes:
- fix a locking issue in pwrseq core
- fix retval check in pwrseq-qcom-wcn

10 Feb 2026: slab updates for 7.0 [+ + +]
please pull the latest slab updates from:


Thanks,
Vlastimil


- The percpu sheaves caching layer was introduced as opt-in in 6.18 and now
  we enable it for all caches and remove the previous cpu (partial) slab
  caching mechanism. Besides the lower locking overhead and much more likely
  fastpath when freeing, this removes the rather complicated code related to
  the cpu slab lockless fastpaths (using this_cpu_try_cmpxchg128/64) and all
  its complications for PREEMPT_RT or kmalloc_nolock().
    
  The lockless slab freelist+counters update operation using
  try_cmpxchg128/64 remains and is crucial for freeing remote NUMA objects,
  and to allow flushing objects from sheaves to slabs mostly without the
  node list_lock. (Vlastimil Babka)

- Eliminate slabobj_ext metadata overhead when possible. Instead of using
  kmalloc() to allocate the array for memcg and/or allocation profiling tag
  pointers, use leftover space in a slab or per-object padding due to
  alignment. (Harry Yoo)

- Various followup improvements to the above. (Hao Li)

slab updates for 7.0

10 Feb 2026: x86/cache for v7.0-rc1 [+ + +]
please pull the x86/cache lineup for v7.0-rc1.

Thx.

---

- Extend the resctrl machinery to support telemetry monitoring on Intel. The
  practical usage of this is being able to tell how much energy or how much
  work can be attributed to a group of tasks tracked under a single
  idenitifier. Prepend this work with proper refactoring of resctrl domains
  handling code. Work by Tony Luck

 
9 Feb 2026: Kbuild / Kconfig updates for 7.0 [+ + +]
one trivial conflict against the Documentation tree:

  https://lore.kernel.org/aXeZT4VGXCf3a6CF@sirena.org.uk/

Please let me know if there are any issues.

Cheers,
Nathan

Kbuild/Kconfig updates for 7.0

Kbuild changes
9 Feb 2026: x86/bugs for v7.0-rc1 [+ + +]
please pull a x86/bugs change for v7.0-rc1.

Thx.

---

- Add EPERM to the possible PR_SET_SPECULATION_CTRL pr_ctl() error codes
  to "legitimize" it

9 Feb 2026: x86/alternatives for v7.0-rc1 [+ + +]
please pull the x86/alternatives lineup for v7.0-rc1.

Thx.

---

- Reorganize the alternatives patching mechanism to patch a single
  location only once instead of multiple times as it was the case with
  the two or three alternative options macros

9 Feb 2026: Smack patches for 7.0 [+ + +]
Here is the Smack pull request for v7.0.

There's nothing exciting. Two improvements to the code for setting
the CIPSO Domain Of Interpretation (DOI), a seldom used feature,
and a formatting change. All tested and included in next for some time.

Smack fixes for DOI specification.

9 Feb 2026: x86/misc for 7.0-rc1 [+ + +]

The IPv6 patch in here surprised me in a couple of ways. First, the
function it inlines is able to eat a lot more CPU time than I would
have expected. Second, the inlining does not seem to bloat the
kernel, at least in the configs folks have tested.

--

 * Inline x86-specific IPv6 checksum helper
 * Update IOMMU docs to use stable identifiers
 * Print unhashed pointers on fatal stack overflows

9 Feb 2026: x86/entry for 7.0-rc1 [+ + +]
composed of a set of long overdue VDSO cleanups. They makes the VDSO
build much more logical and zap quite a bit of old cruft. It also
results in a coveted net-code-removal diffstat.

There have been a few bumps along the way with this series, thus the
bug fixes on top. But nothing too scary.

--

 * VDSO rework and cleanups

 
09 Feb 2026: Documentation for 7.0 [+ + +]
A slightly calmer cycle for docs this time around, though there is still a
fair amount going on, including:

- Some signs of life on the long-moribund Japanese translation

- Documentation on policies around the use of generative tools for patch
  submissions, and a separate document intended for consumption by
  generative tools.

- The completion of the move of the documentation tools to tools/docs.  For
  now we're leaving a /scripts/kernel-doc symlink behind to avoid breaking
  scripts.

- Ongoing build-system work includes the incorporation of documentation in
  Python code, better support for documenting variables, and lots of
  improvements and fixes.

- Automatic linking of man-page references -- cat(1), for example -- to
  the online pages in the HTML build.

...and the usual array of typo fixes and such.

Additional notes:

The removal of a bunch of indexing boilerplate has created a few merge
conflicts with various trees; the resolution is generally to take both
sides for every index.rst collision.

The kernel.org tree is new, but how I plan to do things in the future;
hopefully it's all set up right.  If all else fails, the git.lwn.net
tree is still current as well:

  git://git.lwn.net/linux.git tags/docs-7.0

09 Feb 2026: sched_ext: Changes for v6.20 [+ + +]
sched_ext: Changes for v6.20

- Move C example schedulers back from the external scx repo to
  tools/sched_ext as the authoritative source. scx_userland and scx_pair
  are returning while scx_sdt (BPF arena-based task data management) is
  new. These schedulers will be dropped from the external repo.

- Improve error reporting by adding scx_bpf_error() calls when DSQ
  creation fails across all in-tree schedulers.

- Avoid redundant irq_work_queue() calls in destroy_dsq() by only
  queueing when llist_add() indicates an empty list.

- Fix flaky init_enable_count selftest by properly synchronizing
  pre-forked children using a pipe instead of sleep().

 
9 Feb 2026: kmalloc_obj branch for v7.0-rc1 [+ + +]
to carry this tree as a distinct branch, so here it is. Introduces
the kmalloc_obj* family of APIs for switching to type-based kmalloc
allocations, away from purely size-based allocations. Discussed on
lkml, with you, and at Linux Plumbers. It's been in -next for the
entire dev cycle.

Before you cut -rc1, I'd like to send you the treewide change
(generated from the Coccinelle script in this PR), which mechanically
converts almost 20k callsites from kmalloc* to kmalloc_obj*:

 8007 files changed, 19980 insertions(+), 20838 deletions(-)

This change needed fixes for mismatched types (since now the return type
from allocations is a pointer to the requested type, not "void *"), and
I've been fixing these over the last 4 releases. For those, see:
$ git log --author Kees --grep "preparation for making the kmalloc"

These fixes have mostly been trivial mismatches with const qualifiers or
accidentally identical sizes (e.g. same object size: "struct kvec *" vs
"struct iovec *", or differing pointer pointers: "struct vkms_plane_state **"
vs "struct drm_plane **"), but I did catch one case of too-small allocation
(the fix is in the works).

While working through these fixes it became clear the integral
type allocations needed to be excluded from the mechanical treewide
change since many of those needed case-by-case examination for type
correctness. Much of the Coccinelle script, therefore, is excluding
those. I've had the treewide change getting scanned by 0-day for the
entire dev cycle, and a few stragglers have popped up (recently introduced
type mismatches). I've sent patches for these already, but if they don't
get picked up for -rc1, I'll add them to my treewide change branch before
I send you that PR. I've also been doing my own allmodconfig builds
across architectures to see if I can catch anything 0-day hasn't found.

Note that the Coccinelle script commit has a commit date from today
since I added wchar_t to the exclusion list today after finding an
instance of that in s390 over the weekend.

If you'd rather handle the treewide change differently, please let me
know what you'd like to see! :)

Thanks!

-Kees

kmalloc_obj branch for v7.0-rc1

- Introduce kmalloc_obj*() family of type-based allocator APIs

- checkpatch: Suggest kmalloc_obj family for sizeof allocations

- coccinelle: Add kmalloc_objs conversion script

 
09 Feb 2026: cgroup changes for v6.20 [+ + +]
cgroup: Changes for v6.20

- cpuset changes:

  - Continue separating v1 and v2 implementations by moving more
    v1-specific logic into cpuset-v1.c.

  - Improve partition handling. Sibling partitions are no longer
    invalidated on cpuset.cpus conflict, cpuset.cpus changes no longer
    fail in v2, and effective_xcpus computation is made consistent.

  - Fix partition effective CPUs overlap that caused a warning on cpuset
    removal when sibling partitions shared CPUs.

- Increase the maximum cgroup subsystem count from 16 to 32 to
  accommodate future subsystem additions.

- Misc cleanups and selftest improvements including switching to
  css_is_online() helper, removing dead code and stale documentation
  references, using lockdep_assert_cpuset_lock_held() consistently,
  and adding polling helpers for asynchronously updated cgroup
  statistics.

09 Feb 2026: workqueue changes for v6.20 [+ + +]
workqueue: Changes for v6.20

- Rework the rescuer to process work items one-by-one instead of
  slurping all pending work items in a single pass. As there is only
  one rescuer per workqueue, a single long-blocking work item could
  cause high latency for all tasks queued behind it, even after memory
  pressure is relieved and regular kworkers become available to service
  them.

- Add CONFIG_BOOTPARAM_WQ_STALL_PANIC build-time option and
  workqueue.panic_on_stall_time parameter for time-based stall panic,
  giving systems more control over workqueue stall handling.

- Replace BUG_ON() with panic() in the stall panic path for clearer
  intent and more informative output.

 
9 Feb 2026: hardening updates for v7.0-rc1 [+ + +]
and various scattered annotations and flex array warning fixes that we
reviewed by unlanded in other trees. Introduces new annotation for expanding
counted_by to pointer members, now that compiler behavior between GCC
and Clang has been normalized.

Thanks!

-Kees

hardening updates for v7.0-rc1

- Various missed __counted_by annotations (Thorsten Blum)

- Various missed -Wflex-array-member-not-at-end fixes (Gustavo A. R. Silva)

- Avoid leftover tempfiles for interrupted compile-time FORTIFY tests
  (Nicolas Schier)

- Remove non-existant CONFIG_UBSAN_REPORT_FULL from docs (Stefan Wiehler)

- fortify: Use C arithmetic not FIELD_xxx() in FORTIFY_REASON defines
  (David Laight)

- Add __counted_by_ptr attribute, tests, and first user (Bill Wendling,
  Kees Cook)

- Update MAINTAINERS file to make hardening section not include pstore

9 Feb 2026: pstore updates for v7.0-rc1 [+ + +]

Thanks!

-Kees

pstore updates for v7.0-rc1

- Catch unlikely NULL return from vmap() (Ruipeng Qi)

- Handle corner case of past incomplete buffer fills causing heap overflow
  (Sai Ritvik Tanksalkar)

9 Feb 2026: execve update for v7.0-rc1 [+ + +]
tests from the execve unit tests.

Thanks!

-Kees

execve update for v7.0-rc1

- fs/tests: exec: drop duplicate bprm_stack_limits test vectors
  (Titouan Ameline de Cadeville)

9 Feb 2026: dlm updates for 7.0 [+ + +]


This set includes several minor code cleanups, and one notable fix
for recovery of in-progress lock conversions which would lead to a
the convert operation never completing.

Thanks,
Dave

 
09 Feb 2026: regmap updates for v6.20 [+ + +]
regmap: Updates for v7.0

The main change here is the implementation of a mechanism for generating
register defaults via a callback rather than with a table in the driver.
This is useful for devices where there are large ranges of registers
with the same or generateable values, it allows us to have a small
amount of code instead of a larger amount of default data.

09 Feb 2026: regulator updates for v6.20 [+ + +]
regulator: Updates for v7.0

There's a bunch of new drivers here, plus a lot of hardening for the
supply resolution code which allow us to support systems where we have
two PMICs each of which has regulators supplied by the other.  This did
work a long time ago but got broken as part of improved integration with
the device model, it's fairly rare so nobody noticed.

 - Improvements for supply handling from André Draszik to allow systems
   with two PMICs with supply/consumer relationships in both
   directions to instantiate.
 - New drivers for Maxim MAX776750, Realtek RT8902, Samsung S2MPG11,
   Texas Instuments TPS65185.

This have also pulls in some MFD updates which are build dependencies
for the Samsung S2MPG11 support.

09 Feb 2026: SPI updates for v6.20 [+ + +]
spi: Updates for v7.0

The highlight here is that David Lechner has added support for multi-lane
SPI devices.  Unlike the existing dual/quad SPI support this is for
devices (typically ADCs/DACs) which support multiple independent data
streams over multiple data lanes, instead of sending one data stream N
times as fast they simultaneously transfer N different data streams.
This is very similar to the case where multiple devices are grouped
together but in this case it's a single device in a way that's visible
to software.

Otherwise there's been quite a bit of work on existing drivers, both
cleanup and feature improvement, and a reasonable collection of new
drivers.

 - Support for multi-lane SPI devices.
 - Preparatory work for some memory mapped flash improvements that will
   happen in the MTD subsystem.
 - Several conversions to fwnode APIs.
 - A bunch of cleanup and hardening work on the ST drivers.
 - Support for DMA mode on Renesas RZV2H and i.MX target mode.
 - Support for ATCSPI200, AXIADO AX300, NXP XPI and Renesas RZ/N1.

 
9 Feb 2026: Modules changes for v7.0-rc1 [+ + +]
Modules changes for v7.0-rc1

Module signing:

  - Remove SHA-1 support for signing modules. SHA-1 is no longer
    considered secure for signatures due to vulnerabilities that can
    lead to hash collisions. None of the major distributions use
    SHA-1 anymore, and the kernel has defaulted to SHA-512 since
    v6.11. Note that loading SHA-1 signed modules is still supported.

  - Update scripts/sign-file to use only the OpenSSL CMS API for
    signing. As SHA-1 support is gone, we can drop the legacy PKCS#7
    API which was limited to SHA-1. This also cleans up support for
    legacy OpenSSL versions.

Cleanups and fixes:

  - Use system_dfl_wq instead of the per-cpu system_wq following the
    ongoing workqueue API refactoring.

  - Avoid open-coded kvrealloc() in module decompression logic by
    using the standard helper.

  - Improve section annotations by replacing the custom __modinit
    with __init_or_module and removing several unused __INIT*_OR_MODULE
    macros.

  - Fix kernel-doc warnings in include/linux/moduleparam.h.

  - Ensure set_module_sig_enforced is only declared when module
    signing is enabled.

  - Fix gendwarfksyms build failures on 32-bit hosts.

MAINTAINERS:

  - Update the module subsystem entry to reflect the maintainer
    rotation and update the git repository link.

The changes have been soaking in linux-next since -rc2.

Note that like Daniel mentioned in the previous pull request [1], we
rotate maintainership every 6 months, and I will be handling the module
subsystem pull requests for the first half of this year.

Link: https://lore.kernel.org/r/20251203234840.3720-1-da.gomez@kernel.org [1]
Signed-off-by: Sami Tolvanen <samitolvanen@google.com>

9 Feb 2026: arm64 updates for 7.0 [+ + +]
normal, probably due to LPC & Christmas/New Year meaning that a few
series weren't quite ready or reviewed in time. It's still useful across
the board, despite the only real feature being support for the LS64
feature enabling 64-byte atomic accesses to endpoints that support it.
There's the usual summary in the tag.

Logistics-wise, we ran into a couple of small conflicts in -next. The
first one [1] is against a KVM/ARM fix in your tree (86364832ba6f ("KVM:
arm64: Don't blindly set set PSTATE.PAN on guest exit") which clashes
with the removal of CONFIG_ARM64_PAN in arch/arm64/kvm/hyp/entry.S. The
right fix is to take what we have here so that the line becomes:

ALTERNATIVE(nop, SET_PSTATE_PAN(1), ARM64_HAS_PAN)

kvm_pan_patch_el2_entry() is then unused but is removed by the kvmarm
tree (who share the for-next/cpufeature branch). Marc and I will do a
sweep at -rc1 to remove anything left over.

The second conflict [2] is a trivial MAINTAINERS conflict where Catalin
and I have been added to the "ACPI FOR ARM64 (ACPI/arm64)" entry but
Sudeep has changed his email address in the context.

The only unusual part of the diffstat is the single-line removal of the
unused 'SYSCALL_MAX_ARGS' definition from arch/xtensa, which was part of
a series cleaning up our syscall_get_arguments() implementation and the
maintainers were on cc.


Will

[1] https://lore.kernel.org/r/86h5s8bca4.wl-maz@kernel.org
[2] https://lore.kernel.org/r/aXtqo7r3bSDMNBek@sirena.org.uk

--->8

arm64 updates for 7.0

ACPI:
 - Add interrupt signalling support to the AGDI handler.
 - Add Catalin and myself to the arm64 ACPI MAINTAINERS entry.

CPU features:
- Drop Kconfig options for PAN and LSE (these are detected at runtime).
- Add support for 64-byte single-copy atomic instructions (LS64/LS64V).
- Reduce MTE overhead when executing in the kernel on Ampere CPUs.
- Ensure POR_EL0 value exposed via ptrace is up-to-date.
- Fix error handling on GCS allocation failure.

CPU frequency:
- Add CPU hotplug support to the FIE setup in the AMU driver.

Entry code:
- Minor optimisations and cleanups to the syscall entry path.
- Preparatory rework for moving to the generic syscall entry code.

Hardware errata:
- Work around Spectre-BHB on TSV110 processors.
- Work around broken CMO propagation on some systems with the SI-L1
  interconnect.

Miscellaneous:
- Disable branch profiling for arch/arm64/ to avoid issues with noinstr.
- Minor fixes and cleanups (kexec + ubsan, WARN_ONCE() instead of
  WARN_ON(), reduction of boolean expression).
- Fix custom __READ_ONCE() implementation for LTO builds when operating
  on non-atomic types.

Perf and PMUs:
- Support for CMN-600AE.
- Be stricter about supported hardware in the CMN driver.
- Support for DSU-110 and DSU-120.
- Support for the cycles event in the DSU driver (alongside the
  dedicated cycles counter).
- Use IRQF_NO_THREAD instead of IRQF_ONESHOT in the cxlpmu driver.
- Use !bitmap_empty() as a faster alternative to bitmap_weight().
- Fix SPE error handling when failing to resume profiling.

Selftests:
- Add support for the FORCE_TARGETS option to the arm64 kselftests.
- Avoid nolibc-specific my_syscall() function.
- Add basic test for the LS64 HWCAP.
- Extend fp-pidbench to cover additional workload patterns.

9 Feb 2026: alpha updates for v7.0 [+ + +]
This pull request includes a single fix for the long‑standing
user‑space crashes on Alpha systems triggered by memory compaction.

alpha updates for v7.0

- alpha: fix user-space corruption during memory compaction

9 Feb 2026: gfs2 changes for 7.0 [+ + +]
please consider pulling the following gfs2 changes for 7.0.

Thanks,
Andreas

gfs2 changes

- Prevent rename() from failing with -ESTALE when there are locking
  conflicts and retry the operation instead.

- Don't fail when fiemap triggers a page fault (xfstest generic/742).

- Fix another locking request cancellation bug.

- Minor other fixes and cleanups.

9 Feb 2026: EDAC updates for v7.0-rc1 [+ + +]
please pull EDAC updates for v7.0-rc1.

Thx.

---

- Remove two drivers for obsolete hardware: i82443bxgx_edac and r82600_edac

- Add support for Intel Amston Lake and Panther Lake-H SoCs to igen6_edac

- The usual amount of fixes and cleanups

9 Feb 2026: MMC updates for v7.0 [+ + +]
Here's the pull-request with the updates for MMC for v7.0. Details about the
highlights are as usual found in the signed tag.

Note that, this time I have picked up some changes to improve the mux subsystem
and those are part of this pull-request, as these changes are required for mmc.


Kind regards
Ulf Hansson


MMC core:
 - Add NXP vendor and IW61x device IDs for WiFi chips over SDIO
 - Add quirk for incorrect manufacturing date
 - Add support for manufacturing date beyond 2025
 - Optimize support for secure erase/trim for some Kingston eMMCs

MMC host:
 - dw_mmc: A great amount of cleanups/simplifications to improve the code
 - dw_mmc: Remove mshc DT alias support
 - dw_mmc-rockchip: Fix runtime PM support for internal phase support
 - mtk-sd: Add support for the MT8189 variant
 - renesas_sdhi_core: Add support for selecting an optional mux
 - sdhci: Stop advertising the driver in dmesg
 - sdhci-esdhc-imx: Wait for data transfer completion before reset
 - sdhci-msm: Enable ICE for CQE-capable controllers with non-CQE cards
 - sdhci-of-bst: Add driver for the Black Sesame Technologies C1200 controller
 - sdhci-of-k1: Add support for reset
 - sdhci-of-k1: Add support for the K3 variant

mux core/consumers:
 - phy-can-transceiver: Convert to devm_mux_state_get_optional()
 - i2c-omap: Convert to devm_mux_state_get_optional_selected()
 - core: Add helper functions for getting optional and selected mux-state

 
09 Feb 2026: timers/vdso for v7.0-rc1 [+ + +]
please pull the latest timers/vdso branch from:

-02-09

es_common()


Updates for the VDSO subsystem:

  - Provide the missing 64-bit variant of clock_getres()

    This allows the extension of CONFIG_COMPAT_32BIT_TIME to the vDSO and
    finally the removal of 32-bit time types from the kernel and UAPI.

  - Remove the useless and broken getcpu_cache from the VDSO

    The intention was to provide a trivial way to retrieve the CPU number from
    the VDSO, but as the VDSO data is per process there is no way to make it
    work.

  - Switch get/put_unaligned() from packed struct to memcpy()

    The packed struct violates strict aliasing rules which requires to pass
    -fno-strict-aliasing to the compiler. As this are scalar values
    __builtin_memcpy() turns them into simple loads and stores

  - Use __typeof_unqual__() for __unqual_scalar_typeof()

    The get/put_unaligned() changes triggered a new sparse warning when __beNN
    types are used with get/put_unaligned() as sparse builds add a special
    'bitwise' attribute to them which prevents sparse to evaluate the Generic
    in __unqual_scalar_typeof().

    Newer sparse versions support __typeof_unqual__() which avoids the proble=
m,
    but requires a recent sparse install. So this adds a sanity check to spar=
se
    builds, which validates that sparse is available and capable of handling =
it.

  - Force inline __cvdso_clock_getres_common()

    Compilers sometimes un-inline agressively, which results in function call
    overhead and problems with automatic stack variable initialization.

    Interestingly enough the force inlining results in smaller code than the
    un-inlined variant produced by GCC when optimizing for size.

Thanks,

tglx

09 Feb 2026: irq/drivers for v7.0-rc1 [+ + +]
please pull the latest irq/drivers branch from:

-02-09

de"

Updates for interrupt chip drivers:

  - Add support for the Renesas RZ/V2N SoC

  - Add a new driver for the Renesas RZ/[TN]2H SoCs

  - Preserve the register state of the RISCV APLIC interrupt controller accro=
ss
    suspend/resume

  - Reinitialize the RISCV IMSIC registers after suspend/resume

  - Make the various Loongson interrupt chip drivers 32/64-bit aware

  - Handle the number of hardware interrupts in the SIFIVE PLIC driver
    correctly.

    The hardware interrupt 0 is reserved which resulted in inconsistent
    accounting. That went unnoticed as the off by one is only noticable when
    the number of device interrupts is a multiple of 32.

  - The usual device tree updates, cleanups and improvements all over the pla=
ce.

Thanks,

tglx

09 Feb 2026: x86/irq for v7.0-rc1 [+ + +]
please pull the latest x86/irq branch from:

09


Trivial cleanups for the posted MSI interrupt handling

Thanks,

tglx

09 Feb 2026: timers/clocksource for v7.0-rc1 [+ + +]
please pull the latest timers/clocksource branch from:

ce-2026-02-09

/linux/kernel/git/daniel.lezcano/linux into timers/clocksource


Updates for clockevent/clocksource drivers:

A rather small set of boring cleanups, fixes and improvements.

Thanks,

tglx

09 Feb 2026: timers/core for v7.0-rc1 [+ + +]
please pull the latest timers/core branch from:

-02-09

eap()


Updates for the core time subsystem:

  - Inline timecounter_cyc2time() as that is now used in the networking
    hotpath. Inlining it significantly improves performance.

  - Optimize the tick dependency check in case that the tracepoint is disable=
d,
    which improves the hotpath performance in the tick management code, which
    is a hotpath on transitions in and out of idle.

  - The usual cleanups and improvements


Thanks,

tglx

09 Feb 2026: irq/msi for v7.0-rc1 [+ + +]
please pull the latest irq/msi branch from:

09

vice DMA limit


Updates for the [PCI] MSI subsystem:

  - Add interrupt redirection infrastructure

    Some PCI controllers use a single demultiplexing interrupt for the MSI
    interrupts of subordinate devices.

    This prevents setting the interrupt affinity of device interrupts, which
    causes device interrupts to be delivered to a single CPU. That obviously =
is
    counterproductive for multi-queue devices and interrupt balancing.

    To work around this limitation the new infrastructure installs a dummy
    irq_set_affinity() callback which captures the affinity mask and picks a
    redirection target CPU out of the mask.

    When the PCI controller demultiplexes the interrupts it invokes a new
    handling function in the core, which either runs the interrupt handler in
    the context of the target CPU or delegates it to irq_work on the target C=
PU.

  - Utilize the interrupt redirection mechanism in the PCI DWC host controller
    driver.

    This allows affinity control for the subordinate device MSI interrupts
    instead of being randomly executed on the CPU which runs the demultiplex
    handler.

  - Replace the binary 64-bit MSI flag with a DMA mask

    Some PCI devices have PCI_MSI_FLAGS_64BIT in the MSI capability, but
    implement less than 64 address bits. This breaks on platforms where such a
    device is assigned an MSI address higher than what's supported.

    With the binary 64-bit flag there is no other choice than disabling 64-bit
    MSI support which leaves the device disfunctional.

    By using a DMA mask the address limit of a device can be described
    correctly which provides support for the above scenario.

  - Make use of the DMA mask based address limit in the hda/intel and radeon
    drivers to enable them on affected platforms.

  - The usual small cleanups and improvements


Thanks,

tglx

09 Feb 2026: irq/core for v7.0-rc1 [+ + +]
please pull the latest irq/core branch from:

-09

handler_proc


Updates for the interrupt core subsystem:

 - Remove the interrupt timing infrastructure

   This was added seven years ago to be used for power management purposes, b=
ut
   that integration never happened.

 - Clean up the remaining setup_percpu_irq() users

   The memory allocator is available when interrupts can be requested so there
   is not need for static irq_action. Move the remaining users to
   request_percpu_irq() and delete the historical cruft.

 - Warn when interrupt flag inconsistencies are detected in request*_irq().

   Inconsistent flags can lead to hard to diagnose malfunction. The fallout of
   this new warning has been addressed in next and the fixes are coming in via
   the maintainer trees and the tip irq/cleanup pull requests.

 - Invoke affinity notifier when CPU hotplug breaks affinity

   Otherwise the code using the notifier misses the affinity change and
   operates on stale information.

 - The usual cleanups and improvements

Thanks,

tglx

 
9 Feb 2026: pmdomain updates for v7.0 [+ + +]
Here's the pull-request with pmdomain updates for v7.0. Details about the
highlights are as usual found in the signed tag.


Kind regards
Ulf Hansson


pmdomain core:
 - Extend debugfs support for domain idle states

pmdomain providers:
 - imx: Add suppport for child nodes for imx93-blk-ctrl power domains
 - marvell: Add support for the audio power island for Marvell PXA1908
 - mediatek: Add support for the MT7622 audio power domain
 - mediatek: Expose shader_present as nvmem cell for mt8196-gpufreq
 - mediatek: Add support for the the MT8189 SoC
 - ti: Handle wakeup constraint for out-of-band wakeup for ti_sci domains

9 Feb 2026: sparc updates for v7.0 [+ + +]
This includes the following changes related to sparc for v7.0:

- Hardcode uapi ioctls.h TC* constants to not rely upon struct termio
  that has been dropped by glibc

- Fix bug for fork/clone and add support for clone3

- Add ARCH_HAS_CC_CAN_LINK

- API choice improvements and cleanup of unused variables

9 Feb 2026: m68k updates for v6.20 [+ + +]
m68k updates for v7.0

  - Add missing put_device() in the NuBus driver,
  - Replace vsprintf() with vsnprintf() on Sun-3.

Thanks for pulling!

9 Feb 2026: pwm: Changes for 7.0-rc1 [+ + +]
Subject: [GIT PULL] pwm: Changes for 7.0-rc1
MIME-Version: 1.0

Hello Linus,

the following changes since commit 0a155a8a24ddc647aaf28ce7cdb14af7270c158f:

  MAINTAINERS: Add myself as reviewer for PWM rust drivers (2026-01-20 09:5=
3:18 +0100)

are available in the Git repository at:

wm/for-7.0-rc1

for you to fetch changes up to 9321f9d27fbaf6c4f32772fc2620961a0c492135:

  pwm: Remove redundant check in pwm_ops_check() (2026-01-30 11:04:44 +0100)

The commits are all in next since next-20260130, all but the top commit
are already in next-20260122. There is a change to MAINTAINERS, but
I didn't hear any complaints from Stephen and Mark about conflicts in
next, and there are no changes touching non-pwm files this time around,
so I expect everything will be smooth for you.

Thanks for pulling this into 7.20-rc1.

Best regards
Uwe

pwm: Changes for v7.0-rc1

There are a few patches adapting to changes in Rust land which seems to
be the norm since there is a pwm driver written in Rust. Other than that
just a few cleanups and a single fix for the tiehrpwm driver that came
in too late for making it into v6.19.

Thanks to Andy Shevchenko, Bartosz Golaszewski, Daniel Almeida and
Michal Wilczynski for reviews in this cycle, and to Alice Ryhl, Ben
Zong-You Xie, Gokul Praveen, Kari Argillander, Markus Probst, Raag
Jadav, Shankari Anand, Tamir Duberstein and Vladimir Zapolskiy for code
contributions.


9 Feb 2026: Crypto Update for 7.0 [+ + +]
There is a merge conflict with the tip tree due to both touching
crypto/drbg.c.  However, the resolution should be trivial.

This update includes the following changes:

API:

- Fix race condition in hwrng core by using RCU.

Algorithms:

- Allow authenc(sha224,rfc3686) in fips mode.
- Add test vectors for authenc(hmac(sha384),cbc(aes)).
- Add test vectors for authenc(hmac(sha224),cbc(aes)).
- Add test vectors for authenc(hmac(md5),cbc(des3_ede)).
- Add lz4 support in hisi_zip.
- Only allow clear key use during self-test in s390/{phmac,paes}.

Drivers:

- Set rng quality to 900 in airoha.
- Add gcm(aes) support for AMD/Xilinx Versal device.
- Allow tfms to share device in hisilicon/trng.
9 Feb 2026: x86/platform changes for v7.0 [+ + +]


for you to fetch changes up to ac059ae422d7d05ed9d62970a30fa3b95870b967:

x86/platform updates for v7.0:

 - x86/hyperv: Fix smp_ops build failure on UP kernels (Ingo Molnar)

 Thanks,

Ingo

9 Feb 2026: x86/cpu changes for v7.0 [+ + +]


for you to fetch changes up to f8c7600d468bdb6e44ed3b3247c6e53f5be5d8de:

x86/cpu changes for v7.0:

 - amd: Correct the microcode table for Zenbleed
 - amd: Use ZEN_MODEL_STEP_UCODE() for erratum_1386_microcode[]
 - Drop vestigial PBE logic in AMD/Hygon/Centaur/Cyrix
   (Andrew Cooper)

 - tsx: Set default TSX mode to auto (Nikolay Borisov)

 - Drop unused Kconfig symbol X86_P6_NOP (Randy Dunlap)

 Thanks,

Ingo

9 Feb 2026: x86/boot changes for v7.0 [+ + +]


for you to fetch changes up to 2a11e1479ef07519bfd6b64ee276905ca84cf817:

x86/boot changes for v7.0:

 - x86/acpi: Add acpi=spcr to use SPCR-provided default console
   (Shenghao Yang)

 - x86/acpi/boot: Correct the acpi_is_processor_usable() check again
   (Yazen Ghannam)

 - Refresh the x86 memory map (e820 table) handling code, and
   make the printouts a bit more informative. (Ingo Molnar)

 Thanks,

Ingo

9 Feb 2026: x86/apic changes for v7.0 [+ + +]


for you to fetch changes up to 9bad74127f0ae8eeed2510fe381b064e08e6507e:

x86 APIC code changes for v7.0:

- Inline __x2apic_send_IPI_dest() (Eric Dumazet)

 Thanks,

Ingo

9 Feb 2026: Scheduler changes for v7.0 [+ + +]


for you to fetch changes up to e34881c84c255bc300f24d9fe685324be20da3d1:

Scheduler changes for v7.0:

Scheduler Kconfig space updates:

 - Further consolidate configurable preemption modes: reduce
   the number of architectures that are allowed to offer
   PREEMPT_NONE and PREEMPT_VOLUNTARY, reducing the number
   of preemption models from four to just two: 'full' and 'lazy'
   on up-to-date architectures (arm64, loongarch, powerpc,
   riscv, s390, x86).

   None and voluntary are only available as legacy features
   on platforms that don't implement lazy preemption yet,
   or which don't even support preemption.

   The goal is to eventually remove cond_resched() and
   voluntary preemption altogether.

   (Peter Zijlstra)

RSEQ based 'scheduler time slice extension' support:

This allows a thread to request a time slice extension when it
enters a critical section to avoid contention on a resource when
the thread is scheduled out inside of the critical section.

 - Add fields and constants for time slice extension
 - Provide static branch for time slice extensions
 - Add statistics for time slice extensions
 - Add prctl() to enable time slice extensions
 - Implement sys_rseq_slice_yield()
 - Implement syscall entry work for time slice extensions
 - Implement time slice extension enforcement timer
 - Reset slice extension when scheduled
 - Implement rseq_grant_slice_extension()
 - entry: Hook up rseq time slice extension
 - selftests: Implement time slice extension test

   (Thomas Gleixner)

 - Allow registering RSEQ with slice extension
 - Move slice_ext_nsec to debugfs
 - Lower default slice extension
 - selftests/rseq: Add rseq slice histogram script

   (Peter Zijlstra)

Scheduler performance/scalability improvements:

 - Update rq->avg_idle when a task is moved to an idle CPU,
   which improves the scalability of various workloads.
   (Shubhang Kaushik)

 - Reorder fields in 'struct rq' for better caching
   (Blake Jones)

 - Fair scheduler SMP NOHZ balancing code speedups:

   - Move checking for nohz cpus after time check
   - Change likelyhood of nohz.nr_cpus
   - Remove nohz.nr_cpus and use weight of cpumask instead

     (Shrikanth Hegde)

 - Avoid false sharing for sched_clock_irqtime (Wangyang Guo)

 - Drop useless cpumask_empty() in find_energy_efficient_cpu()
 - Simplify task_numa_find_cpu()
 - Use cpumask_weight_and() in sched_balance_find_dst_group()

   (Yury Norov)

DL scheduler updates:

 - Add a deadline server for sched_ext tasks (by Andrea Righi and
   Joel Fernandes, with fixes by Peter Zijlstra)

RT scheduler updates:

 - Skip currently executing CPU in rto_next_cpu() (Chen Jinghuang)

Entry code updates and performance improvements, which is part of the
scheduler tree in this cycle due to interdependencies with the RSEQ
based time slice extension work:

  - Remove unused syscall argument from syscall_trace_enter()
  - Rework syscall_exit_to_user_mode_work() for architecture reuse
  - Add arch_ptrace_report_syscall_entry/exit()
  - Inline syscall_exit_work() and syscall_trace_enter()

    (Jinjie Ruan)

Scheduler core updates:

 - Rework sched_class::wakeup_preempt() and rq_modified_*()
 - Avoid rq->lock bouncing in sched_balance_newidle()
 - Rename rcu_dereference_check_sched_domain() =>
          rcu_dereference_sched_domain()
 - <linux/compiler_types.h>: Add the __signed_scalar_typeof() helper

   (Peter Zijlstra)

Fair scheduler updates/refactoring:

 - Fold the sched_avg update
 - Change rcu_dereference_check_sched_domain() to rcu-sched
 - Switch to rcu_dereference_all()
 - Remove superfluous rcu_read_lock()
 - Limit hrtick work

   (Peter Zijlstra)

 - Join two #ifdef CONFIG_FAIR_GROUP_SCHED blocks
 - Clean up comments in 'struct cfs_rq'
 - Separate se->vlag from se->vprot
 - Rename cfs_rq::avg_load to cfs_rq::sum_weight
 - Rename cfs_rq::avg_vruntime to ::sum_w_vruntime & helper functions
 - Introduce and use the vruntime_cmp() and vruntime_op() wrappers
   for wrapped-signed aritmetics
 - Sort out 'blocked_load*' namespace noise

   (Ingo Molnar)

Scheduler debugging code updates:

 - Export hidden tracepoints to modules (Gabriele Monaco)

 - Convert copy_from_user() + kstrtouint() to kstrtouint_from_user()
   (Fushuai Wang)

 - Add assertions to QUEUE_CLASS (Peter Zijlstra)

 - hrtimer: Fix tracing oddity (Thomas Gleixner)

Misc fixes and cleanups:

 - Re-evaluate scheduling when migrating queued tasks out of
   throttled cgroups (Zicheng Qu)

 - Remove task_struct->faults_disabled_mapping (Christoph Hellwig)

 - Fix math notation errors in avg_vruntime comment (Zhan Xusheng)

 - sched/cpufreq: Use %pe format for PTR_ERR() printing (zenghongling)

 Thanks,

Ingo

9 Feb 2026: Performance events changes for v7.0 [+ + +]


for you to fetch changes up to 7db06e329af30dcb170a6782c1714217ad65033d:

Performance events changes for v7.0:

x86 PMU driver updates:

 - Add support for the core PMU for Intel Diamond Rapids (DMR) CPUs.
   Compared to previous iterations of the Intel PMU code, there's
   been a lot of changes, which center around three main areas:

    - Introduce the OFF-MODULE RESPONSE (OMR) facility to
      replace the Off-Core Response (OCR) facility

    - New PEBS data source encoding layout

    - Support the new "RDPMC user disable" feature

   (Dapeng Mi)

 - Likewise, a large series adds uncore PMU support for
   Intel Diamond Rapids (DMR) CPUs, which center around these
   four main areas:

    - DMR may have two Integrated I/O and Memory Hub (IMH) dies,
      separate from the compute tile (CBB) dies.  Each CBB and
      each IMH die has its own discovery domain.

    - Unlike prior CPUs that retrieve the global discovery table
      portal exclusively via PCI or MSR, DMR uses PCI for IMH PMON
      discovery and MSR for CBB PMON discovery.

    - DMR introduces several new PMON types: SCA, HAMVF, D2D_ULA,
      UBR, PCIE4, CRS, CPC, ITC, OTC, CMS, and PCIE6.

    - IIO free-running counters in DMR are MMIO-based, unlike SPR.

   (Zide Chen)

 - Also add support for Add missing PMON units for Intel Panther Lake,
   and support Nova Lake (NVL), which largely maps to Panther Lake.
   (Zide Chen)

 - KVM integration: Add support for mediated vPMUs (by Kan Liang
   and Sean Christopherson, with fixes and cleanups by Peter Zijlstra,
   Sandipan Das and Mingwei Zhang)

 - Add Intel cstate driver to support for Wildcat Lake (WCL)
   CPUs, which are a low-power variant of Panther Lake.
   (Zide Chen)

 - Add core, cstate and MSR PMU support for the Airmont NP Intel CPU
   (aka MaxLinear Lightning Mountain), which maps to the existing
   Airmont code. (Martin Schiller)

Performance enhancements:

 - core: Speed up kexec shutdown by avoiding unnecessary
   cross CPU calls. (Jan H. Schönherr)

 - core: Fix slow perf_event_task_exit() with LBR callstacks
   (Namhyung Kim)

User-space stack unwinding support:

 - Various cleanups and refactorings in preparation to generalize
   the unwinding code for other architectures. (Jens Remus)

Uprobes updates:

 - Transition from kmap_atomic to kmap_local_page (Keke Ming)

 - Fix incorrect lockdep condition in filter_chain() (Breno Leitao)

 - Fix XOL allocation failure for 32-bit tasks (Oleg Nesterov)

Misc fixes and cleanups:

 - s390: Remove kvm_types.h from Kbuild (Randy Dunlap)

 - x86/intel/uncore: Convert comma to semicolon (Chen Ni)

 - x86/uncore: Clean up const mismatch (Greg Kroah-Hartman)

 - x86/ibs: Fix typo in dc_l2tlb_miss comment (Xiang-Bin Shi)

 Thanks,

Ingo

9 Feb 2026: xen: branch for v7.0-rc1 [+ + +]
Please git pull the following tag:


xen: branch for v7.0-rc1

It contains the following patches:

- a simple fix for running as Xen PVH guest in 32-bit mode without PAE

- a small series fixing PV device handling for suspend/resume when
  running as a Xen guest

- a small series cleaning up workqueue usage

- a small series fixing the Xen balloon driver for PVH dom0

- a patch introducing the possibility to use hypercalls for console
  messages in unprivileged guests

- a patch enabling a Xen dom0 to use virtio devices in nested
  virtualization setups

- a simplification of the xen-mcelog driver


Thanks.

Juergen

9 Feb 2026: erofs updates for 7.0-rc1 [+ + +]
Could you consider this pull request for 7.0-rc1?

In this cycle, inode page cache sharing among filesystems on the same
machine is now supported, which is particularly useful for high-density
hosts running tens of thousands of containers.

In addition, we fully isolate the EROFS core on-disk format from other
optional encoded layouts since the core on-disk part is designed to be
simple, effective, and secure. Users can use the core format to build
unique golden immutable images and import their filesystem trees
directly from raw block devices via DMA, page-mapped DAX devices, and/or
file-backed mounts without having to worry about unnecessary intrinsic
consistency issues found in other generic filesystems by design.
However, the full vision is still working in progress and will spend
more time to achieve final goals.

There are other improvements and bug fixes as usual, as listed below.

All commits have been in -next for a while. Note that I have merged the
`vfs-7.0.iomap` branch in order to import iomap changes and route the
iomap updates properly, so the same merge conflicts are observed as in:

https://lore.kernel.org/r/20260206-vfs-iomap-v70-71e0b356ce5c@brauner

Thanks,
Gao Xiang

Changes since last update:

 - Support inode page cache sharing among filesystems

 - Formally separate optional encoded (aka compressed) inode layouts
   (and the implementations) from the EROFS core on-disk aligned plain
   format for future zero-trust security usage

 - Improve performance by caching the fact that an inode does not have
   a POSIX ACL

 - Improve LZ4 decompression error reporting

 - Enable LZMA by default and promote DEFLATE and Zstandard algorithms
   out of EXPERIMENTAL status

 - Switch to inode_set_cached_link() to cache symlink lengths

 - random bugfixes and minor cleanups

 
8 Feb 2026: Crypto library updates for 7.0 [+ + +]
- Add support for verifying ML-DSA signatures.

  ML-DSA (Module-Lattice-Based Digital Signature Algorithm) is a
  recently-standardized post-quantum (quantum-resistant) signature
  algorithm. It was known as Dilithium pre-standardization.

  The first use case in the kernel will be module signing. But there
  are also other users of RSA and ECDSA signatures in the kernel that
  might want to upgrade to ML-DSA eventually.

- Improve the AES library:

    - Make the AES key expansion and single block encryption and
      decryption functions use the architecture-optimized AES code.
      Enable these optimizations by default.

    - Support preparing an AES key for encryption-only, using about
      half as much memory as a bidirectional key.

    - Replace the existing two generic implementations of AES with a
      single one.

- Simplify how Adiantum message hashing is implemented. Remove the
  "nhpoly1305" crypto_shash in favor of direct lib/crypto/ support for
  NH hashing, and enable optimizations by default.

 
9 Feb 2026: chrome-platform updates for v7.0 [+ + +]

Hi Linus,


Thanks,
Tzung-Bi
------

chrome-platform: Updates for v7.0

* New

  (cros_ec_lightbar)
  - Report the number of exposed LED segments via sysfs.
  - Support large sequence of program to be transmitted.

* Fixes

  - Don't touch fwnode_handle::dev which is a private field.
  - Fix wrong assignment for response size in cros_ec_lightbar.

* Cleanups

  - Use acpi_get_local_u64_address() helper.

 
8 Feb 2026: bitmap for 6.20 [+ + +]
more rust helpers, a new KUNIT test for bitops and a couple random
fixes.

All patches spent in -next for at least 2 weeks with no issues.

Thanks,
Yury

bitmap updates for v6.20

 - more rust helpers (Alice);
 - more bitops tests (Ryota);
 - FIND_NTH_BIT() uninitialized variable fix (Lee Yongjun);
 - random cleanups (Andy, H. Peter).

8 Feb 2026: Rust for v6.20 / v7.0 [+ + +]
This is the next round of the Rust support.

A medium-sized one this time. The major changes are the rewrite of our
procedural macros to use the `syn` parsing library which we introduced
last cycle.

Only a single one-liner conflict expected at this time (please pick the
longer line). The resolutions in linux-next should be fine. I did a test
merge with what you have at the moment.

All commits have been in linux-next for a week or more.


Cheers,
Miguel

Rust changes for v6.20 / v7.0

Toolchain and infrastructure:

 - Add '__rust_helper' annotation to the C helpers.

   This is needed to inline these helpers into Rust code.

 - Remove imports available via the prelude, treewide.

   This was possible thanks to a new lint in Klint that Gary has
   implemented -- more Klint-related changes, including initial upstream
   support, are coming.

 - Deduplicate pin-init flags.

'kernel' crate:

 - Add support for calling a function exactly once with the new
   'do_once_lite!' macro (and 'OnceLite' type).

   Based on this, add 'pr_*_once!' macros to print only once.

 - Add 'impl_flags!' macro for defining common bitflags operations:

       impl_flags!(
           /// Represents multiple permissions.
           #[derive(Debug, Clone, Default, Copy, PartialEq, Eq)]
           pub struct Permissions(u32);

           /// Represents a single permission.
           #[derive(Debug, Clone, Copy, PartialEq, Eq)]
           pub enum Permission {
               /// Read permission.
               Read = 1 << 0,

               /// Write permission.
               Write = 1 << 1,

               /// Execute permission.
               Execute = 1 << 2,
           }
       );

       let mut f: Permissions = Permission::Read | Permission::Write;
       assert!(f.contains(Permission::Read));
       assert!(!f.contains(Permission::Execute));

       f |= Permission::Execute;
       assert!(f.contains(Permission::Execute));

       let f2: Permissions = Permission::Write | Permission::Execute;
       assert!((f ^ f2).contains(Permission::Read));
       assert!(!(f ^ f2).contains(Permission::Write));

 - 'bug' module: support 'CONFIG_DEBUG_BUGVERBOSE_DETAILED' in the
   'warn_on!' macro in order to show the evaluated condition alongside
   the file path:

        ------------[ cut here ]------------
        WARNING: [val == 1] linux/samples/rust/rust_minimal.rs:27 at ...
        Modules linked in: rust_minimal(+)

 - Add safety module with 'unsafe_precondition_assert!' macro, currently
   a wrapper for 'debug_assert!', intended to mark the validation of
   safety preconditions where possible:

       /// # Safety
       ///
       /// The caller must ensure that `index` is less than `N`.
       unsafe fn set_unchecked(&mut self, index: usize, value: T) {
           unsafe_precondition_assert!(
               index < N,
               "set_unchecked() requires index ({index}) < N ({N})"
           );

           ...
       }

 - Add instructions to 'build_assert!' documentation requesting to
   always inline functions when used with function arguments.

 - 'ptr' module: replace 'build_assert!' with a 'const' one.

 - 'rbtree' module: reduce unsafe blocks on pointer derefs.

 - 'transmute' module: implement 'FromBytes' and 'AsBytes' for
   inhabited ZSTs, and use it in Nova.

 - More treewide replacements of 'c_str!' with C string literals.

'macros' crate:

 - Rewrite most procedural macros ('module!', 'concat_idents!',
   '#[export]', '#[vtable]', '#[kunit_tests]') to use the 'syn' parsing
   library which we introduced last cycle, with better diagnostics.

   This also allows to support '#[cfg]' properly in the '#[vtable]'
   macro, to support arbitrary types in 'module!' macro (not just an
   identifier) and to remove several custom parsing helpers we had.

 - Use 'quote!' from the recently vendored 'quote' library and remove
   our custom one.

   The vendored one also allows us to avoid quoting '"' and '{}' inside
   the template anymore and editors can now highlight it. In addition,
   it improves robustness as it eliminates the need for string quoting
   and escaping.

 - Use 'pin_init::zeroed()' to simplify KUnit code.

'pin-init' crate:

 - Rewrite all procedural macros ('[pin_]init!', '#[pin_data]',
   '#[pinned_drop]', 'derive([Maybe]Zeroable)') to use the 'syn' parsing
   library which we introduced last cycle, with better diagnostics.

 - Implement 'InPlaceWrite' for '&'static mut MaybeUninit<T>'. This
   enables users to use external allocation mechanisms such as
   'static_cell'.

 - Support tuple structs in 'derive([Maybe]Zeroable)'.

 - Support attributes on fields in '[pin_]init!' (such as
   '#[cfg(...)]').

 - Add a '#[default_error(<type>)]' attribute to '[pin_]init!' to
   override the default error (when no '? Error' is specified).

 - Support packed structs in '[pin_]init!' with
   '#[disable_initialized_field_access]'.

 - Remove 'try_[pin_]init!' in favor of merging their feature
   with '[pin_]init!'. Update the kernel's own 'try_[pin_]init!'
   macros to use the 'default_error' attribute.

 - Correct 'T: Sized' bounds to 'T: ?Sized' in the generated
   'PinnedDrop' check by '#[pin_data]'.

Documentation:

 - Conclude the Rust experiment.

MAINTAINERS:

 - Add "RUST [RUST-ANALYZER]" entry for the rust-analyzer support. Tamir
   and Jesung will take care of it. They have both been active around it
   for a while. The new tree will flow through the Rust one.

 - Add Gary as maintainer for "RUST [PIN-INIT]".

 - Update Boqun and Tamir emails to their kernel.org accounts.

And a few other cleanups and improvements.

8 Feb 2026: locking updates for v6.20 [+ + +]


for you to fetch changes up to 7a562d5d2396c9c78fbbced7ae81bcfcfa0fde3f:

[ MERGE NOTE: please note the default-enabled nature of the new
  locking context analysis feature, and its justification described
  below. If that's too aggressive, please disregard this pull request. ]

Locking updates for v6.20:

Lock debugging:

 - Implement compiler-driven static analysis locking context
   checking, using the upcoming Clang 22 compiler's context
   analysis features. (Marco Elver)

   We removed Sparse context analysis support, because prior to
   removal even a defconfig kernel produced 1,700+ context
   tracking Sparse warnings, the overwhelming majority of which
   are false positives. On an allmodconfig kernel the number of
   false positive context tracking Sparse warnings grows to
   over 5,200... On the plus side of the balance actual locking
   bugs found by Sparse context analysis is also rather ... sparse:
   I found only 3 such commits in the last 3 years. So the
   rate of false positives and the maintenance overhead is
   rather high and there appears to be no active policy in
   place to achieve a zero-warnings baseline to move the
   annotations & fixers to developers who introduce new code.

   Clang context analysis is more complete and more aggressive
   in trying to find bugs, at least in principle. Plus it has
   a different model to enabling it: it's enabled subsystem by
   subsystem, which results in zero warnings on all relevant
   kernel builds (as far as our testing managed to cover it).
   Which allowed us to enable it by default, similar to other
   compiler warnings, with the expectation that there are no
   warnings going forward. This enforces a zero-warnings baseline
   on clang-22+ builds. (Which are still limited in distribution,
   admittedly.)

   Hopefully the Clang approach can lead to a more maintainable
   zero-warnings status quo and policy, with more and more
   subsystems and drivers enabling the feature. Context tracking
   can be enabled for all kernel code via WARN_CONTEXT_ANALYSIS_ALL=y
   (default disabled), but this will generate a lot of false positives.

   ( Having said that, Sparse support could still be added back,
     if anyone is interested - the removal patch is still
     relatively straightforward to revert at this stage. )

Rust integration updates: (Alice Ryhl, Fujita Tomonori, Boqun Feng)

  - Add support for Atomic<i8/i16/bool> and replace most Rust native
    AtomicBool usages with Atomic<bool>

  - Clean up LockClassKey and improve its documentation

  - Add missing Send and Sync trait implementation for SetOnce

  - Make ARef Unpin as it is supposed to be

  - Add __rust_helper to a few Rust helpers as a preparation for
    helper LTO

  - Inline various lock related functions to avoid additional
    function calls.

WW mutexes:

  - Extend ww_mutex tests and other test-ww_mutex updates (John Stultz)

Misc fixes and cleanups:

  - rcu: Mark lockdep_assert_rcu_helper() __always_inline
    (Arnd Bergmann)

  - locking/local_lock: Include more missing headers (Peter Zijlstra)

  - seqlock: fix scoped_seqlock_read kernel-doc (Randy Dunlap)

  - rust: sync: Replace `kernel::c_str!` with C-Strings
    (Tamir Duberstein)

 Thanks,

Ingo

 
7 Feb 2026: s390 updates for 7.0 merge window [+ + +]
please pull s390 updates for the 7.0 merge window.

Thanks,
Heiko

s390 updates for 7.0 merge window

- Drop support for outdated 3590/3592 and 3480 tape devices, and limit
  support to virtualized 3490E types devices

- Implement exception based WARN() and WARN_ONCE() similar to x86

- Slightly optimize preempt primitives like __preempt_count_add() and
  __preempt_count_dec_and_test()

- A couple of small fixes and improvements

 
6 Feb 2026: KVM: x86 pull requests for 6.20 [+ + +]
Unless I'm forgetting something, there's only one conflict, between "selftests"
and the kvm-riscv tree[*] (Anup also mentioned this in his pull request).

There are two ABI changes, both of which I'm confident won't break userspace:

 - When populating guest_memfd, require the source to be 4KiB aligned.
 - Disallow changing the virtual CPU model when L2 is active (basically an
   extension of the existing rule that the model can't be changed after KVM_RUN.

Oh, and except for the PMU pull request, these are all against 6.19-rc4.

[*] https://lore.kernel.org/all/aXt2F2jIm5YK8LB1@sirena.org.uk
 
06 Feb 2026: hfs/hfsplus changes for 7.0-rc1 [+ + +]
This pull request contains several fixes of syzbot reported
issues and HFS+ fixes of xfstests failures.

Jori Koolstra has fixed the syzbot reported issue of triggering
BUG_ON() in the case of corrupted superblock. This patch replaces
the BUG_ON() in multiple places with proper error handling and
resolves the syzbot reported bug.

Mehdi Ben Hadj Khelifa has fixed the syzbot reported issues in
mount logic of HFS/HFS+ file systems. When HFS/HFS+ were converted to
the new mount api a bug was introduced by changing the allocation
pattern of sb->s_fs_info. The memory leaks issue has been fixed
by these two patches.

Shardul Bankar suggested the nice fix in hfs_bnode_create() by
returning ERR_PTR(-EEXIST) instead of the node pointer when it's
already hashed and fix of avoiding the double unload_nls() on mount
failure.

Tetsuo Handa added logic of setting inode's mode as regular
file for the case of system inodes.

The rest patches fix issue of failures in generic/020,
generic/037, generic/062, generic/480, and generic/498
xfstests for the case of HFS+ file system. Currently,
only 30 xfstests' test-cases experience failures for HFS+
file system (initially, it was around 100 failed xfstests).

hfs/hfsplus updates for v7.0

- hfsplus: avoid double unload_nls() on mount failure
- hfsplus: fix warning issue in inode.c
- hfsplus: fix generic/062 xfstests failure
- hfsplus: fix generic/037 xfstests failure
- hfsplus: pretend special inodes as regular files
- hfsplus: return error when node already exists in hfs_bnode_create
- hfs: Replace BUG_ON with error handling for CNID count checks
- hfsplus: fix generic/020 xfstests failure
- hfsplus: fix volume corruption issue for generic/498
- hfsplus: fix volume corruption issue for generic/480
- hfsplus: ensure sb->s_fs_info is always cleaned up
- hfs: ensure sb->s_fs_info is always cleaned up

06 Feb 2026: nilfs2 changes for 7.0-rc1 [+ + +]
This pull request contains one fix in NILFS2 logic
and fix of kernel-doc warnings.

Edward Adam Davis has fixed the syzbot reported issue
in nilfs_sufile_trim_fs() logic. When a user executes
the FITRIM command, an underflow can occur when
calculating nblocks if end_block is too small.
This ultimately leads to the block layer function
__blkdev_issue_discard() taking an excessively long time to
process the bio chain, and the ns_segctor_sem lock remains
held for a long period. This prevents other tasks from
acquiring the ns_segctor_sem lock, resulting in the hang
reported by syzbot

Randy Dunlap eliminated 40+ kernel-doc warnings in
nilfs2_ondisk.h by converting all of the struct member
comments to kernel-doc comments.

Ryusuke Konishi eliminated kernel-doc warnings in nilfs2_api.h.

nilfs2 updates for v7.0

- nilfs2: fix missing struct keywords in nilfs2_api.h kernel-doc
- nilfs2: convert nilfs_super_block to kernel-doc
- nilfs2: Fix potential block overflow that cause system hang

 
6 Feb 2026: nolibc changes for 6.20/7.0 [+ + +]
nolibc changes for 6.20/7.0

Highlights:

* All time-related functionality uses 64-bit timestamps for
  y2038 compatibility.
* fread() and fskeek() support.
* ptrace() support.
* Addition of libc-test to the regular kselftests.
* Smaller cleanups and fixes to the code and build system.

6 Feb 2026: Btrfs updates for 6.20/7.0 [+ + +]
Hi,

please pull the following btrfs updates. Thanks.

User visible changes, feature updates:

- when using block size > page size, enable direct IO

- fallback to buffered IO if the data profile has duplication,
  workaround to avoid checksum mismatches on block group profiles with
  redundancy, real direct IO is possible on single or RAID0

- redo export of zoned statistics, moved from sysfs to /proc/pid/mountstats
  due to size limitations of the former

Experimental features:

- remove offload checksum tunable, intended to find best way to do it
  but since we've switched to offload to thread for everything we don't
  need it anymore

- initial support for remap-tree feature, a translation layer of logical
  block addresses that allow changes without moving/rewriting blocks to
  do eg. relocation, or other changes that require COW

Notable fixes:

- automatic removal of accidentally leftover chunks when free-space-tree
  is enabled since mkfs.btrfs v6.16.1

- zoned mode

  - do not try to append to conventional zones when RAID is mixing zoned
    and conventional drives

  - fixup write pointers when mixing zoned and conventional on DUP/RAID*
    profiles

- when using squota, relax deletion rules for qgroups with 0 members to
  allow easier recovery from accounting bugs, also add more checks to
  detect bad accounting

- fix periodic reclaim scanning, properly check boundary conditions not
  to trigger it unexpectedly or miss the time to run it

- trim

  - continue after first error

  - change reporting to the first detected error

  - add more cancellation points

  - reduce contention of big device lock that can block other operations
    when there's lots of trimmed space

- when chunk allocation is forced (needs experimental build) fix
  transaction abort when unexpected space layout is detected

Core:

- switch to crypto library API for checksumming, removed module
  dependencies, pointer indirections, etc.

- error handling improvements

- adjust how and where transaction commit or abort are done and are
  maybe not necessary

- minor compression optimization to skip single block ranges

- improve how compression folios are handled

- new and updated selftests

- cleanups, refactoring

  - auto-freeing and other automatic variable cleanup conversion

  - structure size optimizations

  - condition annotations

6 Feb 2026: v7.0 [+ + +]
This is the batch of pull requests for the v7.0 merge window.

This cycle has a few infrastructure pieces worth highlighting.

There's nullfs, a completely catatonic minimal pseudo filesystem that
serves as the immutable root of the mount hierarchy. The mutable rootfs
(tmpfs/ramfs) is mounted on top of it. This allows userspace to simply
pivot_root() in the initramfs without the traditional switch_root
workarounds. nullfs is enabled unconditionally. If we see any real
regression we'll hide it behind a boot option. There's an easy to revert
change to make that happen. It will also serve as a foundation for
creating completely empty mount namespaces in a future cycle.

Along with nullfs, we remove the deprecated linuxrc-based initrd code
path is removed. It was deprecated in 2020 and this completes the
removal. Initramfs is entirely unaffected. The non-linuxrc initrd path
(root=/dev/ram0) is preserved but now carries a deprecation warning
targeting January 2027 removal.

There a new OPEN_TREE_NAMESPACE extension for open_tree(). Container
runtimes currently use CLONE_NEWNS to copy the caller's entire mount
namespace only to then pivot_root() and recursively unmount everything
they just copied. With large mount tables and thousands of parallel
container launches this creates significant contention on the namespace
semaphore. OPEN_TREE_NAMESPACE copies only the specified mount tree and
returns a mount namespace fd instead of a detached mount fd —
functioning as a combined unshare(CLONE_NEWNS) + pivot_root() in a
single syscall. Using it for container creation brings about a 40%
increase in throughput.

We added a new STATMOUNT_BY_FD extension to statmount(). It now accepts
a file descriptor as a parameter, returning mount information for the
mount the fd resides on, including detached mounts.

With every in-tree filesystem now converted to the new mount API, we can
remove all the legacy code in fs_context.c for unconverted filesystems -
about 280 lines including legacy_init_fs_context() and friends. The
mount(2) syscall path for userspace is untouched.

The timestamp update path is reworked to propagate IOCB_NOWAIT through
->update_time so that filesystems which can update timestamps without
blocking are no longer penalized. Previously, file_update_time_flags()
unconditionally returned -EAGAIN when IOCB_NOWAIT was set, making
non-blocking direct writes impossible on essentially all filesystems.
XFS implements non-blocking timestamp updates as the first user.

Lease support is changed to require explicit opt-in. Previously
kernel_setlease() fell through to generic_setlease() when a filesystem
did not define ->setlease(), silently granting lease support to every
filesystem. The new default returns -EINVAL when ->setlease is NULL.
With the new default simple_nosetlease() becomes redundant and is
removed.

There's a new generic fserror infrastructure for reporting metadata
corruption and file I/O errors to userspace via fsnotify. EFSCORRUPTED
and EUCLEAN are promoted from private per-filesystem definitions to
canonical errno.h values across all architectures. A new
super_operations::report_error callback lets filesystem drivers respond
to file I/O errors themselves.

knfsd can now use atomic_open() via dentry_create(), eliminating the
racy vfs_create() + vfs_open() sequence for combined exclusive create
and open operations.

Btrfs drops its private copies of may_delete() and may_create() in
favor of newly exported may_delete_dentry() and may_create_dentry(),
removing ~70 lines of duplicated code that had drifted out of sync with
the VFS originals.

On the scalability side, pid allocation is reworked to only take
pidmap_lock once instead of twice during alloc_pid(), improving thread
creation/teardown throughput by 10-16%. File lock presence is tracked
via a flag in ->i_opflags instead of reading ->i_flctx, avoiding
false-sharing on open/close hot paths with a measured 4-16% improvement.
A redundant DCACHE_MANAGED_DENTRY check in __follow_mount_rcu() that
caused a 100% mispredicted branch is removed.

Smaller items include minix superblock validation hardening (syzbot),
iomap plumbing for erofs page cache sharing preliminaries, a fix for
invalid folio access after folio_end_read(), posix_acl_to_xattr() now
allocating the buffer internally since every caller was doing it anyway,
chardev cleanup API conversion, the start of deprecating legacy BSD
process accounting (acct(2)), Rust VFS helper annotations for LTO
inlining, and the usual collection of kernel-doc fixes and cleanups.

Note that I will have some pull requests coming in during the second
half of the merge window as linux-next had to temporarily drop them last
week when a selftest build error happened. So I'm delaying them a bit.

Thanks!
Christian
6 Feb 2026: LoongArch KVM changes for v6.20 [+ + +]
LoongArch KVM changes for v6.20

1. Add more CPUCFG mask bits.
2. Improve feature detection.
3. Add FPU/LBT delay load support.
4. Set default return value in KVM IO bus ops.
5. Add paravirt preempt feature support.
6. Add KVM steal time test case for tools/selftests.

6 Feb 2026: Kthread changes for v7.0 [+ + +]
Once the merge window opens, please pull the following changes since
commit 9448598b22c50c8a5bb77a9103e2d49f134c9578:

  Linux 6.19-rc2 (2025-12-21 15:52:04 -0800)

are available in the Git repository at:


for you to fetch changes up to fa39ec4f89f2637ed1cdbcde3656825951787668:

  doc: Add housekeeping documentation (2026-02-03 15:23:35 +0100)

The kthread code provides an infrastructure which manages the preferred
affinity of unbound kthreads (node or custom cpumask) against
housekeeping (CPU isolation) constraints and CPU hotplug events.

One crucial missing piece is the handling of cpuset: when an isolated
partition is created, deleted, or its CPUs updated, all the unbound
kthreads in the top cpuset become indifferently affine to _all_ the
non-isolated CPUs, possibly breaking their preferred affinity along
the way.

Solve this with performing the kthreads affinity update from cpuset to
the kthreads consolidated relevant code instead so that preferred
affinities are honoured and applied against the updated cpuset isolated
partitions.

The dispatch of the new isolated cpumasks to timers, workqueues and
kthreads is performed by housekeeping, as per the nice Tejun's
suggestion.

As a welcome side effect, HK_TYPE_DOMAIN then integrates both the set
from boot defined domain isolation (through isolcpus=) and cpuset
isolated partitions. Housekeeping cpumasks are now modifiable with a
specific RCU based synchronization. A big step toward making nohz_full=
also mutable through cpuset in the future.

Thanks!

 
5 Feb 2026: ACPI support updates for v6.20-rc1/v7.0-rc1 [+ + +]
This goes a bit early, but it's ready.


 acpi-6.20-rc1


 Merge branch 'acpi-apei'


 Linux 6.19-rc7

to receive ACPI support updates for 6.20-rc1/7.0-rc1 (whichever it
turns out to be).

This one is significantly larger than previous ACPI support pull
requests because several significant updates have coincided in it.

First, there is a routine ACPICA code update, to upstream version
20251212, but this time it covers new ACPI 6.6 material that has not
been covered yet.  Among other things, it includes definitions of a
few new ACPI tables and updates of some others, like the GICv5 MADT
structures and ARM IORT IWB node definitions that are used for adding
GICv5 ACPI probing on ARM (that technically is IRQ subsystem material,
but it depends on the ACPICA changes, so it is included here).  The
latter alone adds a few hundred lines of new code.

Second, there is an update of ACPI _OSC handling including a fix that
prevents failures from occurring in some corner cases due to careless
handling of _OSC error bits.

On top of that, the "system resource" ACPI device objects with the
PNP0C01 and PNP0C02 are now going to be handled by the ACPI core
device enumeration code instead of handing them over to the legacy
PNP system driver which causes device enumeration issues to occur.
Some of those issues have been worked around in device drivers and
elsewhere and those workarounds should not be necessary any more, so
they are going away.

Moreover, the time has come to convert all "core ACPI" device drivers
that were still using struct acpi_driver objects for device binding
into proper platform drivers that use struct platform_driver for this
purpose.  These updates are accompanied by some requisite core ACPI
device enumeration code changes.

Next, there are ACPI APEI updates, including changes to avoid excess
overhead in the NMI handler and in SEA on the ARM side, changes
to unify ACPI-based HW error tracing and logging, and changes to
prevent APEI code from reaching out of its allocated memory.

There are also some ACPI power management updates, mostly related to
the ACPI cpuidle support in the processor driver, suspend-to-idle
handling on systems with ACPI support and to ACPI PM of devices.

In addition to the above, bugs are fixed and the code is cleaned up
in assorted places all over.

Specifics:

 - Update the ACPICA code in the kernel to upstream version 20251212
   which includes the following changes:

   * Add support for new ACPI table DTPR (Michal Camacho Romero)
   * Release objects with acpi_ut_delete_object_desc() (Zilin Guan)
   * Add UUIDs for Microsoft fan extensions and UUIDs associated with
     TPM 2.0 devices (Armin Wolf)
   * Fix NULL pointer dereference in acpi_ev_address_space_dispatch()
     (Alexey Simakov)
   * Add KEYP ACPI table definition (Dave Jiang)
   * Add support for the Microsoft display mux _OSI string (Armin Wolf)
   * Add definitions for the IOVT ACPI table (Xianglai Li)
   * Abort AML bytecode execution on AML_FATAL_OP (Armin Wolf)
   * Include all fields in subtable type1 for PPTT (Ben Horgan)
   * Add GICv5 MADT structures and Arm IORT IWB node definitions (Jose
     Marinho)
   * Update Parameter Block structure for RAS2 and add a new flag in
     Memory Affinity Structure for SRAT (Pawel Chmielewski)
   * Add _VDM (Voltage Domain) object (Pawel Chmielewski)

 - Add support for GICv5 ACPI probing on ARM which is based on the
   GICv5 MADT structures and ARM IORT IWB node definitions recently
   added to ACPICA (Lorenzo Pieralisi)

 - Rework ACPI PM notification setup for PCI root buses and modify the
   ACPI PM setup for devices to register wakeup source objects under
   physical (that is, PCI, platform, etc.) devices instead of doing that
   under their ACPI companions (Rafael Wysocki)

 - Adjust debug messages regarding postponed ACPI PM printed during
   system resume to be more accurate (Rafael Wysocki)

 - Remove dead code from lps0_device_attach() (Gergo Koteles)

 - Start to invoke Microsoft Function 9 (Turn On Display) of the Low-
   Power S0 Idle (LPS0) _DSM in the suspend-to-idle resume flow on
   systems with ACPI LPS0 support to address a functional issue on
   Lenovo Yoga Slim 7i Aura (15ILL9), where system fans and keyboard
   backlights fail to resume after suspend (Jakob Riemenschneider)

 - Add sysfs attribute cid for exposing _CID lists under ACPI device
   objects (Rafael Wysocki)

 - Replace sprintf() with sysfs_emit() in all of the core ACPI sysfs
   interface code (Sumeet Pawnikar)

 - Use acpi_get_local_u64_address() in the code implementing ACPI
   support for PCI to evaluate _ADR instead of evaluating that object
   directly (Andy Shevchenko)

 - Add JWIPC JVC9100 to irq1_level_low_skip_override[] to unbreak
   serial IRQs on that system (Ai Chao)

 - Fix handling of _OSC errors in acpi_run_osc() to avoid failures on
   systems where _OSC error bits are set even though the _OSC return
   buffer contains acknowledged feature bits (Rafael Wysocki)

 - Clean up and rearrange \_SB._OSC handling for general platform
   features and USB4 features to avoid code duplication and unnecessary
   memory management overhead (Rafael Wysocki)

 - Make the ACPI core device enumeration code handle PNP0C01 and PNP0C02
   ("system resource") device objects directly instead of letting the
   legacy PNP system driver handle them to avoid device enumeration
   issues on systems where PNP0C02 is present in the _CID list under
   ACPI device objects with a _HID matching a proper device driver in
   Linux (Rafael Wysocki)

 - Drop workarounds for the known device enumeration issues related to
   _CID lists containing PNP0C02 (Rafael Wysocki)

 - Drop outdated comment regarding removed function in the ACPI-based
   device enumeration code (Julia Lawall)

 - Make PRP0001 device matching work as expected for ACPI device objects
   using it as a _HID for board development and similar purposes (Kartik
   Rajput)

 - Use async schedule function in acpi_scan_clear_dep_fn() to avoid
   races with user space initialization on some systems (Yicong Yang)

 - Add a piece of documentation explaining why binding drivers directly
   to ACPI device objects is not a good idea in general and why it is
   desirable to convert drivers doing so into proper platform drivers
   that use struct platform_driver for device binding (Rafael Wysocki)

 - Convert multiple "core ACPI" drivers, including the NFIT ACPI device
   driver, the generic ACPI button drivers, the generic ACPI thermal
   zone driver, the ACPI hardware event device (HED) driver, the ACPI EC
   driver, the ACPI SMBUS HC driver, the ACPI Smart Battery Subsystem
   (SBS) driver, and the ACPI backlight (video) driver to proper platform
   drivers that use struct platform_driver for device binding (Rafael
   Wysocki)

 - Use acpi_get_local_u64_address() in the ACPI backlight (video) driver
   to evaluate _ADR instead of evaluating that object directly (Andy
   Shevchenko)

 - Convert the generic ACPI battery driver to a proper platform driver
   using struct platform_driver for device binding (Rafael Wysocki)

 - Fix incorrect charging status when current is zero in the generic
   ACPI battery driver (Ata =C4=B0lhan K=C3=B6kt=C3=BCrk)

 - Use LIST_HEAD() for initializing a stack-allocated list in the
   generic ACPI watchdog device driver (Can Peng)

 - Rework the ACPI idle driver initialization to register it directly
   from the common initialization code instead of doing that from a
   CPU hotplug "online" callback and clean it up (Huisong Li, Rafael
   Wysocki)

 - Fix a possible NULL pointer dereference in
   acpi_processor_errata_piix4() (Tuo Li)

 - Make read-only array non_mmio_desc[] static const (Colin Ian King)

 - Prevent the APEI GHES support code on ARM from accessing memory out
   of bounds or going past the ARM processor CPER record buffer (Mauro
   Carvalho Chehab)

 - Prevent cper_print_fw_err() from dumping the entire memory on systems
   with defective firmware (Mauro Carvalho Chehab)

 - Improve ghes_notify_nmi() status check to avoid unnecessary overhead
   in the NMI handler by carrying out all of the requisite preparations
   and the NMI registration time (Tony Luck)

 - Refactor the GHES driver by extracting common functionality into
   reusable helper functions to reduce code duplication and improve
   the ghes_notify_sea() status check in analogy with the previous
   ghes_notify_nmi() status check improvement (Shuai Xue)

 - Make ELOG and GHES log and trace consistently and support the CPER
   CXL protocol analogously (Fabio De Francesco)

 - Disable KASAN instrumentation in the APEI GHES driver when compile
   testing with clang < 18 (Nathan Chancellor)

 - Let ghes_edac be the preferred driver to load on  __ZX__ and _BYO_
   systems by extending the platform detection list in the APEI GHES
   driver (Tony W Wang-oc)

 - Clean up cppc_perf_caps and cppc_perf_ctrls structs and rename EPP
   constants for clarity in the ACPI CPPC library (Sumit Gupta)

Thanks!



5 Feb 2026: Power management updates for v6.20-rc1/v7.0-rc1 [+ + +]
This goes a bit early, but it's ready.


 pm-6.20-rc1


 Merge branch 'pm-tools'


 Merge tag 'cpufreq-arm-fixes-6.19-rc8' of

to receive power management updates for 6.20-rc1/7.0-rc1 (whichever it
turns out to be).

By the number of commits, cpufreq is the leading party (again) and the
most visible change there is the removal of the omap-cpufreq driver
that has not been used for a long time (good riddance).  There are also
quite a few changes in the cppc_cpufreq driver, mostly related to fixing
its frequency invariance engine in the case when the CPPC registers
used by it are not in PCC.  In addition to that, support for AM62L3 is
added to the ti-cpufreq driver and the cpufreq-dt-platdev list is
updated for some platforms.  The remaining cpufreq changes are assorted
fixes and cleanups.

Next up is cpuidle and the changes there are dominated by intel_idle
driver updates, mostly related to the new command line facility allowing
users to adjust the list of C-states used by the driver.  There are also
a few updates of cpuidle governors, including two menu governor fixes
and some refinements of the teo governor, and a MAINTAINERS update
adding Christian Loehle as a cpuidle reviewer.  [Thanks for stepping up
Christian!]

The most significant update related to system suspend and hibernation
is the one to stop freezing the PM runtime workqueue during system PM
transitions which allows some deadlocks to be avoided.  There is also
a fix for possible concurrent bit field updates in the core device
suspend code and a few other minor fixes.

Apart from the above, several drivers are updated to discard the return
value of pm_runtime_put() which is going to be converted to a void
function as soon as everybody stops using its return value, PL4 support
for Ice Lake is added to the Intel RAPL power capping driver, and there
are assorted cleanups, documentation fixes, and some cpupower utility
improvements.

Specifics:

 - Remove the unused omap-cpufreq driver (Andreas Kemnade)

 - Optimize error handling code in cpufreq_boost_trigger_state() and
   make cpufreq_boost_trigger_state() return -EOPNOTSUPP if no policy
   supports boost (Lifeng Zheng)

 - Update cpufreq-dt-platdev list for tegra, qcom, TI (Aaron Kling,
   Dhruva Gole, and Konrad Dybcio)

 - Minor improvements to the cpufreq and cpumask rust implementation
   (Alexandre Courbot, Alice Ryhl, Tamir Duberstein, and Yilin Chen)

 - Add support for AM62L3 SoC to the ti-cpufreq driver (Dhruva Gole)

 - Update arch_freq_scale in the CPPC cpufreq driver's frequency
   invariance engine (FIE) in scheduler ticks if the related CPPC
   registers are not in PCC (Jie Zhan)

 - Assorted minor cleanups and improvements in ARM cpufreq drivers (Juan
   Martinez, Felix Gu, Luca Weiss, and Sergey Shtylyov)

 - Add generic helpers for sysfs show/store to cppc_cpufreq (Sumit
   Gupta)

 - Make the scaling_setspeed cpufreq sysfs attribute return the actual
   requested frequency to avoid confusion (Pengjie Zhang)

 - Simplify the idle CPU time granularity test in the ondemand cpufreq
   governor (Frederic Weisbecker)

 - Enable asym capacity in intel_pstate only when CPU SMT is not
   possible (Yaxiong Tian)

 - Update the description of rate_limit_us default value in cpufreq
   documentation (Yaxiong Tian)

 - Add a command line option to adjust the C-states table in the
   intel_idle driver, remove the 'preferred_cstates' module parameter
   from it, add C-states validation to it and clean it up (Artem
   Bityutskiy)

 - Make the menu cpuidle governor always check the time till the closest
   timer event when the scheduler tick has been stopped to prevent it
   from mistakenly selecting the deepest available idle state (Rafael
   Wysocki)

 - Update the teo cpuidle governor to avoid making suboptimal decisions
   in certain corner cases and generally improve idle state selection
   accuracy (Rafael Wysocki)

 - Remove an unlikely() annotation on the early-return condition in
   menu_select() that leads to branch misprediction 100% of the time
   on systems with only 1 idle state enabled, like ARM64 servers (Breno
   Leitao)

 - Add Christian Loehle to MAINTAINERS as a cpuidle reviewer (Christian
   Loehle)

 - Stop flagging the PM runtime workqueue as freezable to avoid system
   suspend and resume deadlocks in subsystems that assume asynchronous
   runtime PM to work during system-wide PM transitions (Rafael Wysocki)

 - Drop redundant NULL pointer checks before acomp_request_free() from
   the hibernation code handling image saving (Rafael Wysocki)

 - Update wakeup_sources_walk_start() to handle empty lists of wakeup
   sources as appropriate (Samuel Wu)

 - Make dev_pm_clear_wake_irq() check the power.wakeirq value under
   power.lock to avoid race conditions (Gui-Dong Han)

 - Avoid bit field races related to power.work_in_progress in the core
   device suspend code (Xuewen Yan)

 - Make several drivers discard pm_runtime_put() return value in
   preparation for converting that function to a void one (Rafael
   Wysocki)

 - Add PL4 support for Ice Lake to the Intel RAPL power capping
   driver (Daniel Tang)

 - Replace sprintf() with sysfs_emit() in power capping sysfs show
   functions (Sumeet Pawnikar)

 - Make dev_pm_opp_get_level() return value match the documentation
   after a previous update of the latter (Aleks Todorov)

 - Use scoped for each OF child loop in the OPP code (Krzysztof
   Kozlowski)

 - Fix a bug in an example code snippet and correct typos in the energy
   model management documentation (Patrick Little)

 - Fix miscellaneous problems in cpupower (Kaushlendra Kumar):

   * idle_monitor: Fix incorrect value logged after stop
   * Fix inverted APERF capability check
   * Use strcspn() to strip trailing newline
   * Reset errno before strtoull()
   * Show C0 in idle-info dump

 - Improve cpupower installation procedure by making the systemd step
   optional and allowing users to disable the installation of systemd's
   unit file (Jo=C3=A3o Marcos Costa)

Thanks!



 
4 Feb 2026: USB serial device ids for 6.20-rc1 [+ + +]
USB serial device ids for 6.20-rc1

Here are some new modem device ids for 6.20-rc1.

Everything has been in linux-next with no reported issues.

4 Feb 2026: I3C changes for 6.20 [+ + +]
Here is the i3c subsystem pull request for 6.19. Most of the work has
been concentrated on mipi-i3c-hci and in particular its pci variant. The
renesas and dw drivers have also seen a few improvements.

I3C for 6.20

Subsystem:
 - add sysfs entry and attribute for Device NACK Retry count

Drivers:
 - dw: Device NACK Retry configuration knob
 - mipi-i3c-hci: support for Multi-Bus Instances, Runtime PM support, System
   Suspend support
 - renesas: suspend/resume support

 
3 Feb 2026: RCU changes for v7.0 [+ + +]
Once the merge window opens, please pull the following changes of RCU.

RCU changes for v7.0

RCU Tasks Trace:

Re-implement RCU tasks trace in term of SRCU-fast, not only more than 500 lines
of code are saved because of the reimplementation, a new set of API,
rcu_read_{,un}lock_tasks_trace(), becomes possible as well. Compared to the
previous rcu_read_{,un}lock_trace(), the new API avoid the task_struct accesses
thanks to the SRCU-fast semantics. As a result, the old
rcu_read{,un}lock_trace() API is now deprecated.

RCU Torture Test:

- Multiple improvements on kvm-series.sh (parallel run and progress showing
  metrics)
- Add context checks to rcu_torture_timer().
- Make config2csv.sh properly handle comments in .boot files.
- Include commit discription in testid.txt.

Miscellaneous RCU changes:

- Reduce synchronize_rcu() latency by reporting GP kthread's CPU QS early.
- Use suitable gfp_flags for the init_srcu_struct_nodes().
- Fix rcu_read_unlock() deadloop due to softirq.
- Correctly compute probability to invoke ->exp_current() in rcutorture.
- Make expedited RCU CPU stall warnings detect stall-end races.

RCU nocb:

- Remove unnecessary WakeOvfIsDeferred wake path and callback overload
  handling.
- Extract nocb_defer_wakeup_cancel() helper.

 
1 Feb 2026: kselftest next update for Linux 6.20-rc1 [+ + +]
Hi Linus,


resctrl test:
- fixes a devision by zero error on Hygon
- fixes non-contiguous CBM check for Hygon
- defines CPU vendor IDs as bits to match usage
- adds CPU vendor detection for Hygon

- coredeump test: changes to use __builtin_trap() instead of a null pointer
- anon_inode: replaces null pointers with empty arrays
- kublk: includes message in _Static_assert for C11 compatibility
- run_kselftest.sh: adds `--skip` argument option
- pidfd: fixes typo in comment

Note:

There is a conflict between the following commits found during linux-next
merge and Mark fixed it up

   tools/testing/selftests/ublk/kublk.h

between commit:

   584709ad5ce35 ("selftests: ublk: replace assert() with ublk_assert()")

from the block tree and commit:

   3e6ad272bb8b3 ("kselftest/kublk: include message in _Static_assert for C11 compatibility")

from the kselftest tree.

diff is attached.

thanks,
-- Shuah

linux_kselftest-next-6.20-rc1

resctrl test:
- fixes a devision by zero error on Hygon
- fixes non-contiguous CBM check for Hygon
- defines CPU vendor IDs as bits to match usage
- adds CPU vendor detection for Hygon

- coredeump test: changes to use __builtin_trap() instead of a null pointer
- anon_inode: replaces null pointers with empty arrays
- kublk: includes message in _Static_assert for C11 compatibility
- run_kselftest.sh: adds `--skip` argument option
- pidfd: fixes typo in comment

 
31 Jan 2026: SOC FSL for 6.20 [+ + +]
Hi Arnd,


Documentation is acked by Conor Dooley and changes to fsl-mc bus are 
reviewed or acked by Ioana Ciornei.

Thanks
Christophe

FSL SOC Changes for 6.20

Freescale Management Complex:
- Convert fsl-mc bus to bus callbacks
- Fix a use-after-free
- Drop redundant error messages
- Fix ressources release on some error path

Freescale QUICC Engine:
- Add an interrupt controller for IO Ports
- Use scoped for-each OF child loop

31 Jan 2026: i2c-host for v6.20 [+ + +]
Hi Wolfram,

here is the pull request for the merge window. Most of the
patches that did not make it were not ready to be merged due to
missing or pending reviews. Some were ready only very late and I
did not feel comfortable including them. For a smaller set I
simply ran out of time to follow up properly.

This pull request includes general cleanups across several
drivers, a DesignWare core refactoring to enable mode switching,
runtime PM improvements for imx-lpi2c, a new lan9691 I2C driver
and targeted fixes in rtl9300, spacemit and tegra.

I will try to collect a few more minor patches for next week, so
if it is OK with you, please expect a second part.

Thank you and I wish you a great weekend,
Andi

i2c-host for v6.20

- amd-mp2, designware, mlxbf, rtl9300, spacemit, tegra: cleanups
- designware: use a dedicated algorithm for AMD Navi
- designware: replace magic numbers with named constants
- designware: replace min_t() with min() to avoid u8 truncation
- designware: refactor core to enable mode switching
- imx-lpi2c: add runtime PM support for IRQ and clock handling
- lan9691-i2c: add new driver
- rtl9300: use OF helpers directly and avoid fwnode handling
- spacemit: add bus reset support
- units: add HZ_PER_GHZ and use it in several i2c drivers

 
30 Jan 2026: interconnect changes for 6.20 [+ + +]
This is the pull request with interconnect changes for the v6.20-rc1 merge
window. As always, the summary is in the signed tag.

All patches have been in linux-next for over a week. There are currently

Thanks,
Georgi


interconnect changes for 6.20

This pull request contains the interconnect changes for the 6.20-rc1
merge window. The core and driver changes are listed below.

Core changes:
- Add KUnit tests for core functionality

Driver changes:
- New driver for MediaTek MT8196 EMI
- MediaTek driver fixes
- Support for Glymur BWMONs
- QCS8300 driver topology fix
- Misc cleanups

Signed-off-by: Georgi Djakov <djakov@kernel.org>

30 Jan 2026: kunit next update for Linux 6.20-rc1 [+ + +]
Hi Linus,


kunit:
- adds __rust_helper to helpers
- fixes up const mis-match in many assert functions
- fixes up const mismatch in test_list_sort
- protects KUNIT_BINARY_STR_ASSERTION against ERR_PTR values
- respects KBUILD_OUTPUT env variable by default
- adds bash completion

kunit tool:
- adds test for nested test result reporting
- fixes to not overwrite test status based on subtest counts
- adds 32-bit big endian ARM configuration to qemu_configs
- renames test_data_path() to _test_data_path()
- fixes relying on implicit working directory change

diff is attached.

thanks,
-- Shuah

linux_kselftest-kunit-6.20-rc1

kunit:
- adds __rust_helper to helpers
- fixes up const mis-match in many assert functions
- fixes up const mismatch in test_list_sort
- protects KUNIT_BINARY_STR_ASSERTION against ERR_PTR values
- respects KBUILD_OUTPUT env variable by default
- adds bash completion

kunit tool:
- adds test for nested test result reporting
- fixes to not overwrite test status based on subtest counts
- adds 32-bit big endian ARM configuration to qemu_configs
- renames test_data_path() to _test_data_path()
- fixes relying on implicit working directory change

 
29 Jan 2026: ASPEED clk updates for v6.20 [+ + +]
Hi Stephen,=0A=
=0A=
=0A=
The series includes:=0A=
- Reorganization of ASPEED clock drivers under drivers/clk/aspeed/=0A=
- MAINTAINERS updates for ASPEED clock drivers=0A=
- New ASPEED clock driver support=0A=
=0A=
The branch is based on v6.19-rc1 as requested.=0A=
=0A=
Thanks,=0A=
=0A=
Billy=0A=
=0A=
----------------------------------------------------------------=0A=
29 Jan 2026: timer drivers update for v7.0/v6.20 [+ + +]
Hi Thomas,

please consider the following changes since commit 
f8f9c1f4d0c7a64600e2ca312dec824a0bc2f1da:

   Linux 6.19-rc3 (2025-12-28 13:24:26 -0800)

are available in the Git repository at:

  
ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/daniel.lezcano/linux 
tags/timers-v7.0

for you to fetch changes up to a83f9c04be4e807d1c3961eec3fe3310c60ed9aa:

   clocksource/drivers/mips-gic-timer: Move GIC timer to 
request_percpu_irq() (2026-01-20 18:07:24 +0100)

- Always leave device running after probe in the sh TMU driver to
   overcome the locking validation scheme warning when the PREEMPT_RT
   is enabled (Niklas Söderlund)

- Add missing Kconfig dependency on OF for the integrator AP (Bartosz
   Golaszewski)

- Fix a dead link in timer bindings for the Armada 370XP (Soham Metha)

- Fix an Oops when read_current_timer is called on ARM32 platforms
   where the SP804 is not registered as the sched_clock (Stephen Eta
   Zhou)

- Move GIC timer to use request_percpu_irq() instead of
   setup_percpu_irq() to allow the removal of the latter (Marc Zyngier)

 
28 Jan 2026: RISC-V Devicetrees for v6.20 (or v7.0?) [+ + +]

Hey folks,

Not a very big PR from me this time either. Last windows I've been
expecting my PR to contain the Canaan k230 platform but the clock
driver that I am waiting on always seems to end up not being quite
ready =C2=AF\_(=E3=83=84)_/=C2=AF

Cheers,
Conor.

RISC-V Devicetrees for v6.20 (or v7.0)

Anlogic:
Minor change to the extension information, to add the "b" extension
that's a catch-all for 3 of the extensions already in the dts.

Starfive:
Append the jh7110 compatible to jh7110s devicetrees, as that will enable
OpenSBI etc to run without adding support for this minor variant. The
"s" device differs from the non "s" device only in
thermal limits and voltage/frequency characteristics.

Microchip:
Redo the mpfs clock setup yet again, to something approaching correct.
The original binding conjured up for the platform was wildly inaccurate,
and even with the original improvements, a bigger change to using
syscons was required to support several peripherals that also inhabit
the memory regions that the clocks lie in. The damage to the dts isn't
that bad in the end, and of course the whole thing has been done in a
backwards compatible manner, with the code changes being merged a cycle
or two ago in the kernel and like a year ago in U-Boot (the only other
user that I am aware of).

Generic:
Additions to extensions.yaml, mainly for things in the "rva23" profile
that appear for the first time on the Spacemit K3 SoC.

Signed-off-by: Conor Dooley <conor.dooley@microchip.com>

 
26 Jan 2026: DRM Rust changes for v7.0-rc1 [+ + +]
Hi Dave and Sima,


Most changes have been in -next for a couple of rounds; there's one minor
conflict with the drm-misc tree [1] due to a Panthor/Tyr UAPI change.

In general, there are not a lot of changes this cycle, the biggest thing is=
 the
preparation work for Turing support, but even this is rather small.

Expect quite a bit more for the next cycle, e.g. GPUVM, DRM buddy, DeviceCo=
ntext
for DRM devices and Hopper/Blackwell support plus some MM stuff on the nova=
-core
side.

- Danilo

[1] https://lore.kernel.org/all/aXEF-ESjd5ouyXRq@sirena.org.uk/

DRM Rust changes for v7.0-rc1

DRM:
  - Fix documentation for Registration constructors.
  - Use pin_init::zeroed() for fops initialization.
  - Annotate DRM helpers with __rust_helper.
  - Improve safety documentation for gem::Object::new().
  - Update AlwaysRefCounted imports.

MM:
  - Prevent integer overflow in page_align().

Nova (Core):
  - Prepare for Turing support. This includes parsing and handling
    Turing-specific firmware headers and sections as well as a Turing
    Falcon HAL implementation.
  - Get rid of the Result<impl PinInit<T, E>> anti-pattern.
  - Relocate initializer-specific code into the appropriate initializer.
  - Use CStr::from_bytes_until_nul() to remove custom helpers.
  - Improve handling of unexpected firmware values.
  - Clean up redundant debug prints.
  - Replace c_str!() with native Rust C-string literals.
  - Update nova-core task list.

Nova (DRM):
  - Align GEM object size to system page size.

Tyr:
  - Use generated uAPI bindings for GpuInfo.
  - Replace manual sleeps with read_poll_timeout().
  - Replace c_str!() with native Rust C-string literals.
  - Suppress warnings for unread fields.
  - Fix incorrect register name in print statement.

26 Jan 2026: auxdisplay for 6.20-1 [+ + +]
For this subsystem it's rather moderated update and basically for only a single
driver. Everything was floating in Linux Next for weeks without reported issues.
Please, pull for v6.20-rc1 (or whatever next cycle version will be).

Thanks,

With Best Regards,
Andy Shevchenko

auxdisplay for v6.20-1

* A good refactoring of arm-charlcd to use modern kernel APIs

 
25 Jan 2026: Apple SoC driver changes for v6.20 [+ + +]
Apple SoC driver updates for 6.20

- Add a poweroff function to the RTKit library which will be required
  for the first USB4/Thunderbolt series I hope to submit next cycle.

 
23 Jan 2026: clk: imx: Updates for v6.20 [+ + +]
i.MX clocks changes for 6.20

- Add support for 241.90 MHz and 332.60 MHz to the fractional-N
  General-Purpose PLL (GPPLL).

 
22 Jan 2026: RISC-V SpacemiT Devicetrees for v6.20 [+ + +]
Hi Arnd,


Yixun Lan

RISC-V SpacemiT DT changes for 6.20

- Disable Ethernet PHY auto sleep mode
- Add pinctrl IO power support
- Add K3 Pico-ITX board
- Add support for K3 SoC
- Add DWC USB support
- Add reset for eMMC(sdhci)/I2C
- Add PCIe support
- Support PMIC for Jupiter board

22 Jan 2026: Rust pin-init for v7.0 [+ + +]
Hi Miguel,

Lot's of changes in this one, mainly the `syn` rewrite, but also some
smaller changes such as removing the `try_` versions of the macros in
pin-init (the kernel still declares its own).

All commits have been in linux-next since Monday.

The first commit in my tree is also in the `syn` patch series from Gary
[1], to avoid problems it should be merged after this tag. There also is
a "phantom conflict" with 74e15ac34b098 ("scripts:
generate_rust_analyzer: Add pin_init_internal deps") in rust-fixes,
which you already saw in linux-next [2]. Otherwise no conflicts
expected.


Cheers,
Benno

[1]: https://lore.kernel.org/all/20260112170919.1888584-1-gary@kernel.org
[2]: https://lore.kernel.org/all/aW5GPwfJPrQjm-wC@sirena.org.uk

pin-init changes for v7.0

Added:

- '&'static mut MaybeUninit<T>' now implements 'InPlaceWrite'. This
  enables users to use external allocation mechanisms such as
  'static_cell'.

- Gary Guo as a Maintainer.

Changed:

- Rewrote all proc-macros ('[pin_]init!', '#[pin_data]',
  '#[pinned_drop]', 'derive([Maybe]Zeroable)'),  using 'syn' with better
  diagnostics.

- 'derive([Maybe]Zeroable)' now support tuple structs.

- '[pin_]init!' now supports attributes on fields (such as
  '#[cfg(...)]').

- Add a '#[default_error(<type>)]' attribute to '[pin_]init!' to
  override the default error (when no '? Error' is specified).

- Support packed struct in '[pin_]init!' with
  '#[disable_initialized_field_access]'.

Removed:

- 'try_[pin_]init!' have been removed in favor of merging their feature
  with '[pin_]init!'. The kernel's own 'try_[pin_]init!' macros have
  been updated to use the 'default_error' attribute.

Fixed:

- Corrected 'T: Sized' bounds to 'T: ?Sized' in the generated
  'PinnedDrop' check by '#[pin_data]'.

22 Jan 2026: arm64: dts: samsung: dts for v6.20, part two [+ + +]
Hi Arnd and SoC folks,

On top of previous pull request:
https://patchwork.kernel.org/project/linux-soc/patch/20260117180406.9361-5-krzk@kernel.org/


Best regards,
Krzysztof


Samsung DTS ARM64 changes for v6.20, part two

Add DPU clock management unit nodes to Google GS101.

22 Jan 2026: clk: samsung: clock for v6.20/v7.0 [+ + +]
Samsung SoC clock drivers changes for v6.20

1. Add new clock controllers:
   - MFD for ExynosAutov920 SoC,
   - Display Process Unit (DPU) for Google GS101 SoC.

2. Implement automatic clock gating mode (HWACG) for Google GS101 SoC
   clock controllers (but also used on almost all modern Exynos SoC),
   opposed to currently used mode - manual mode.

Background on HW automatic clock gating from Peter Griffin in cover letter:

This series addresses an issue with Samsung Exynos based upstream clock driver
whereby the upstream clock driver sets all the clock gates into "manual mode"
(which uses a bit that is documented as reserved in the gate registers).

Another issue with the current "manual clock gating" approach upstream is
there are many bus/interconnect clocks whose relationships to the IPs
are not well documented or defined in the specs. When adding a new CMU until
now we have tried to label these clocks appropriately with CLK_IS_CRITICAL and
CLK_IGNORE_UNUSED but doing so is both error prone and time consuming. If
your lucky disabling a critical bus clock causes an immediate hang. Other
clocks however aren't so obvious and show up through random instability
some period of time later.

Fortunately each CMU (at least on newer Exynos) provides a "hardware
automatic clock gating" HWACG feature that is used by the downstream
Samsung clock drivers. Hardware automatic clock gating uses a hardware
interface between the CMU and IP to control all clocks required by the
IP. This interface is called Q-channel, and is part of the Arm AMBA low
power interface specification [1].

The advantage of using this Qchannel hardware interface for
enabling/disabling the clocks is that it takes care of all clocks
(including bus/interconnect) ones for the IP automatically thereby reducing
the dynamic power.

Whilst each clock component (GATE, MUX, DIV, QCH etc) has a HWACG enable
bit there are also some "global enable override" bits for the entire CMU in
the CMU_CONTROLLER_OPTION register.

This series makes use of those "global enable" override bits to enable auto
clock mode for the entire CMU and every component within it. Through
experimentation we can see that setting the "manual mode" reserved gate bit
on a particular gate register overides the global enable bits. So the code
is updated accordingly not to do that.

Auto clock mode has been implemented as a "opt in" by setting a new
auto_clock_gate flag in the CMU static data. The intention is existing
platforms in manual mode should not be effected by any of these changes.

If auto_clock_mode flag is set and the option_offset field is specified
then the global enable override bits will be written for the
CMU (to avoid relying on any prior bootstage configuration). Again if auto
mode is enabled the code no longer sets MANUAL and clears HWACG bits on
each gate register.

To ensure compatibility with older DTs (that specified an incorrect CMU
size) the resource size is checked and the driver falls back to manual
clock gate mode in such cases. As the CLK_IGNORE_UNUSED and CLK_IS_CRITICAL
flags are required for manual clock gate mode, the patch removing these
flags has been dropped from v2. I tested with an old DT and we successfully
switch to manual clock gate mode and the system correctly boots.

To have dynamic root clock gating (drcg) of bus components and memclk
enabled, it is required to set the bus_component_drcg and memclk registers
in the correspondingly named sysreg controller. If auto clock mode is
enabled the clock driver will now attempt to get the sysreg syscon via the
samsung,sysreg property (as used by other Exynos drivers upstream) and set
the registers accordingly. The suspend/resume code paths are also updated
to handle saving/restoring registers using a regmap. Note cmu_top is an
exception and does not have a corresondingly named sysreg_top.

As all clock gates are currently exposed in the gs101 drivers and DT, we
continue to register all of these gates in auto clock mode, but with some new
samsung_auto_clk_gate_ops. As clk enable and clk disable are now handled by
Q-channel interface the .enable and .disable implementations are
no-ops. However by using some CMU qchannel debug registers we can report
the current clock status (enabled or disabled) of every clock gate in the
system. This has the nice effect of still being able to dump the entire
clock tree from /sys/kernel/debug/clk/clk_summary and see a live view of
every auto clock in the system.

With the infrastructure in place, all the CMUs registered in clk-gs101 are
now updated to enable auto clock mode. From dumping
/sys/kernel/debug/clk/clk_summary it is possible to see that after enabling
auto clock mode approximately 305 clocks are enabled, and 299 are now
disabled. This number goes up and down a bit by 3-5 clocks just on a idle
system sat at a console.

With auto clock mode enabled it is now also possible to boot without the
clk_ignore_unused kernel command line property for the first time!

For future CMUs in gs101 I propose we continue to expose all gates, but
register the CMU in "auto mode". For new device drivers or updates to
existing dt bindings related to clocks to support gs101 I suggest we only
use the "obviously correct" clock(s). By "obviously correct" I mean a clock
has the IP name in the clock register name, but not try to deduce other
obsucurely named bus/interconnect clocks which will now all be handled
automatically. Note it is still possible to test whether the "obviously
correct" clock is indeed correct by putting the individual gate in manual
mode and disabling the clock (e.g. by using devmem).

22 Jan 2026: memory: drivers for v6.20/v7.0 [+ + +]
Memory controller drivers for v6.20

1. Mediatek SMI: Fix old struct device reference leaks during error
   paths and device unbinding.

2. Memory Devicetree bindings: refactor existing LPDDR bindings and add
   bindings for DDR4 SDRAM.  These will be used for example in
   stm32mp257f-ev1 DTS.

22 Jan 2026: [PULL REQUEST] Intel IOMMU updates for v6.20 [+ + +]
Hi Joerg,

 
21 Jan 2026: arm64: dts: ti: K3 updates for v6.20 [+ + +]
Hi,

This PR has the usual 75 char warnings around pinctrl usage and couple
of other places which I have chosen to ignore in favor of readability.

Additionally, commit 4df89cb826e0 ("dt-bindings: remoteproc: Add HSM
M4F core on TI K3 SoCs") is available in linux-next from remote-proc
tree[1], so ti,hsm-m4fss compatibile nodes were picked as a result.
This generates a checkpatch warning which should be cleared once
remote-proc tree is merged.

Finally, this tag also contains ti-k3-dt-fixes-for-v6.19[2] for
cleaner build which was merged to linus master post v6.19-rc1
(shortlog and diffstat in the pull request contain these patches as
well).

TI K3 device tree updates for v6.20

Generic Fixes/Cleanups:
- Minor whitespace cleanup and lowercase hex formatting for consistency
- Various DT schema warning fixes across multiple boards

SoC Specific Features and Fixes:
AM62P/J722S:
- Add HSM M4F node for hardware security module support

J784S4/J742S2/J721S2:
- Add HSM M4F node for hardware security module support
- Refactor watchdog instances for j784s4
- Move c71_3 node to appropriate order in device tree

Board Specific Fixes:
AM62:
- phycore-som: Add bootphase tags to cpsw_mac_syscon and phy_gmii_sel

AM62A:
- phycore-som: Add bootphase tags to cpsw_mac_syscon and phy_gmii_sel

AM62P:
- Verdin: Fix SD regulator startup delay

AM67A:
- Kontron SA67: Fix CMA node and SD card regulator configuration

AM69:
- Aquila: Change main_spi0/2 chip select to GPIO mode
- Aquila-clover: Change main_spi2 CS0 to GPIO mode
- Aquila-dev/clover: Fix USB-C Sink PDO configuration

21 Jan 2026: arm64: defconfig: TI K3 updates for v6.20 [+ + +]
Hi,

Please note that there is a minor merge conflict Vs xilinx tree as
reported in [1] with conflict resolution.

TI K3 defconfig updates for v6.20

- Enable configurations for Kontron SMARC-sAM67 module support

21 Jan 2026: soc: ti: Driver updates for v6.20 [+ + +]
Hi,

TI SoC driver updates for v6.20

Bug Fixes:
- pruss: Fix double free in pruss_clk_mux_setup()
- k3-socinfo: Fix regmap leak on probe failure
- k3-socinfo: Fix compile testing dependency issue

Cleanups:
- knav_dma/knav_qmss: Remove redundant ENOMEM printks and simplify error me=
ssages
- knav_dma/knav: Simplify code with scoped for each OF child loops
- ti_sci.h: Fix all kernel-doc warnings

21 Jan 2026: Immutable branch between I3C and IIO due for the v6.20 [+ + +]
Immutable branch between I3C and IIO due for the v6.20 merge window

 
20 Jan 2026: cpupower second update for Linux 6.20-rc1 [+ + +]
Hi Rafael,


Improve the installation procedure by making this systemd step optional
enabling users to disable installation of systemd's unit file.

diff is attached.

thanks,
-- Shuah

linux-cpupower-6.20-update-2

Improve the installation procedure by making this systemd step optional
enabling users to disable installation of systemd's unit file.

 
18 Jan 2026: clk: thead: Updates for v6.20 [+ + +]
Hi Stephen, sorry for not sending this sooner. There are not many
changes for this cycle.

Thanks,
Drew

T-HEAD clock changes for v6.20

There is just one set of changes for thead this cycle. They add support
for CPU scaling on the T-HEAD TH1520 by allowing the PLL rate used for
the CPU cluster to be reconfigured. The changes have been tested in
linux-next.

Signed-off-by: Drew Fustini <fustini@kernel.org>

18 Jan 2026: Apple SoC DT changes for v6.20 [+ + +]
Apple SoC DT update for 6.20

- Add all required nodes and connections for USB3 support. This is
  responsible for the majority of the diffstat. The dt-bindings for the
  Type-C PHY are scheduled to be sent via the PHY tree and are already
  in next.
- Add RTC subnodes to the System Management Controller
- Add chassis-type property for all M1 and M2 machines
- Fix some minor power management issues
- Add backlight nodes for the A9X-based iPad Pro

18 Jan 2026: Apple SoC defconfig changes for v6.20 [+ + +]
Apple SoC defconfig update for 6.20

- Enable most drivers required for Apple Silicon as module inside
  defconfig
- Enable the power-domain driver when ARCH_APPLE and PM is selected
  since it's critical for booting these systems

 
17 Jan 2026: pinctrl: samsung: drivers for v6.20/v7.0 [+ + +]
Samsung pinctrl drivers changes for v6.20

Add new pin controllers for Samsung Exynos9610 SoC.

17 Jan 2026: samsung: drivers pull for v6.20/v7.0 [+ + +]
Samsung SoC drivers for v6.20

1. Several improvements in Exynos ChipID Socinfo driver and finally
   adding Google GS101 SoC support.

2. Few cleanups from old code.

3. Documenting Axis Artpec-9 SoC PMU (Power Management Unit).

17 Jan 2026: AMDTEE update for 6.20 [+ + +]
couple of functions in the AMDTEE driver in the TEE subsystem.

Thanks,
Jens

AMDTEE update for 6.20

Remove unused return variables

17 Jan 2026: TEE sysfs for 6.20 [+ + +]
attribute and implement support for OP-TEE.

Thanks,
Jens

TEE sysfs for 6.20

- Add an optional generic sysfs attribute for TEE revision
- Implement revision reporting for OP-TEE using both SMC and FF-A ABIs

17 Jan 2026: TEE bus callbacks for 6.20 [+ + +]
the bus get rid of the struct device_driver callbacks .probe(),
.remove() and .shutdown().

The maintainers for the updated drivers using the TEE bus have agreed to
take these changes via my tree, with the exception of the maintainer for
drivers/firmware/broadcom/tee_bnxt_fw.c, who has remained silent during
the review. However, the changes in the drivers are straight forward so
it's better to take these patches too rather than excluding them.

Further details are in the last patch set:
https://lore.kernel.org/op-tee/cover.1765791463.git.u.kleine-koenig@baylibre.com/

Thanks,
Jens

TEE bus callback for 6.20

- Move from generic device_driver to TEE bus-specific callbacks
- Add module_tee_client_driver() and registration helpers to reduce
  boilerplate
- Convert several client drivers (TPM, KEYS, firmware, EFI, hwrng,
  and RTC)
- Update documentation and fix kernel-doc warnings

17 Jan 2026: OP-TEE update for 6.20 [+ + +]
subsystem, and for the OP-TEE mailing list.

Thanks,
Jens

OP-TEE update for 6.20

- A micro optimization by making a local array static const
- Update OP-TEE mailing list as moderated
- Update an outdated comment for cmd_alloc_suppl()

 
16 Jan 2026: aspeed: second batch of arm devicetree changes for 6.20 [+ + +]
aspeed: second batch of arm devicetree changes for 6.20

New platforms:

- Facebook Anacapa

  The Meta Anacapa BMC is the DC-SCM (Data Center Secure Control
  Module) controller for the Meta OCP Open Rack Wide (ORW) compute tray.
  This platform is a key component of the AMD Helios AI rack reference
  design system, designed for next-generation AI workloads.

  The BMC utilizes the Aspeed AST2600 SoC to manage the compute tray, which
  contains up to 4 AMD Instinct MI450 Series GPUs (connected via a Broadcom
  OCP NIC) and host CPUs. Its primary role is to provide essential system
  control, power sequencing, and telemetry reporting for the compute comple=
x
  via the OpenBMC software stack.

  For more detail on the AMD Helios reference design:

  https://www.amd.com/en/blogs/2025/amd-helios-ai-rack-built-on-metas-2025-=
ocp-design.html

- ASRock Rack ALTRAD8

  The ALTRAD8 BMC is an Aspeed AST2500-based BMC for the ASRock Rack
  ALTRAD8UD-1L2T and ALTRAD8UD2-1L2Q boards.

Significant changes:

- Switch IBM FSI CFAM nodes to use non-deprecated AT25 properties

Updated platforms:

- bletchley (Facebook): USB-C tweaks

16 Jan 2026: nuvoton: arm64 devicetree changes for 6.20 [+ + +]
Nuvoton arm64 devicetree changes for 6.20

Just the one patch from Rob adding the device_type property to the memory n=
ode
of the NPCM845 EVB DTS.

 
14 Jan 2026: clk: spacemit: Updates for v6.20 [+ + +]
Hi Stephen,

support for SpacemiT new K3 SoC, while doing this I've created an immutable
tag (spacemit-clkrst-v6.20-3) for reset driver in case it also needs to be
merged during same merge window, otherwise everything is normal.

Yixun Lan


RISC-V SpacemiT clock changes for 6.20

- Fix driver to build as module
- Refactor to extract common code
- Add clock support for new K3 SoC

 
12 Jan 2026: rv changes for v6.20 (for-next) [+ + +]
Steve,

rv changes for v6.20 (for-next)

Summary of changes:

- Refactor da_monitor to minimise macros

  Complete refactor of da_monitor.h to reduce reliance on macros
  generating functions. Use generic static functions and uses the
  preprocessor only when strictly necessary (e.g. for tracepoint
  handlers).
  The change essentially relies on functions with generic names (e.g.
  da_handle) instead of monitor-specific as well adding the need to
  define constant (e.g. MONITOR_NAME, MONITOR_TYPE) before including the
  header rather than calling macros that would define functions.
  Also adapt monitors and documentation accordingly.

- Cleanup DA code generation scripts

  Clean up functions in dot2c removing reimplementations of trivial
  library functions (__buff_to_string) and removing some other unused
  intermediate steps.

- Annotate functions with types in the rvgen python scripts

- Remove superfluous assignments and cleanup generated code

  The rvgen scripts generate a superfluous assignment to 0 for enum
  variables and don't add commas to the last elements, which is against
  the kernel coding standards. Change the generation process for a
  better compliance and slightly simpler logic.

- Remove superfluous declarations from generated code

  The monitor container source files contained a declaration and a
  definition for the rv_monitor variable. The former is superfluous and
  was removed.

- Fix reference to outdated documentation

  s/da_monitor_synthesis.rst/monitor_synthesis.rst in comment in
  da_monitor.h

 
11 Jan 2026: [PATCH 00/36] Rust synchronization changes for v7.0 [+ + +]
Peter,

tip/locking/core, you can find the details of the changes in the git tag
message below.

Thanks!

Regards,
Boqun


Rust synchronization changes for v7.0:

- Add support for Atomic<i8/i16/bool> and replace most Rust native AtomicBool
  usages with Atomic<bool>, and further switching will require Atomic<Flag>
- Clean up LockClassKey and improve its docs
- Add missing Send and Sync trait impl for SetOnce
- Make ARef Unpin as it is supposed to be
- Add __rust_helper to a few Rust helpers as a preparation for helper LTO
- Inline various lock related functions to avoid additional function calls.
-----BEGIN PGP SIGNATURE-----

iQEzBAABCAAdFiEEj5IosQTPz8XU1wRHSXnow7UH+rgFAmljjIkACgkQSXnow7UH
+rizPQgAi5rdVoIpjN9BaQtWVHcAwBhbD7WhboxDhsSdEl3yaw0E7OLML5IyupLP
BUsrI5BAhwUaIpE/4PT9RePLCOeFqCKfz9eyQpb6uEwLVKcx8WESrItrlStqK8dG
lAZEV07SwAWq/ARsgI02LZnyDQxxBrX8Q4FKZgglpaBxieVXmQjekcSF2W6s3lka
qWXB7MU38D3DZjKr6Lpp8BjdI7qTNInEZDGtRPncIId+4Jj7V5IpEX/NThyrDLp1
M0UzXOMzexIfeSm3oz95II6R+GeDpruI6pN8QDtljaTL0Al5/z5yO8Zj9KIPGAl4
9JRUJ0pNVrAUljjJ4ap8hIMPlOWqjw==
=JOZ1
-----END PGP SIGNATURE-----

 
8 Jan 2026: Linux Media vimc update for 6.20-rc1 [+ + +]
Hi Mauro,


Adds
     RGB/YUV input entity implementation
     support for V4L2_FIELD_ALTERNATE in vimc-sensor
     support for multiple RGB formats in vimc-debayer
     support custom bytesperline values in vimc-capture
     document RGB/YUV input entity

diff is attached.

thanks,
-- Shuah


linux-vimc-6.20-rc1

Adds
     RGB/YUV input entity implementation
     support for V4L2_FIELD_ALTERNATE in vimc-sensor
     support for multiple RGB formats in vimc-debayer
     support custom bytesperline values in vimc-capture
     document RGB/YUV input entity

 
7 Jan 2026: RTLA changes for v6.20 [+ + +]
Steven,

please pull the following changes for RTLA (more info in tag description).

Thanks,
Tomas

RTLA patches for v6.20

- Remove unused function declarations

Some functions were removed in recent code consolidation 6.18, but
their prototypes were not removed from headers. Remove them.

- Set stop threshold after enabling instances

Prefer recording samples without stopping on them on the start of
tracing to stopping on samples that are never recorded. This fixes
flakiness of some RTLA tests and unifies behavior of sample collection
between tracefs mode and BPF mode.

- Consolidate usage help message implementation

RTLA tools (osnoise-top, osnoise-hist, timerlat-top, timerlat-hist)
each implement usage help individually. Move common logic between
them into a new function to reduce code duplication.

- Add BPF actions feature

Add option --bpf-action to attach a BPF program (passed as filename of
its ELF representation) to be executed via BPF tail call at latency
threshold.

- Consolidate command line option parsing

Each RTLA tool implements the parsing of command line options
individually. Now that we have a common structure for parameters,
unify the parsing of those options common among all four tools into
one function.

- Deduplicage cgroup common code

Two functions in utils.c, setting cgroup for comm and setting cgroup
for pid, duplicate code for constructing the cgroup path. Extract it
to a new helper function.

- String and error handling fixes and cleanups

There were several instances of unsafe string and error handling that
could cause invalid memory access; fix them. Also, remove a few unused
headers, update .gitignore, and deduplicate code.

The tag was tested (make && make check) as well as pre-tested on top of
next-20260107. There are no known conflicts.

Signed-off-by: Tomas Glozar <tglozar@redhat.com>

 
6 Jan 2026: cpupower update for Linux 6.20-rc1 [+ + +]
Hi Rafael,


Fixes to miscellaneous problems in cpupower tool:

- idle_monitor: fix incorrect value logged after stop
- Fix inverted APERF capability check
- Use strcspn() to strip trailing newline
- Reset errno before strtoull()
- Show C0 in idle-info dump

diff is attached.

thanks,
-- Shuah

cpupower update for Linux 6.20-rc1

Fixes to miscellaneous problems in cpupower tool:

- idle_monitor: fix incorrect value logged after stop
- Fix inverted APERF capability check
- Use strcspn() to strip trailing newline
- Reset errno before strtoull()
- Show C0 in idle-info dump

 
05 Jan 2026: aspeed: first batch of devicetree changes for 6.20 [+ + +]
First batch of ASPEED Arm devicetree changes for 6.20

New platforms:

- NVIDIA MSX4 BMC

  The NVIDIA MSX4 HPM (host platform module) is a reference board for
  managing up to 8 PCIe connected NVIDIA GPUs via ConnectX-8 (CX8)
  SuperNICs. The BMC manages all GPUs and CX8s for both telemetry and
  firmware update via MCTP over USB. The host CPUs are dual socket Intel
  Granite Rapids processors.

  For more detail on this architecture:

  https://developer.nvidia.com/blog/nvidia-connectx-8-supernics-advance-ai-=
platform-architecture-with-pcie-gen6-connectivity/

Updated platforms:

- ast2600-evb (ASPEED): Various tidy-ups to address binding warnings
- bletchley (Meta): Watchdog fix, tidy-ups to address binding warnings
- clemente (Meta): HDD LED fix, GPIO line names, EEPROMs
- harma (Meta): fanboard presence GPIO
- santabarbara (Meta): IPMB, GPIO line names, additional IO expander