Driver core changes for 6.16-rc1 Here are the driver core / kernfs changes for 6.16-rc1. Not a huge number of changes this development cycle, here's the summary of what is included in here: - kernfs locking tweaks, pushing some global locks down into a per-fs image lock - rust driver core and pci device bindings added for new features. - sysfs const work for bin_attributes. This churn should now be completed for those types of attributes - auxbus device creation helpers added - fauxbus fix for creating sysfs files after the probe completed properly - other tiny updates for driver core things. All of these have been in linux-next for over a week with no reported issues. Signed-off-by: Greg Kroah-Hartman <[email protected]>
VT8500 entry with several trees, and a conflict with the tty tree (take the tty tree change). Rob Devicetree updates for v6.16: DT Bindings: - Convert all remaining interrupt-controller bindings to DT schema - Convert Rockchip CDN-DP and Freescale TCON, M4IF, TigerP, LDB, PPC PMC, imx-drm, and ftm-quaddec to DT schema - Add bindings for fsl,vf610-pit, fsl,ls1021a-wdt, sgx,vz89te, maxim,max30208, ti,lp8864, and fairphone,fp5-sndcard - Add top-level constraints for renesas,vsp1 and renesas,fcp - Add missing constraint in amlogic,pinctrl-a4 'group' nodes - Adjust the allowed properties for dwc3-xilinx, sony,imx219, pci-iommu, and renesas,dsi - Add EcoNet vendor prefix - Fix the reserved-memory.yaml in fsl,qman-fqd - Drop obsolete numa.txt and cpu-topology.txt which are schemas in dtschema now - Drop Renesas RZ/N1S bindings - Ensure Arm cpu nodes don't allow undocumented properties. Add all the properties which are in use and undocumented. Drop the Mediatek cpufreq binding which is not a binding, but just what DT properties the driver uses. - Add compatibles for Renesas RZ/G3E and RZ/V2N Mali Bifrost GPU - Update documentation on defining child nodes with separate schemas - Add bindings to PSCI MAINTAINERS entry DT core: - Add new functions to simplify driver handling of 'memory-region' properties. Users to be added next cycle. - Simplify of_dma_set_restricted_buffer() to use of_for_each_phandle() - Add missing unlock on error in unittest_data_add()
Beware, there is a semantic conflict with your tree, which will cause build failure for CONFIG_AMD_NB enabled builds unless you also apply: https://lore.kernel.org/linux-next/[email protected]/ I'm aware of the following conflicts with your tree: drivers/net/ethernet/wangxun/txgbe/txgbe_irq.c https://lore.kernel.org/linux-next/[email protected]/ net/unix/af_unix.c https://lore.kernel.org/linux-next/[email protected]/ With the ftrace tree: include/trace/events/tcp.h https://lore.kernel.org/linux-next/[email protected]/ With the rdma-fixes tree: drivers/infiniband/hw/irdma/main.c https://lore.kernel.org/linux-next/[email protected]/ With the reset tree: MAINTAINERS https://lore.kernel.org/linux-next/[email protected]/ Networking changes for 6.16. Core ---- - Implement the Device Memory TCP transmit path, allowing zero-copy data transmission on top of TCP from e.g. GPU memory to the wire. - Move all the IPv6 routing tables management outside the RTNL scope, under its own lock and RCU. The route control path is now 3x times faster. - Convert queue related netlink ops to instance lock, reducing again the scope of the RTNL lock. This improves the control plane scalability. - Refactor the software crc32c implementation, removing unneeded abstraction layers and improving significantly the related micro-benchmarks. - Optimize the GRO engine for UDP-tunneled traffic, for a 10% performance improvement in related stream tests. - Cover more per-CPU storage with local nested BH locking; this is a prep work to remove the current per-CPU lock in local_bh_disable() on PREMPT_RT. - Introduce and use nlmsg_payload helper, combining buffer bounds verification with accessing payload carried by netlink messages. Netfilter --------- - Rewrite the procfs conntrack table implementation, improving considerably the dump performance. A lot of user-space tools still use this interface. - Implement support for wildcard netdevice in netdev basechain and flowtables. - Integrate conntrack information into nft trace infrastructure. - Export set count and backend name to userspace, for better introspection. BPF --- - BPF qdisc support: BPF-qdisc can be implemented with BPF struct_ops programs and can be controlled in similar way to traditional qdiscs using the "tc qdisc" command. - Refactor the UDP socket iterator, addressing long standing issues WRT duplicate hits or missed sockets. Protocols --------- - Improve TCP receive buffer auto-tuning and increase the default upper bound for the receive buffer; overall this improves the single flow maximum thoughput on 200Gbs link by over 60%. - Add AFS GSSAPI security class to AF_RXRPC; it provides transport security for connections to the AFS fileserver and VL server. - Improve TCP multipath routing, so that the sources address always matches the nexthop device. - Introduce SO_PASSRIGHTS for AF_UNIX, to allow disabling SCM_RIGHTS, and thus preventing DoS caused by passing around problematic FDs. - Retire DCCP socket. DCCP only receives updates for bugs, and major distros disable it by default. Its removal allows for better organisation of TCP fields to reduce the number of cache lines hit in the fast path. - Extend TCP drop-reason support to cover PAWS checks. Driver API
included in the tag, but the headline feature is the re-enablement of support for Arm's Scalable Matrix Extension (SME) thanks to a bumper crop of fixes from Mark Rutland. If matrices aren't your thing, then Ryan's page-table optimisation work is much more interesting. There are two logistical things to be aware of: 1. I've merged in for-next/fixes because the work to prevent BSS exports being used in the PI code depended on it. The branch appears as the base commit since you've pulled it already in 6.15. 2. There's a trivial conflict in arch/arm64/kernel/image-vars.h with your tree due to a fix that landed in 6.15 via the KVM tree. The resolution is to take the new hunk, dropping the part guarded by CONFIG_CAVIUM_ERRATUM_27456. My resolution is below. Any problems, please yell. Cheers, Will --->8 arm64 updates for 6.16 ACPI, EFI and PSCI: - Decouple Arm's "Software Delegated Exception Interface" (SDEI) support from the ACPI GHES code so that it can be used by platforms booted with device-tree. - Remove unnecessary per-CPU tracking of the FPSIMD state across EFI runtime calls. - Fix a node refcount imbalance in the PSCI device-tree code. CPU Features: - Ensure register sanitisation is applied to fields in ID_AA64MMFR4. - Expose AIDR_EL1 to userspace via sysfs, primarily so that KVM guests can reliably query the underlying CPU types from the VMM. - Re-enabling of SME support (CONFIG_ARM64_SME) as a result of fixes to our context-switching, signal handling and ptrace code. Entry code: - Hook up TIF_NEED_RESCHED_LAZY so that CONFIG_PREEMPT_LAZY can be selected. Memory management: - Prevent BSS exports from being used by the early PI code. - Propagate level and stride information to the low-level TLB invalidation routines when operating on hugetlb entries. - Use the page-table contiguous hint for vmap() mappings with VM_ALLOW_HUGE_VMAP where possible. - Optimise vmalloc()/vmap() page-table updates to use "lazy MMU mode" and hook this up on arm64 so that the trailing DSB (used to publish the updates to the hardware walker) can be deferred until the end of the mapping operation. - Extend mmap() randomisation for 52-bit virtual addresses (on par with 48-bit addressing) and remove limited support for randomisation of the linear map. Perf and PMUs: - Add support for probing the CMN-S3 driver using ACPI. - Minor driver fixes to the CMN, Arm-NI and amlogic PMU drivers. Selftests: - Fix FPSIMD and SME tests to align with the freshly re-enabled SME support. - Fix default setting of the OUTPUT variable so that tests are installed in the right location. vDSO: - Replace raw counter access from inline assembly code with a call to the the __arch_counter_get_cntvct() helper function. Miscellaneous: - Add some missing header inclusions to the CCA headers. - Rework rendering of /proc/cpuinfo to follow the x86-approach and avoid repeated buffer expansion (the user-visible format remains identical). - Remove redundant selection of CONFIG_CRC32 - Extend early error message when failing to map the device-tree blob.
This is the main drm pull request for 6.16. There will be conflicts, summary below. As part of building up nova-core/nova-drm pieces we've brought in some rust abstractions through this tree, aux bus being the main one, with devres changes also in the driver-core tree. Along with the drm core abstractions and enough nova-core/nova-drm to use them. This is still all stub work under construction, to build the nova driver upstream. The other big NVIDIA related one is nouveau adds support for Hopper/Blackwell GPUs, this required a new GSP firmware update to 570.144, and a bunch of rework in order to support multiple fw interfaces. There is also the introduction of an asahi uapi header file as a precursor to getting the real driver in later, but to unblock userspace mesa packages while the driver is trapped behind rust enablement. The disgusting turds removal patchset is also in here. Otherwise it's the usual mixture of stuff all over, amdgpu, i915/xe, and msm being the main ones, and some changes to vsprintf. Conflicts I know about: rust tree conflict: https://lore.kernel.org/dri-devel/[email protected]/ configfs tree: https://lore.kernel.org/dri-devel/[email protected]/ with your tree xe: https://lore.kernel.org/dri-devel/[email protected]/ https://lore.kernel.org/dri-devel/[email protected]/ I've put a trial merge result at https://github.com/airlied/linux/tree/drm-next-6.16-rc1-merged but since you haven't merged a few things, it probably won't show them all. Let me know if there any issues, Regards, Dave. drm-next-2025-05-28: drm for 6.16-rc1 new drivers: - bring in the asahi uapi header standalone - nova-drm: stub driver rust dependencies (for nova-core): - auxiliary - bus abstractions - driver registration - sample driver - devres changes from driver-core - revocable changes core: - add Apple fourcc modifiers - add virtio capset definitions - extend EXPORT_SYNC_FILE for timeline syncobjs - convert to devm_platform_ioremap_resource - refactor shmem helper page pinning - DP powerup/down link helpers - remove disgusting turds - extended %p4cc in vsprintf.c to support fourcc prints - change vsprintf %p4cn to %p4chR, remove %p4cn - Add drm_file_err function - IN_FORMATS_ASYNC property - move sitronix from tiny to their own subdir rust: - add drm core infrastructure rust abstractions (device/driver, ioctl, file, gem) dma-buf: - adjust sg handling to not cache map on attach - allow setting dma-device for import - Add a helper to sort and deduplicate dma_fence arrays docs: - updated drm scheduler docs - fbdev todo update - fb rendering - actual brightness ttm: - fix delayed destroy resv object bridge: - add kunit tests - convert tc358775 to atomic - convert drivers to devm_drm_bridge_alloc - convert rk3066_hdmi to bridge driver scheduler: - add kunit tests panel: - refcount panels to improve lifetime handling - Powertip PH128800T004-ZZA01 - NLT NL13676BC25-03F, Tianma TM070JDHG34-00 - Himax HX8279/HX8279-D DDIC - Visionox G2647FB105 - Sitronix ST7571 - ZOTAC rotation quirk vkms: - allow attaching more displays i915: - xe3lpd display updates - vrr refactor - intel_display struct conversions - xe2hpd memory type identification - add link rate/count to i915_display_info - cleanup VGA plane handling - refactor HDCP GSC - fix SLPC wait boosting reference counting - add 20ms delay to engine reset - fix fence release on early probe errors xe: - SRIOV updates - BMG PCI ID update - support separate firmware for each GT - SVM fix, prelim SVM multi-device work - export fan speed - temp disable d3cold on BMG - backup VRAM in PM notifier instead of suspend/freeze - update xe_ttm_access_memory to use GPU for non-visible access - fix guc_info debugfs for VFs - use copy_from_user instead of __copy_from_user - append PCIe gen5 limitations to xe_firmware document amdgpu: - DSC cleanup - DC Scaling updates - Fused I2C-over-AUX updates - DMUB updates - Use drm_file_err in amdgpu - Enforce isolation updates - Use new dma_fence helpers - USERQ fixes - Documentation updates - SR-IOV updates - RAS updates - PSP 12 cleanups - GC 9.5 updates - SMU 13.x updates - VCN / JPEG SR-IOV updates amdkfd: - Update error messages for SDMA - Userptr updates - XNACK fixes radeon: - CIK doorbell cleanup nouveau: - add support for NVIDIA r570 GSP firmware - enable Hopper/Blackwell support nova-core: - fix task list - register definition infrastructure - move firmware into own rust module - register auxiliary device for nova-drm nova-drm: - initial driver skeleton msm: - GPU: - ACD (adaptive clock distribution) for X1-85 - drop fictional address_space_size - improve GMU HFI response time out robustness - fix crash when throttling during boot - DPU: - use single CTL path for flushing on DPU 5.x+ - improve SSPP allocation code for better sharing - Enabled SmartDMA on SM8150, SC8180X, SC8280XP, SM8550 - Added SAR2130P support - Disabled DSC support on MSM8937, MSM8917, MSM8953, SDM660 - DP: - switch to new audio helpers - better LTTPR handling - DSI: - Added support for SA8775P - Added SAR2130P support - HDMI: - Switched to use new helpers for ACR data - Fixed old standing issue of HPD not working in some cases amdxdna: - add dma-buf support - allow empty command submits renesas: - add dma-buf support - add zpos, alpha, blend support panthor: - fail properly for NO_MMAP bos - add SET_LABEL ioctl - debugfs BO dumping support imagination: - update DT bindings - support TI AM68 GPU hibmc: - improve interrupt handling and HPD support virtio: - add panic handler support rockchip: - add RK3588 support - add DP AUX bus panel support ivpu: - add heartbeat based hangcheck mediatek: - prepares support for MT8195/99 HDMIv2/DDCv2 anx7625: - improve HPD tegra: - speed up firmware loading drm for 6.16-rc1 new drivers: - bring in the asahi uapi header standalone - nova-drm: stub driver rust dependencies (for nova-core): - auxiliary - bus abstractions - driver registration - sample driver - devres changes from driver-core - revocable changes core: - add Apple fourcc modifiers - add virtio capset definitions - extend EXPORT_SYNC_FILE for timeline syncobjs - convert to devm_platform_ioremap_resource - refactor shmem helper page pinning - DP powerup/down link helpers - remove disgusting turds - extended %p4cc in vsprintf.c to support fourcc prints - change vsprintf %p4cn to %p4chR, remove %p4cn - Add drm_file_err function - IN_FORMATS_ASYNC property - move sitronix from tiny to their own subdir rust: - add drm core infrastructure rust abstractions (device/driver, ioctl, file, gem) dma-buf: - adjust sg handling to not cache map on attach - allow setting dma-device for import - Add a helper to sort and deduplicate dma_fence arrays docs: - updated drm scheduler docs - fbdev todo update - fb rendering - actual brightness ttm: - fix delayed destroy resv object bridge: - add kunit tests - convert tc358775 to atomic - convert drivers to devm_drm_bridge_alloc - convert rk3066_hdmi to bridge driver scheduler: - add kunit tests panel: - refcount panels to improve lifetime handling - Powertip PH128800T004-ZZA01 - NLT NL13676BC25-03F, Tianma TM070JDHG34-00 - Himax HX8279/HX8279-D DDIC - Visionox G2647FB105 - Sitronix ST7571 - ZOTAC rotation quirk vkms: - allow attaching more displays i915: - xe3lpd display updates - vrr refactor - intel_display struct conversions - xe2hpd memory type identification - add link rate/count to i915_display_info - cleanup VGA plane handling - refactor HDCP GSC - fix SLPC wait boosting reference counting - add 20ms delay to engine reset - fix fence release on early probe errors xe: - SRIOV updates - BMG PCI ID update - support separate firmware for each GT - SVM fix, prelim SVM multi-device work - export fan speed - temp disable d3cold on BMG - backup VRAM in PM notifier instead of suspend/freeze - update xe_ttm_access_memory to use GPU for non-visible access - fix guc_info debugfs for VFs - use copy_from_user instead of __copy_from_user - append PCIe gen5 limitations to xe_firmware document amdgpu: - DSC cleanup - DC Scaling updates - Fused I2C-over-AUX updates - DMUB updates - Use drm_file_err in amdgpu - Enforce isolation updates - Use new dma_fence helpers - USERQ fixes - Documentation updates - SR-IOV updates - RAS updates - PSP 12 cleanups - GC 9.5 updates - SMU 13.x updates - VCN / JPEG SR-IOV updates amdkfd: - Update error messages for SDMA - Userptr updates - XNACK fixes radeon: - CIK doorbell cleanup nouveau: - add support for NVIDIA r570 GSP firmware - enable Hopper/Blackwell support nova-core: - fix task list - register definition infrastructure - move firmware into own rust module - register auxiliary device for nova-drm nova-drm: - initial driver skeleton msm: - GPU: - ACD (adaptive clock distribution) for X1-85 - drop fictional address_space_size - improve GMU HFI response time out robustness - fix crash when throttling during boot - DPU: - use single CTL path for flushing on DPU 5.x+ - improve SSPP allocation code for better sharing - Enabled SmartDMA on SM8150, SC8180X, SC8280XP, SM8550 - Added SAR2130P support - Disabled DSC support on MSM8937, MSM8917, MSM8953, SDM660 - DP: - switch to new audio helpers - better LTTPR handling - DSI: - Added support for SA8775P - Added SAR2130P support - HDMI: - Switched to use new helpers for ACR data - Fixed old standing issue of HPD not working in some cases amdxdna: - add dma-buf support - allow empty command submits renesas: - add dma-buf support - add zpos, alpha, blend support panthor: - fail properly for NO_MMAP bos - add SET_LABEL ioctl - debugfs BO dumping support imagination: - update DT bindings - support TI AM68 GPU hibmc: - improve interrupt handling and HPD support virtio: - add panic handler support rockchip: - add RK3588 support - add DP AUX bus panel support ivpu: - add heartbeat based hangcheck mediatek: - prepares support for MT8195/99 HDMIv2/DDCv2 anx7625: - improve HPD tegra: - speed up firmware loading
Please merge this PR for the IPE update for 6.16. This PR contains a single commit from Jasjiv Singh. It adds an errno field to IPE policy load auditing to log failures with error details, not just successes. This improves the security audit trail and helps diagnose policy deployment issues. This commit has been tested for several weeks in linux-next without any issues. Thanks, Fan -- ipe/stable-6.16 PR 20250527
Here is the Smack pull request for v6.16. There is one trivial kernel doc patch. Kernel doc fix for 6.16
New ext4 features and performance improvements: * Fast commit performance improvements * Multi-fsblock atomic write support for bigalloc file systems * Large folio support for regular files This last can result in really stupendous performance for the right workloads. For example, see [1] where the Kernel Test Robot reported over 37% improvement on a large sequential I/O workload. [1] https://lore.kernel.org/all/[email protected]/ There are also the usual bug fixes and cleanups. Of note are cleanups of the extent status tree to fix potential races that could result in the extent status tree getting corrupted under heavy siulatneous allocation and deallocation to a single file.
sched_ext: Changes for v6.16 - More in-kernel idle CPU selection improvements. Expand topology awareness coverage add scx_bpf_select_cpu_and() to allow more flexibility. The idle CPU selection kfuncs can now be called from unlocked contexts too. - A bunch of reorganization changes to lay the foundation for multiple hierarchical scheduler support. This isn't ready yet and the included changes don't make meaningful behavior differences. One notable change is replacing some static_key tests with dynamic tests as the test results may differ depending on the scheduler instance. This isn't expected to cause meaningful performance difference. - Other minor and doc updates. - There were multiple patches in for-6.15-fixes which conflicted with changes in for-6.16. for-6.15-fixes were pulled three times into for-6.16 to resolve the conflicts.
cgroup: Changes for v6.16 - cgroup rstat shared the tracking tree across all controlers with the rationale being that a cgroup which is using one resource is likely to be using other resources at the same time (ie. if something is allocating memory, it's probably consuming CPU cycles). However, this turned out to not scale very well especially with memcg using rstat for internal operations which made memcg stat read and flush patterns substantially different from other controllers. JP Kobryn split the rstat tree per controller. - cgroup BPF support was hooking into cgroup init/exit paths directly. Convert them to use a notifier chain instead so that other usages can be added easily. The two of the patches which implement this are mislabeled as belonging to sched_ext instead of cgroup. Sorry. - Relatively minor cpuset updates. - Documentation updates.
workqueue: Changes for v6.16 Fix statistic update race condition and a couple documentation updates.
This set fixes delays when shutting down SCTP connections, and updates dlm Kconfig for SCTP. Thanks, Dave
A moderately busy cycle for documentation this time around: - The most significant change is the replacement of the old kernel-doc script (a monstrous collection of Perl regexes that predates the Git era) with a Python reimplementation. That, too, is a horrifying collection of regexes, but in a much cleaner and more maintainable structure that integrates far better with the Sphinx build system. This change has been in linux-next for the full 6.15 cycle; the small number of problems that turned up have been addressed, seemingly to everybody's satisfaction. The Perl kernel-doc script remains in tree (as scripts/kernel-doc.pl) and can be used with a command-line option if need be. Unless some reason to keep it around materializes, it will probably go away in 6.17. Credit goes to Mauro Carvalho Chehab for doing all this work. - Some RTLA documentation updates - A handful of Chinese translations - The usual collection of typo fixes, general updates, etc.
nolibc changes for v6.16 Highlights: * New supported architectures: m68k, SPARC (32 and 64 bit) * Compatibility with kselftest_harness.h * A more robust mechanism to include all of nolibc from each header * Split existing features into new headers to simplify adoption * Compatibility with UBSAN and it is used in the testsuite * Many small new features focussing on usage in kselftests
NFSD 6.16 Release Notes The marquee feature for this release is that the limit on the maximum rsize and wsize has been raised to 4MB. The default remains at 1MB, but risk-seeking administrators now have the ability to try larger I/O sizes with NFS clients that support them. Eventually the default setting will be increased when we have confidence that this change will not have negative impact. With v6.16, NFSD now has its own debugfs file system where we can add experimental features and make them available outside of our development community without impacting production deployments. The first experimental setting added is one that makes all NFS READ operations use vfs_iter_read() instead of the NFSD splice actor. The plan is to eventually retire the splice actor, as that will enable a number of new capabilities such as the use of struct bio_vec from the top to the bottom of the NFSD stack. Jeff Layton contributed a number of observability improvements. The use of dprintk() in a number of high-traffic code paths has been replaced with static trace points. This release sees the continuation of efforts to harden the NFSv4.2 COPY operation. Soon, the restriction on async COPY operations can be lifted. Many thanks to the contributors, reviewers, testers, and bug reporters who participated during the v6.16 development cycle.
This is exfat update pull request for v6.16-rc1. I add a description of Thanks! Description for this pull request: - Fix xfstests generic/482 test failure. - Fix double free in delayed_free.
Here's the pull-request with updates for MMC for v6.16. Details about the highlights are as usual found in the signed tag. Kind regards Ulf Hansson MMC core: - Scan the eMMC boot areas for partition table - Clarify purpose of mmc_can* functions by renaming them to mmc_card_can* - Clarify helpers for host capabilities by renaming them to mmc_host_can* - Add support for graceful host removal for SD and eMMC - Further avoid re-storing power to the eMMC before a shutdown - Add quirk to disable DDR50 tuning and use it for some Swissbit SD-cards MMC host: - mtk-sd: Add support for Dimensity 1200 MT6893 - mtk-sd: Fix condition to enable single burst type - mtk-sd: Optimize several code-paths by aggregating register-writes - renesas_sdhi: Add support for the Renesas RZ/V2N variant - sdhci-msm: Add support for the SM7150 variant - sdhci-esdhc-imx: Re-factor the system PM logic - sdhci-esdhc-imx: Lots of improvements around the tuning support - sdhci-of-arasan: Add support for the Renesas RZ/N1D variant - sdhci-of-dwcmhsc: Add Sophgo SG2044 support - sdhci-of-esdhc: Add support for the LS1021a variant - sdhci-of-k1: Add new driver to support for SpacemiT K1 controller - sdhci-pic32: Convert microchip,sdhci-pic32 DT doc to json schema - wmt-sdmmc: Convert DT doc to json schema
Here's the pull-request with pmdomain and cpuidle-psci updates for v6.16. Details about the highlights are as usual found in the signed tag. Kind regards Ulf Hansson pmdomain core: - Add residency reflection for domain-idlestates to debugfs - Add genpd helper to correct the usage/rejected counters pmdomain providers: - mediatek: Add support for Dimensity 1200 MT6893 - qcom: Add support for SM4450 power domains - rockchip: Add support for RK3562 SoC - sunxi: Add support for Allwinner H6/H616 PRCM PPU - ti: Fix STANDBY handling of OMAP2+ PER power domain cpuidle-psci: - Correct the domain-idlestate statistics in debugfs
Here is the main PDx86 PR for v6.16. A KNOWN CONFLICT: x86 tree that seems to be already merged into your tree renamed: arch/x86/include/asm/{amd_hsmp.h => amd/hsmp.h} which has to be adjusted also in drivers/platform/x86/amd/hsmp/hwmon.c (a newly introduced file in this PR) while merging. The changes are mostly business as usual. Besides pdx86 changes, there are a few power supply changes needed for related pdx86 features, move of oxpec driver from hwmon (oxp-sensors) to pdx86, and one FW version warning to hid-asus. I'm expecting Pavel might want object the approach used in the tuxedo driver, I largely relied on my co-maintainer Hans' opinion on what to do with that change as he was much more familiar with that discussion, and the pros and cons of each approach. Highlights: - alienware-wmi-wmax: - Add HWMON support - Add ABI and admin-guide documentation - Expose GPIO debug methods through debug FS - Support manual fan control and "custom" thermal profile - amd/hsmp: - Add sysfs files to show HSMP telemetry - Report power readings and limits via hwmon - amd/isp4: Add AMD ISP platform config for OV05C10 - asus-wmi: - Refactor Ally suspend/resume to work better with older FW - hid-asus: check ROG Ally MCU version and warn about old FW versions - dasharo-acpi: Add driver for Dasharo devices supporting fans and temperatures monitoring - dell-ddv: - Expose the battery health and manufacture date to userspace using power supply extensions - Implement the battery matching algorithm - dell-pc: - Improve error propagation - Use faux device - int3472: - Add delays to avoid GPIO regulator spikes - Add handshake pin support - Make regulator supply name configurable and allow registering more than 1 GPIO regulator - Map mt9m114 powerdown pin to powerenable - intel/pmc: Add separate SSRAM Telemetry driver - intel-uncore-freq: Add attributes to show agent types and die ID - ISST: - Support SST-TF revision 2 (allows more cores per bucket) - Support SST-PP revision 2 (fabric 1 frequencies) - Remove unnecessary SST MSRs restore (the package retains MSRs despite CPU offlining) - mellanox: Add support for SN2201, SN4280, SN5610, and SN5640 - mellanox: mlxbf-pmc: Support additional PMC blocks - oxpec: - Add OneXFly variants - Add support for charge limit, charge thresholds, and turbo LED - Distinguish current X1 variants to avoid unwanted matching to new variants - Follow hwmon conventions - Move from hwmon/oxp-sensors to platform/x86 to match the enlarged scope - power: supply: - Add inhibit-charge-awake (needed by oxpec) - Add additional battery health status values ("blown fuse" and "cell imbalance") (needed by dell-ddv) - powerwell-ec: Add driver for Portwell EC supporting GPIO and watchdog - thinkpad-acpi: Support camera shutter switch hotkey - tuxedo: Add virtual LampArray for TUXEDO NB04 devices - tools/power/x86/intel-speed-select: - Support displaying SST-PP revision 2 fields - Skip uncore frequency update on newer generations of CPUs - Miscellaneous cleanups / refactoring / improvements Regards, i. platform-drivers-x86 for v6.16-1 Highlights: - alienware-wmi-wmax: - Add HWMON support - Add ABI and admin-guide documentation - Expose GPIO debug methods through debug FS - Support manual fan control and "custom" thermal profile - amd/hsmp: - Add sysfs files to show HSMP telemetry - Report power readings and limits via hwmon - amd/isp4: Add AMD ISP platform config for OV05C10 - asus-wmi: - Refactor Ally suspend/resume to work better with older FW - hid-asus: check ROG Ally MCU version and warn about old FW versions - dasharo-acpi: Add driver for Dasharo devices supporting fans and temperatures monitoring - dell-ddv: - Expose the battery health and manufacture date to userspace using power supply extensions - Implement the battery matching algorithm - dell-pc: - Improve error propagation - Use faux device - int3472: - Add delays to avoid GPIO regulator spikes - Add handshake pin support - Make regulator supply name configurable and allow registering more than 1 GPIO regulator - Map mt9m114 powerdown pin to powerenable - intel/pmc: Add separate SSRAM Telemetry driver - intel-uncore-freq: Add attributes to show agent types and die ID - ISST: - Support SST-TF revision 2 (allows more cores per bucket) - Support SST-PP revision 2 (fabric 1 frequencies) - Remove unnecessary SST MSRs restore (the package retains MSRs despite CPU offlining) - mellanox: Add support for SN2201, SN4280, SN5610, and SN5640 - mellanox: mlxbf-pmc: Support additional PMC blocks - oxpec: - Add OneXFly variants - Add support for charge limit, charge thresholds, and turbo LED - Distinguish current X1 variants to avoid unwanted matching to new variants - Follow hwmon conventions - Move from hwmon/oxp-sensors to platform/x86 to match the enlarged scope - power: supply: - Add inhibit-charge-awake (needed by oxpec) - Add additional battery health status values ("blown fuse" and "cell imbalance") (needed by dell-ddv) - powerwell-ec: Add driver for Portwell EC supporting GPIO and watchdog - thinkpad-acpi: Support camera shutter switch hotkey - tuxedo: Add virtual LampArray for TUXEDO NB04 devices - tools/power/x86/intel-speed-select: - Support displaying SST-PP revision 2 fields - Skip uncore frequency update on newer generations of CPUs - Miscellaneous cleanups / refactoring / improvements The following is an automated shortlog grouped by driver: ABI: testing: sysfs-class-oxp: - add missing documentation - add tt_led attribute documentation Add AMD ISP platform config for OV05C10: - Add AMD ISP platform config for OV05C10 alienware-wmi-wmax: - Add a DebugFS interface - Add HWMON support - Add support for manual fan control - Add support for the "custom" thermal profile - Expose GPIO debug methods - Fix awcc_hwmon_fans_init() label logic - Fix uninitialized bitmap in awcc_hwmon_fans_init() - Improve ID processing - Improve internal AWCC API - Improve platform profile probe - Modify supported_thermal_profiles[] - Rename thermal related symbols amd/hsmp: acpi: - Add sysfs files to display HSMP telemetry amd/hsmp: - fix building with CONFIG_HWMON=m - Report power via hwmon sensors - Use a single DRIVER_VERSION for all hsmp modules arm64: huawei-gaokun-ec: - Remove unneeded semicolon asus-wmi: - fix build without CONFIG_SUSPEND - Refactor Ally suspend/resume Avoid -Wflex-array-member-not-at-end warning: - Avoid -Wflex-array-member-not-at-end warning barco-p50: - use new GPIO line value setter callbacks dell-ddv: - Expose the battery health to userspace - Expose the battery manufacture date to userspace - Implement the battery matching algorithm dell-pc: - Propagate errors when detecting feature support - Transition to faux device - Use non-atomic bitmap operations docs: ABI: - Fix "aassociated" to "associated" Documentation/ABI: - Add new attribute for mlxreg-io sysfs interfaces Documentation: ABI: - Add sysfs platform and debugfs ABI documentation for alienware-wmi Documentation: admin-guide: laptops: - Add documentation for alienware-wmi Documentation: admin-guide: pm: - Add documentation for agent_types - Add documentation for die_id Documentation: wmi: alienware-wmi: - Add GPIO control documentation Documentation: wmi: - Improve and update alienware-wmi documentation Do not enable by default during compile testing: - Do not enable by default during compile testing hid-asus: - check ROG Ally MCU version and warn hwmon: - (oxp-sensors) Add all OneXFly variants - (oxp-sensors) Distinguish the X1 variants int0002: - use new GPIO line value setter callbacks int3472: - Add handshake pin support - Add skl_int3472_register_clock() helper - Avoid GPIO regulator spikes - Debug log when remapping pins - Drop unused gpio field from struct int3472_gpio_regulator - Export int3472_discrete_parse_crs() - For mt9m114 sensors map powerdown to powerenable - Make regulator supply name configurable - Move common.h to public includes, symbols to INTEL_INT3472 - Prepare for registering more than 1 GPIO regulator - Remove unused sensor_config struct member - Rework AVDD second sensor quirk handling - Stop setting a supply-name for GPIO regulators - Stop using devm_gpiod_get() intel/pmc: - Convert index variables to be unsigned - Create Intel PMC SSRAM Telemetry driver - Improve pmc_core_get_lpm_req() - Move error handling to init function - Move PMC Core related functions - Move PMC devid to core.h - Remove unneeded header file inclusion - Remove unneeded io operations - Rename core_ssram to ssram_telemetry - Use devm for mutex_init intel: power-domains: - Add interface to get Linux die ID intel-uncore-freq: - Add attributes to show agent types - Add attributes to show die_id intel/vsec: - Change return type of intel_vsec_register Introduce dasharo-acpi platform driver: - Introduce dasharo-acpi platform driver ISST: - Do Not Restore SST MSRs on CPU Online Operation - Support SST-PP revision 2 - Support SST-TF revision 2 - Update minor version mellanox: - Cosmetic changes to improve code style - Introduce support of Nvidia smart switch - Rename field to improve code readability mlxbf-pmc: - Support additional PMC blocks mlx-platform: - Add support for new Nvidia system mlxreg-dpu: - Add initial support for Nvidia DPU - Fix smatch warnings nvsw-sn2200: - Add support for new system flavour - Fix .items in nvsw_sn2201_busbar_hotplug oxpec: - Add a lower bounds check in oxp_psy_ext_set_prop() - Add charge threshold and behaviour to OneXPlayer - Add support for the OneXPlayer G1 - Add turbo led support to X1 devices - Adhere to sysfs-class-hwmon and enable pwm on 2 - Convert defines to using tabs - Follow reverse xmas convention for tt_toggle - Make turbo val apply a bitmask - Move fan speed read to separate function - Move hwmon/oxp-sensors to platform/x86 - Move pwm_enable read to its own function - Move pwm value read/write to separate functions - Rename ec group to tt_toggle - Rename rval to ret in tt_toggle portwell-ec: - Add GPIO and WDT driver for Portwell EC power: supply: - add inhibit-charge-awake to charge_behaviour power: supply: core: - Add additional health status values silicom: - use new GPIO line value setter callbacks sony-laptop: - Remove unused sony laptop camera code thermal/drivers/acerhdf: - Constify struct thermal_zone_device_ops thinkpad-acpi: - Add support for new hotkey for camera shutter switch tools/power/x86/intel-speed-select: - Skip uncore frequency update - Support SST PP revision 2 fields - v1.23 release tuxedo: - Add virtual LampArray for TUXEDO NB04 devices - Prevent invalid Kconfig state Use strscpy()/scnprintf() with acpi_device_name/class(): - Use strscpy()/scnprintf() with acpi_device_name/class() Merges: - Merge branch 'fixes' into for-next - Merge branch 'intel-sst' of https://github.com/spandruvada/linux-kernel into for-next
a/v6.16-1 For: - v4l2-core fix: V4L2_BUF_TYPE_VIDEO_OVERLAY is capture, not output; - New driver: Amlogic C3 ISP; - New sensor drivers: ST VD55G1 and VD56G3, OmniVision OV02C10; - amlogic: c3-mipi-csi2: Handle 64-bits division; - a fix for 64-bits division at the amlogic c3-mipi-csi2 driver; - Changes at atomisp to support mainline mt9m114 driver and remove deprecat= ed GPIO APIs; - various cleanups, fixes and enhancements. =20 Regards, Mauro --- [GIT PULL for v6.16] media updates
Summary * Move kern_table members out of kernel/sysctl.c Moved a subset (tracing, panic, signal, stack_tracer and sparc) out of the kern_table array. The goal is for kern_table to only have sysctl elements= =2E All this increases modularity by placing the ctl_tables closer to where they = are used while reducing the chances of merge conflicts in kernel/sysctl.c. * Fixed sysctl unit test panic by relocating it to selftests * Testing These have been in linux-next from rc2, so they have had more than a month worth of testing.
The randstruct GCC plugin was fixed but it uncovered a missed randomization opportunity (that was similarly missed in Clang but has also now been fixed there too). There are two patches in this pull that are duplicated in other trees: 1 in netdev and 1 in watchdog. They were needed to build the hardening tree (due to the randstruct fixes), but they were taken into their respective trees kind of later in the dev cycle. I debated splitting up this tree and ripping out the patches, but they're both small, and it seemed like more trouble for both of us (2 pulls). If you'd rather have it split up, let me know and I can resend it that way. Another item of note is the kbuild change that will induce a full kernel rebuild when other dependencies of the compile change (randstruct seed, GCC plugins are rebuilt, or the Clang sanitizer .scl file content changes). Several variations were attempted by myself and kbuild maintainers was the version ultimately agreed to (and I carried in my tree since it's all due to hardening features anyway). Thanks! -Kees hardening updates for v6.16-rc1 - Update overflow helpers to ease refactoring of on-stack flex array instances (Gustavo A. R. Silva, Kees Cook) - lkdtm: Use SLAB_NO_MERGE instead of constructors (Harry Yoo) - Simplify CONFIG_CC_HAS_COUNTED_BY (Jan Hendrik Farr) - Disable u64 usercopy KUnit test on 32-bit SPARC (Thomas Weißschuh) - Add missed designated initializers now exposed by fixed randstruct (Nathan Chancellor, Kees Cook) - Document compilers versions for __builtin_dynamic_object_size - Remove ARM_SSP_PER_TASK GCC plugin - Fix GCC plugin randstruct, add selftests, and restore COMPILE_TEST builds - Kbuild: induce full rebuilds when dependencies change with GCC plugins, the Clang sanitizer .scl file, or the randstruct seed. - Kbuild: Switch from -Wvla to -Wvla-larger-than=1 - Correct several __nonstring uses for -Wunterminated-string-initialization
Thanks! -Kees seccomp updates for v6.16-rc1 - selftest fixes for arm32 (Neill Kapron, Terry Tritton) - documentation typo fix (Sumanth Gavini)
pm-6.16-rc1 Merge branch 'pm-tools' Linux 6.15-rc7 to receive power management updates for 6.16-rc1. Once again, the changes are dominated by cpufreq updates, but this time the majority of them are cpufreq core changes, mostly related to the introduction of policy locking guards and __free() usage, and fixes related to boost handling. Still, there is also a significant update of the intel_pstate driver making it register an energy model when running on a hybrid platform which is used for enabling energy-aware scheduling (EAS) if the driver operates in the passive mode (and schedutil is used as the cpufreq governor for all CPUs which is the passive mode default). There are some amd-pstate driver updates too, for a good measure, including the "Requested CPU Min frequency" BIOS option support and new online/offline callbacks. In the cpuidle space, the most significant change is the addition of a C1 demotion on/off sysfs knob to intel_idle which should help some users to configure their systems more precisely. There is also the conversion of the PSCI cpuidle driver to a faux device one and there are two small updates of cpuidle governors. Device power management is also modified quite a bit, especially the handling of devices with asynchronous suspend and resume enabled during system transitions. They are now going to be handled more asynchronously during suspend transitions and somewhat less aggressively during resume transitions. Apart from the above, the operating performance points (OPP) library is now going to use mutex locking guards and scope-based cleanup helpers and there is the usual bunch of assorted fixes and code cleanups. Specifics: - Fix potential division-by-zero error in em_compute_costs() (Yaxiong Tian). - Fix typos in energy model documentation and example driver code (Moon Hee Lee, Atul Kumar Pant). - Rearrange the energy model management code and add a new function for adjusting a CPU energy model after adjusting the capacity of the given CPU to it (Rafael Wysocki). - Refactor cpufreq_online(), add and use cpufreq policy locking guards, use __free() in policy reference counting, and clean up core cpufreq code on top of that (Rafael Wysocki). - Fix boost handling on CPU suspend/resume and sysfs updates (Viresh Kumar). - Fix des_perf clamping with max_perf in amd_pstate_update() (Dhananjay Ugwekar). - Add offline, online and suspend callbacks to the amd-pstate driver, rename and use the existing amd_pstate_epp callbacks in it (Dhananjay Ugwekar). - Add support for the "Requested CPU Min frequency" BIOS option to the amd-pstate driver (Dhananjay Ugwekar). - Reset amd-pstate driver mode after running selftests (Swapnil Sapkal). - Avoid shadowing ret in amd_pstate_ut_check_driver() (Nathan Chancellor). - Add helper for governor checks to the schedutil cpufreq governor and move cpufreq-specific EAS checks to cpufreq (Rafael Wysocki). - Populate the cpu_capacity sysfs entries from the intel_pstate driver after registering asym capacity support (Ricardo Neri). - Add support for enabling Energy-aware scheduling (EAS) to the intel_pstate driver when operating in the passive mode on a hybrid platform (Rafael Wysocki). - Drop redundant cpus_read_lock() from store_local_boost() in the cpufreq core (Seyediman Seyedarab). - Replace sscanf() with kstrtouint() in the cpufreq code and use a symbol instead of a raw number in it (Bowen Yu). - Add support for autonomous CPU performance state selection to the CPPC cpufreq driver (Lifeng Zheng). - OPP: Add dev_pm_opp_set_level() (Praveen Talari). - Introduce scope-based cleanup headers and mutex locking guards in OPP core (Viresh Kumar). - Switch OPP to use kmemdup_array() (Zhang Enpei). - Optimize bucket assignment when next_timer_ns equals KTIME_MAX in the menu cpuidle governor (Zhongqiu Han). - Convert the cpuidle PSCI driver to a faux device one (Sudeep Holla). - Add C1 demotion on/off sysfs knob to the intel_idle driver (Artem Bityutskiy). - Fix typos in two comments in the teo cpuidle governor (Atul Kumar Pant). - Fix denying of auto suspend in pm_suspend_timer_fn() (Charan Teja Kalla). - Move debug runtime PM attributes to runtime_attrs[] (Rafael Wysocki). - Add new devm_ functions for enabling runtime PM and runtime PM reference counting (Bence Cs=C3=B3k=C3=A1s). - Remove size arguments from strscpy() calls in the hibernation core code (Thorsten Blum). - Adjust the handling of devices with asynchronous suspend enabled during system suspend and resume to start resuming them immediately after resuming their parents and to start suspending such a device immediately after suspending its first child (Rafael Wysocki). - Adjust messages printed during tasks freezing to avoid using pr_cont() (Andrew Sayers, Paul Menzel). - Clean up unnecessary usage of !! in pm_print_times_init() (Zihuan Zhang). - Add missing wakeup source attribute relax_count to sysfs and remove the space character at the end ofi the string produced by pm_show_wakelocks() (Zijun Hu). - Add configurable pm_test delay for hibernation (Zihuan Zhang). - Disable asynchronous suspend in ucsi_ccg_probe() to prevent the cypd4226 device on Tegra boards from suspending prematurely (Jon Hunter). - Unbreak printing PM debug messages during hibernation and clean up some related code (Rafael Wysocki). - Add a systemd service to run cpupower and change cpupower binding's Makefile to use -lcpupower (John B. Wyatt IV, Francesco Poli). Thanks!
acpi-6.16-rc1 and 'acpi-docs' Linux 6.15-rc7 to receive ACPI updates for 6.16-rc1. The most significant part of these changes is an ACPICA update covering two upstream ACPICA releases, 20241212 and 20250404, that have not been included into the kernel code base yet. Among other things, it adds definitions needed to address GCC 15's -Wunterminated-string-initialization warnings, adds support for three new tables (MRRM, ERDT, RIMT), extends support for two tables (RAS2, DMAR), and fixes some issues. On top of the above, there is a new parser for the MRRM table, more changes related to GCC 15's -Wunterminated-string-initialization warnings, a CPPC library update including functions related to autonomous CPU performance state selection, a couple of new quirks, some assorted fixes and some code cleanups. Specifics: - Fix two ACPICA SLAB cache leaks (Seunghun Han). - Add EINJv2 get error type action and define Error Injection Actions in hex values to avoid inconsistencies between the specification and the code (Zaid Alali). - Fix typo in comments for SRAT structures (Adam Lackorzynski). - Prevent possible loss of data in ACPICA because of u32 to u8 conversions (Saket Dumbre). - Fix reading FFixedHW operation regions in ACPICA (Daniil Tatianin). - Add support for printing AML arguments when the ACPICA debug level is ACPI_LV_TRACE_POINT (Mario Limonciello). - Drop a stale comment about the file content from actbl2.h (Sudeep Holla). - Apply pack(1) to union aml_resource (Tamir Duberstein). - Fix overflow check in the ACPICA version of vsnprintf() (gldrk). - Interpret SIDP structures in DMAR added revision 3.4 of the VT-d specification (Alexey Neyman). - Add typedef and other definitions related to MRRM to ACPICA (Tony Luck). - Add definitions for RIMT to ACPICA (Sunil V L). - Fix spelling mistake "Incremement" -> "Increment" in the ACPICA utilities code (Colin Ian King). - Add typedef and other definitions for ERDT to ACPICA (Tony Luck). - Introduce ACPI_NONSTRING and use it (Kees Cook, Ahmed Salem). - Rename structure and field names of the RAS2 table in actbl2.h (Shiju Jose). - Fix up whitespace in acpica/utcache.c (Zhe Qiao). - Avoid sequence overread in a call to strncmp() in ap_get_table_length() and replace strncpy() with memcpy() in ACPICA in some places (Ahmed Salem). - Update copyright year in all ACPICA files (Saket Dumbre). - Add __nonstring annotations for unterminated strings in the static ACPI tables parsing code (Kees Cook). - Add support for parsing the MRRM ACPI table and sysfs files to describe memory regions listed in it (Tony Luck, Anil Keshavamurthy). - Remove an (explicitly) unused header file include from the VIOT ACPI table parser file (Andy Shevchenko). - Improve logging around acpi_initialize_tables() (Bartosz Szczepanek). - Clean up the initialization of CPU data structures in the ACPI processor driver (Zhang Rui). - Remove an obsolete comment regarding the C-states handling in the ACPI processor driver (Giovanni Gherdovich). - Simplify PCC shared memory region handling (Sudeep Holla). - Rework and extend functions for reading CPPC register values and for updating CPPC registers (Lifeng Zheng). - Add three functions related to autonomous CPU performance state selection to the CPPC library (Lifeng Zheng). - Turn the acpi_pci_root_remap_iospace() fwnode_handle parameter into a const pointer (Pei Xiao). - Round battery capacity percengate in the ACPI battery driver to the closest integer to avoid user confusion (shitao). - Make the ACPI battery driver report the current as a negative number to the power supply framework when the battery is discharging as documented (Peter Marheine). - Add TUXEDO InfinityBook Pro AMD Gen9 to the acpi_ec_no_wakeup[] list to prevent spurious wakeups from suspend-to-idle (Werner Sembach). - Convert the APEI EINJ driver to a faux device one (Sudeep Holla, Jon Hunter). - Remove redundant calls to einj_get_available_error_type() from the APEI EINJ driver (Zaid Alali). - Fix a typo for MECHREVO in irq1_edge_low_force_override[] (Mingcong Bai). - Add an LPS0 check() callback to the AMD pinctrl driver and fix up config symbol dependencies in it (Mario Limonciello, Rafael Wysocki). - Avoid initializing the ACPI platform profile driver on non-ACPI platforms (Alexandre Ghiti). - Document that references to ACPI data (non-device) nodes should use string-only references in hierarchical data node packages (Sakari Ailus). - Fail the ACPI bus registration if acpi_kobj registration fails (Armin Wolf). Thanks!
thermal-6.16-rc1 thermal: qcom: ipq5018: make ops_ipq5018 struct static Linux 6.15-rc6 to receive thermal control updates for 6.16-rc1. These add support for a new feature, Platform Temperature Control (PTC), to the Intel int340x thermal driver, add support for the Airoha EN7581 thermal sensor and the IPQ5018 platform, fix up the ACPI thermal zones handling, fix other assorted issues and clean up code. Specifics: - Add Platform Temperature Control (PTC) support to the Intel int340x thermal driver (Srinivas Pandruvada). - Make the Hisilicon thermal driver compile by default when ARCH_HISI is set (Krzysztof Kozlowski). - Clean up printk() format by using %pC instead of %pCn in the bcm2835 thermal driver (Luca Ceresoli). - Fix variable name coding style in the AmLogic thermal driver (Enrique Isidoro Vazquez Ramos). - Fix missing debugfs entry removal on failure by using the devm_ variant in the LVTS thermal driver (AngeloGioacchino Del Regno). - Remove the unused lvts_debugfs_exit() function as the devm_ variant introduced before takes care of removing the debugfs entry in the LVTS driver (Arnd Bergmann). - Add the Airoha EN7581 thermal sensor support along with its DT bindings (Christian Marangi). - Add ipq5018 compatible string DT binding, cleanup and add its support to the QCom Tsens thermal driver (Sricharan Ramabadhran, George Moussalem). - Fix comments typos in the Airoha driver (Christian Marangi, Colin Ian King). - Address a sparse warning by making a local variable static in the QCom thermal driver (George Moussalem). - Fix the usage of the _SCP control method in the driver for ACPI thermal zones (Armin Wolf). Thanks!
please pull the x86/sev lineup for v6.16-rc1. Thx. --- Add a virtual TPM driver glue which allows a guest kernel to talk to a TPM device emulated by a Secure VM Service Module (SVSM) - a helper module of sorts which runs at a different privilege level in the SEV-SNP VM stack. The intent being that a TPM device is emulated by a trusted entity and not by the untrusted host which is the default assumption in the confidential computing scenarios.
please pull a single x86/mtrr change for v6.16-rc1. Thx. --- A single change to verify the presence of fixed MTRR ranges before accessing the respective MSRs.
m68k updates for v6.16 - One more strscpy() conversion, - Fix detection of real Mac II, - Defconfig updates. Thanks for pulling!
please pull the x86/cache lineup for v6.16-rc1. I have an example at the end of this mail how I've resolved the merge conflicts if I merge the tip branches in the order you've received them and the resolution builds fine but that doesn't mean a whole lot... Thx. --- Carve out the resctrl filesystem-related code into fs/resctrl/ so that multiple architectures can share the fs API for manipulating their respective hw resource control implementation. This is the second step in the work towards sharing the resctrl filesystem interface, the next one being plugging ARM's MPAM into the aforementioned fs API.
dma-mapping updates for Linux 6.16: - new two step DMA mapping API, which is is a first step to a long path to provide alternatives to scatterlist and to remove hacks, abuses and design mistakes related to scatterlists; this new approach optimizes some calls to DMA-IOMMU layer and cache maintenance by batching them, reduces memory usage as it is no need to store mapped DMA addresses to unmap them, and reduces some function call overhead; it is a combination effort of many people, lead and developed by Christoph Hellwig and Leon Romanovsky
Subject: [GIT PULL] power-supply changes for 6.16 MIME-Version: 1.0 Hi Linus, Everything has been in linux-next for 3 weeks, so I don't expect any issues. Some additional power-supply patches are flowing through the platform tree this time as they are used by x86 laptops. Stephen Rothwell reported a trivial merge conflict in the MAINTAINERS file between the USB and my tree: = =20 = =20 https://lore.kernel.org/linux-next/[email protected]= / =20 =20 Last but not least: I will be on a 3 week trekking trip without my = =20 laptop starting today, so if (unexpectedly) something urgent pops = =20 up don't expect any response from me. = =20 Greetings, -- Sebastian power supply and reset changes for the 6.16 series * power-supply core - power: supply: support charge_types in extensions * power-supply drivers - new driver for Pegatron Chagall battery - new driver for Maxim MAX8971 charger - new driver for Huawei Matebook E Go - bq27xxx: retry failed I2C transmissions - bq24190: add BQ24193 support - misc. small cleanups and fixes * reset drivers - new driver for Toradex SMARC Embedded Controller - reboot-mode: add support for modes containing / in DT - atmel,at91sam9260-reset: support sama7d65 - syscon-reboot: add Google GS101 support - misc. small cleanups and fixes
spi: Updates for v6.16 This bulk of the changes in this release are driver work, as well as new device support we have some important work on performance over several drivers, and big overhauls for maintainability on a couple too. Highlights include: - Big cleanups of the sh-msiof driver from Geert Uytterhoeven, and of the NXP FSPI driver from Haibo Chen. - Performance improvements for the AXI SPI engine. - Support for writes to memory mapped flashes on Renesas devices. - Integrated DMA support for Tegra210 QSPI, used by the Tegra234. - DMA support for Amlogic SPI controllers. - Support for AMD HID2, Qualcomm IPQ5018, Renesas RZ/G3E, Rockchip RK3528 and Samsung Exynos Autov920. An update to fix some issues with the Atmel QSPI driver runtime PM pulled in a new API from the PM core, and the Renesas memory mapped write changes pull in some code that's shared in drivers/memory.
regmap: Updates for v6.16 This release we have one new feature, support for chips that report edge interrupts but don't provide distinct readback of that status per line, plus a few cleanups.
regulator: Updates for v6.16 This is a very quiet release, there was no work on the core and a good chunk of the updates were the result of conversions to use newer GPIO APIs. We did gain support for Analog ADP5055 and TI TPS65214 devices, and there's a new restart handler for the PCA9450 which allows devices using it to be properly power cycled on reboot, but otherwise it's minor fixes and API updates.
From: Bartosz Golaszewski <[email protected]> Here's the PR containing updates for the GPIO subsystem for this cycle. We have three new drivers, some refactoring in the GPIO core, lots of various changes across many drivers, new configfs interface for the virtual gpio-aggregator module and DT-bindings updates. The treewide conversion of GPIO drivers to using the new value setter callbacks is ongoing with another round of GPIO drivers updated. You will also see these commits coming in from other subsystems as with the relevant changes merged into mainline last cycle, I've started converting GPIO providers located elsewhere than drivers/gpio/. Details are in the signed tag. Please consider pulling Thanks, Bartosz Golaszewski gpio updates for v6.16-rc1 GPIO core: - use more lock guards where applicable - refactor GPIO ACPI code and shrink it in the process by 8% - move GPIO ACPI quirks into a separate file - remove unneeded #ifdef - convert GPIO devres helpers to using devm_add_action() where applicable which shrinks and simplifies the code - refactor GPIO descriptor validation in GPIO consumer interfaces - don't allow setting values on input lines in the GPIO core which will take off the burden from GPIO drivers of checking this down the line - provide gpiod_is_equal() as a way of safely comparing two GPIO descriptors (the only current user is in regulator core) New drivers: - add the GPIO module for the max77759 multifunction device - add the GPIO driver for the VeriSilicon BLZP1600 GPIO controller - add the GPIO driver for the Spacemit K1 SoC Driver improvements: - convert more drivers to using the new GPIO line value setter callbacks - convert more drivers to making the irq_chip immutable as is recommended by the interrupt subsystem - extend build testing coverage by enabling more modules to be built with COMPILE_TEST=y - extend the gpio-aggregator module with a configfs interface that makes the setup easier for user-space than the existing driver-level sysfs attributes and also adds more advanced configuration features (such as referring to aggregated lines by their original names or modifying their names as exposed by the aggregated chip) - add a missing mutex_destroy() in gpio-imx-scu - add an OF polarity quirk for s5m8767 - allow building gpio-vf610 as a loadable module - make gpio-mxc not hardcode its GPIO base number with GPIO SYSFS interface disabled (another small step towards getting rid of the global GPIO numberspace) - add support for level-triggered interrupts to gpio-pca953x - don't double-check the ngpios property in gpio-ds4520 as GPIO core already does it - don't double-check the number of GPIOs in gpio-imx-scu as GPIO core already does it - remove unused callbacks from gpio-max3191x DT bindings: - add device-tree bindings for max77759, spacemit,k1 and blzp1600 (new drivers added this cycle) - document more properties for gpio-vf610 and gpio-tegra186 - document a new pca95xx variant - fix style of examples in several GPIO DT-binding documents Misc: - TODO list updates
please pull sound updates for v6.16-rc1 from: The topmost commit is 534e9cf3782f1bd6adf0bd7d17ff414ea12a6bf2 sound updates for 6.16-rc1 We've received a lot of activities in this cycle, mostly about leaf driver codes rather than the core part, but with a good mixture of code cleanups and new driver additions. Below are some highlights: * ASoC: - Support for automatically enumerating DAIs from standards conforming SoundWire SDCA devices; not much used as of this writing, rather for future implementations - Conversion of quite a few drivers to newer GPIO APIs - Continued cleanups and helper usages in allover places - Support for a wider range of Intel AVS platforms - Support for AMD ACP 7.x platforms, Cirrus Logic CS35L63 and CS48L32 Everest Semiconductor ES8375 and ES8389, Longsoon-1 AC'97 controllers, nVidia Tegra264, Richtek ALC203 and RT9123 and Rockchip SAI controllers * HD-audio: - Lots of cleanups of TAS2781 codec drivers - A new HD-audio control bound via ACPI for Nvidia - Support for Tegra264, Intel WCL, usual new codec quirks * USB-audio: - Fix a race at removal of MIDI device - Pioneer DJM-V10 support, Scarlett2 driver cleanups * Misc: - Cleanups of deprecated PCI functions - Removal of unused / dead function codes
Please git pull the following tag: xen: branch for v6.16-rc1 It contains the following patches: - A fix for running as a Xen dom0 on the iMX8QXP Arm platform. - An update of the xen.config adding XEN_UNPOPULATED_ALLOC for better support of PVH dom0. - A fix of the Xen balloon driver when running without CONFIG_XEN_UNPOPULATED_ALLOC. - A fix of the dm_op Xen hypercall on Arm needed to pass user space buffers to the hypervisor in certain configurations. Thanks. Juergen
When the v6.15 merge window opens, please pull this rate-limit update from: These have been subject to -next testing for more than a month, have had five LKML postings, have been featured on LWN, and with one exception have a full set of acks. That exception is this: 48e864ae8657 ("random: Avoid open-coded use of ratelimit_state structure's ->missed field") The change from this series is function-preserving and is incidental to the random subsystem, but is necessary to the series, which is in turn needed to avoid silent and false-positive drops of rate-limited printk()s. lib/ratelimit: Reduce false-positive and silent misses Changes ------- * Reduce open-coded use of ratelimit_state structure fields. * Convert the ->missed field to atomic_t. * Count misses that are due to lock contention. * Eliminate jiffies=0 special case. * Reduce ___ratelimit() false-positive rate limiting (Petr Mladek). * Allow zero ->burst to hard-disable rate limiting. * Optimize away atomic operations when a miss is guaranteed. * Warn if ->interval or ->burst are negative (Petr Mladek). * Simplify the resulting code. A smoke test and stress test have been created, but they are not yet ready for mainline. With luck, we will offer them for the v6.17 merge window.
When the v6.16 merge window opens, please pull this LKMM update from: lkmm: Update documentation Changes ------- * Cross-references, typos, broken URLs (Akira Yokosawa) * Clarify SRCU explanation (Uladzislau Rezki)
Could you consider this pull request for 6.16-rc1? In this cycle, Intel QAT hardware accelerators are supported to improve DEFLATE decompression performance. I've also tested it with the enwik9 dataset of 1 MiB pclusters on our Intel Sapphire Rapids bare-metal server and a PL0 ESSD, and the sequential read performance even surpasses LZ4 software decompression on this setup. In addition, a `fsoffset` mount option is introduced for file-backed mounts to specify the filesystem offset in order to adapt customized container formats. There are other improvements and minor cleanups shown as below. All commits have been in -next, and no potential merge conflicts are observed. Thanks, Gao Xiang Changes since last update: - Add a `fsoffset` mount option to specify the filesystem offset; - Support Intel QAT accelerators to boost up the DEFLATE algorithm; - Initialize per-CPU workers and CPU hotplug hooks lazily to avoid unnecessary overhead when EROFS is not mounted; - Fix file handle encoding for 64-bit NIDs; - Minor cleanups.
Conflicts detected in linux-next: https://patchwork.kernel.org/project/linux-crypto/patch/[email protected]/ tip tree: a72d55dc3bd6 ("x86/idle: Remove CONFIG_AS_TPAUSE") crypto tree: 984f835009d6 ("crypto: x86 - Remove CONFIG_AS_SHA1_NI") d032a27e8fe9 ("crypto: x86 - Remove CONFIG_AS_SHA256_NI") https://patchwork.kernel.org/project/linux-crypto/patch/[email protected]/ arm-soc-fixes tree: 6c9ab811871b ("arm64: defconfig: Ensure CRYPTO_CHACHA20_NEON is selected") crypto tree: 3357b6c94569 ("crypto: tcrypt - rename CRYPTO_TEST to CRYPTO_BENCHMARK") The resolutions should be trivial in both cases. The last commit 2297554f01df in the pull request fixes a regression caused by the addition of arch optimisations to lib/sha256. The lib/crypto version of sha256 was used by CPU bring-up on AMD where the FPU was not yet ready to handle the SIMD instructions. https://lore.kernel.org/linux-crypto/[email protected]/ The patch was been around for a week and there didn't seem to be any major concerns with it. However, it didn't make it into the x86 pull request for 6.16. In order to prevent an AMD regression, I'm including it here. If there are objections, we could instead disable lib/sha256 x86 optimisations. This update includes the following changes: API: - Fix memcpy_sglist to handle partially overlapping SG lists. - Use memcpy_sglist to replace null skcipher. - Rename CRYPTO_TESTS to CRYPTO_BENCHMARK. - Flip CRYPTO_MANAGER_DISABLE_TEST into CRYPTO_SELFTESTS. - Hide CRYPTO_MANAGER. - Add delayed freeing of driver crypto_alg structures. Compression: - Allocate large buffers on first use instead of initialisation in scomp. - Drop destination linearisation buffer in scomp. - Move scomp stream allocation into acomp. - Add acomp scatter-gather walker. - Remove request chaining. - Add optional async request allocation. Hashing: - Remove request chaining. - Add optional async request allocation. - Move partial block handling into API. - Add ahash support to hmac. - Fix shash documentation to disallow usage in hard IRQs. Algorithms: - Remove unnecessary SIMD fallback code on x86 and arm/arm64. - Drop avx10_256 xts(aes)/ctr(aes) on x86. - Improve avx-512 optimisations for xts(aes). - Move chacha arch implementations into lib/crypto. - Move poly1305 into lib/crypto and drop unused Crypto API algorithm. - Disable powerpc/poly1305 as it has no SIMD fallback. - Move sha256 arch implementations into lib/crypto. - Convert deflate to acomp. - Set block size correctly in cbcmac. Drivers: - Do not use sg_dma_len before mapping in sun8i-ss. - Fix warm-reboot failure by making shutdown do more work in qat. - Add locking in zynqmp-sha. - Remove cavium/zip. - Add support for PCI device 0x17D8 to ccp. - Add qat_6xxx support in qat. - Add support for RK3576 in rockchip-rng. - Add support for i.MX8QM in caam. Others: - Fix irq_fpu_usable/kernel_fpu_begin inconsistency during CPU bring-up. - Add new SEV/SNP platform shutdown API in ccp.
Hi Linus, Thanks, Tzung-Bi ------ chrome-platform: Updates for v6.16 * New - Support MT8192 Spherion and MT8186 Corsola devices in of_hw_prober. - Turn cros_ec_proto from bool into tristate. - Support Pin Assignment E in cros_ec_typec for USB-C to DP cables. * Improvements - Avoid -Wflex-array-member-not-at-end warnings. * Cleanups - Remove a redundant dependency in Kconfig for cros_kbd_led_backlight.
Cleanups for the kernel's CRC (cyclic redundancy check) code: - Use __ro_after_init where appropriate - Remove unnecessary static_key on s390 - Rename some source code files - Rename the crc32 and crc32c crypto API modules - Use subsys_initcall instead of arch_initcall - Restore maintainers for crc_kunit.c - Fold crc16_byte() into crc16.c - Add some SPDX license identifiers
Add support for "hardware-wrapped inline encryption keys" to fscrypt. When enabled on supported platforms, this feature protects file contents keys from certain attacks, such as cold boot attacks. This feature uses the block layer support for wrapped keys which was merged in 6.15. Wrapped key support has existed out-of-tree in Android for a long time, and it's finally ready for upstream now that there is a platform on which it works end-to-end with upstream. Specifically, it works on the Qualcomm SM8650 HDK, using the Qualcomm ICE (Inline Crypto Engine) and HWKM (Hardware Key Manager). The corresponding driver support is included in the SCSI tree for 6.16. Validation for this feature includes two new tests that were already merged into xfstests (generic/368 and generic/369).
Subject: [GIT PULL] pwm: Changes for 6.16-rc1 MIME-Version: 1.0 Hello Linus, the following changes since commit 8ffd015db85fea3e15a77027fda6c02ced4d2444: Linux 6.15-rc2 (2025-04-13 11:54:49 -0700) are available in the Git repository at: wm/for-6.16-rc1 for you to fetch changes up to c0c980f237e822fd9cc6c0ab5b60ce8efe76464e: dt-bindings: timer: renesas,tpu: remove binding documentation (2025-05-19= 18:46:45 +0200) It contains a merge of the Renesas tree by Geert Uytterhoeven that you will also get a pull request for via the arm-soc tree. This was merged to allow to rename a few PWM Kconfig symbols where the old name was added to a defconfig file (commit 5ad7de623853 ("arm64: defconfig: Enable Renesas RZ/G2L GPT config")). You will get another pull request including a change to drivers/pwm/pwm-stm32-lp.c by Lee Jones. Lee provided an immutable branch for that, I didn't merge it however as there are no conflicting changes in my tree, so you will only notice that if you look carefully at the diffstat. There is a merge conflict in MAINTAINERS with commit 3887d3f64260 ("dt-bindings: i2c: i2c-wmt: Convert to YAML") from Andi Shyti's i2c-tree. The trivial resolution that is also in next looks as follows:
please pull the EDAC updates for v6.16. Thx. --- - ie31200: Add support for Raptor Lake-S and Alder Lake-S compute dies - Rework how RRL registers per channel tracking is done in order to support newer hardware with different RRL configurations and refactor that code. Add support for Granite Rapids server - i10nm: explicitly set RRL modes to fix any wrong BIOS programming - Properly save and restore Retry Read error Log channel configuration info on Intel drivers - igen6: Handle correctly the case of fused off memory controllers on Arizona Beach and Amston Lake SoCs before adding support for them - the usual set of fixes and cleanups
please pull the latest irq/core branch from: -25 Updates for the generic interrupt subsystem core code: - Address a long standing subtle problem in the CPU hotplug code for affinity-managed interrupts. Affinity-managed interrupts are shut down by the core code when the last CPU in the affinity set goes offline and started up again when the first CPU in the affinity set becomes online again. This unfortunately does not take into account whether an interrupt has been disabled before the last CPU goes offline and starts up the interrupt unconditionally when the first CPU becomes online again. That's obviously not what drivers expect. Address this by preserving the disabled state for affinity-managed interrupts accross these CPU hotplug operations. All non-managed interrupts are not affected by this because startup/shutdown is coupled to request/free_irq() which obviously has to reset state. - Support three-cell scheme interrupts to allow GPIO drivers to specify interrupts from an already existing scheme - Switch the interrupt subsystem core to lock guards. This gets rid of quite some copy & pasta boilerplate code all over the place. - The usual small cleanups and improvements all over the place Thanks, tglx
please pull the latest irq/msi branch from: 25 Updates for the MSI subsystem (core code and PCI): - Switch the MSI decriptor locking to lock guards - Replace a broken and naive implementation of PCI/MSI-X control word updates in the PCI/TPH driver with a properly serialized variant in the PCI/MSI core code. - Remove the MSI descriptor abuse in the SCCI/UFS/QCOM driver by replacing the direct access to the MSI descriptors with the proper API function calls. People will never understand that APIs exist for a reason... - Provide core infrastructre for the upcoming PCI endpoint library extensions. Currently limited to ARM GICv3+, but in theory extensible to other architectures. - Provide a MSI domain::teardown() callback, which allows drivers to undo the effects of the prepare() callback. - Move the MSI domain::prepare() callback invocation to domain creation time to avoid redundant (and in case of ARM/GIC-V3-ITS confusing) invocations on every allocation. In combination with the new teardown callback this removes some ugly hacks in the GIC-V3-ITS driver, which pretended to work around the short comings of the core code so far. With this update the code is correct by design and implementation. - Make the irqchip MSI library globally available, provide a MSI parent domain creation helper and convert a bunch of (PCI/)MSI drivers over to the modern MSI parent mechanism. This is the first step to get rid of at least one incarnation of the three PCI/MSI management schemes. - The usual small cleanups and improvements Thanks, tglx
please pull the latest timers/clocksource branch from: ce-2025-05-25 b/scm/linux/kernel/git/daniel.lezcano/linux into timers/drivers Updates for clocksource/clockevent drivers: - The final conversion of text formatted device tree binding to schemas. - A new driver fot the System Timer Module on S32G NXP SoCs. - A new driver fot the Econet HPT timer - The usual improvements and device tree binding updates Thanks, tglx
please pull the latest timers/core branch from: -05-25 Updates for the time/timer core code: - Rework the initialization of the posix-timer kmem_cache and move the cache pointer into the timer_data structure to prevent false sharing. - Switch the alarmtimer code to lock guards. - Improve the CPU selection criteria in the per CPU validation of the clocksource watchdog to avoid arbitrary selections (or omissions) on systems with a small number of CPUs. - The usual cleanups and improvements Thanks, tglx
please pull the latest irq/drivers branch from: -05-25 ler setup Update for interrupt chip drivers: - Convert the generic interrupt chip to lock guards to remove copy & pasta boilerplate code and gotos. - A new driver fot the interrupt controller in the EcoNet EN751221 MIPS SoC. - Extend the SG2042-MSI driver to support the new SG2044 SoC - Updates and cleanups for the (ancient) VT8500 driver - Improve the scalability of the ARM GICV4.1 ITS driver by utilizing node local copies a VM's interrupt translation table when possible. This results in a 12% reduction of VM IPI latency in certain workloads. - The usual cleanups and improvements all over the place Thanks, tglx
please pull the latest core/entry branch from: 05-25 Updates for the generic and architecture entry code: - Move LoongArch and RISC-V ret_from_fork() implementations to C code so that syscall_exit_user_mode() can be inlined. - Split the RISC-V ret_from_fork() implementation into return to user and return to kernel, which gives a measurable performance improvement. - Inline syscall_exit_user_mode() which benefits all architectures by avoiding a function call and letting the compiler do better optimizations. Thanks, tglx
Add the CONFIG_X86_NATIVE_CPU=y build option to locally optimize the kernel build with '-march=native'. Thanks, Ingo
Move the x86 page fault tracepoints to generic code, because other architectures would like to make use of them as well. Thanks, Ingo
Two changes to simplify the x86 vDSO code a bit. Thanks, Ingo
Merge note: There's a large number of changes outside of arch/x86/, most of which relate to mechanic changes to the x86 MSR APIs that do not change semantics. Compatibility wrappers were added for the most commonly used APIs to reduce/avoid the pain of merge conflicts & build failures with in-flight changes in this merge window. In a later stage we'll send changes to remove the compatibility wrappers and any leftover uses of the old API names. Core x86 updates for v6.16: Boot code changes: - A large series of changes to reorganize the x86 boot code into a better isolated and easier to maintain base of PIC early startup code in arch/x86/boot/startup/, by Ard Biesheuvel. Motivation & background: | Since commit | | c88d71508e36 ("x86/boot/64: Rewrite startup_64() in C") | | dated Jun 6 2017, we have been using C code on the boot path in a way | that is not supported by the toolchain, i.e., to execute non-PIC C | code from a mapping of memory that is different from the one provided | to the linker. It should have been obvious at the time that this was a | bad idea, given the need to sprinkle fixup_pointer() calls left and | right to manipulate global variables (including non-pointer variables) | without crashing. | | This C startup code has been expanding, and in particular, the SEV-SNP | startup code has been expanding over the past couple of years, and | grown many of these warts, where the C code needs to use special | annotations or helpers to access global objects. This tree includes the first phase of this work-in-progress x86 boot code reorganization. Scalability enhancements and micro-optimizations: - Improve code-patching scalability (Eric Dumazet) - Remove MFENCEs for X86_BUG_CLFLUSH_MONITOR (Andrew Cooper) CPU features enumeration updates: - Thorough reorganization and cleanup of CPUID parsing APIs (Ahmed S. Darwish) - Fix, refactor and clean up the cacheinfo code (Ahmed S. Darwish, Thomas Gleixner) - Update CPUID bitfields to x86-cpuid-db v2.3 (Ahmed S. Darwish) Memory management changes: - Allow temporary MMs when IRQs are on (Andy Lutomirski) - Opt-in to IRQs-off activate_mm() (Andy Lutomirski) - Simplify choose_new_asid() and generate better code (Borislav Petkov) - Simplify 32-bit PAE page table handling (Dave Hansen) - Always use dynamic memory layout (Kirill A. Shutemov) - Make SPARSEMEM_VMEMMAP the only memory model (Kirill A. Shutemov) - Make 5-level paging support unconditional (Kirill A. Shutemov) - Stop prefetching current->mm->mmap_lock on page faults (Mateusz Guzik) - Predict valid_user_address() returning true (Mateusz Guzik) - Consolidate initmem_init() (Mike Rapoport) FPU support and vector computing: - Enable Intel APX support (Chang S. Bae) - Reorgnize and clean up the xstate code (Chang S. Bae) - Make task_struct::thread constant size (Ingo Molnar) - Restore fpu_thread_struct_whitelist() to fix CONFIG_HARDENED_USERCOPY=y (Kees Cook) - Simplify the switch_fpu_prepare() + switch_fpu_finish() logic (Oleg Nesterov) - Always preserve non-user xfeatures/flags in __state_perm (Sean Christopherson) Microcode loader changes: - Help users notice when running old Intel microcode (Dave Hansen) - AMD: Do not return error when microcode update is not necessary (Annie Li) - AMD: Clean the cache if update did not load microcode (Boris Ostrovsky) Code patching (alternatives) changes: - Simplify, reorganize and clean up the x86 text-patching code (Ingo Molnar) - Make smp_text_poke_batch_process() subsume smp_text_poke_batch_finish() (Nikolay Borisov) - Refactor the {,un}use_temporary_mm() code (Peter Zijlstra) Debugging support: - Add early IDT and GDT loading to debug relocate_kernel() bugs (David Woodhouse) - Print the reason for the last reset on modern AMD CPUs (Yazen Ghannam) - Add AMD Zen debugging document (Mario Limonciello) - Fix opcode map (!REX2) superscript tags (Masami Hiramatsu) - Stop decoding i64 instructions in x86-64 mode at opcode (Masami Hiramatsu) CPU bugs and bug mitigations: - Remove X86_BUG_MMIO_UNKNOWN (Borislav Petkov) - Fix SRSO reporting on Zen1/2 with SMT disabled (Borislav Petkov) - Restructure and harmonize the various CPU bug mitigation methods (David Kaplan) - Fix spectre_v2 mitigation default on Intel (Pawan Gupta) MSR API: - Large MSR code and API cleanup (Xin Li) - In-kernel MSR API type cleanups and renames (Ingo Molnar) PKEYS: - Simplify PKRU update in signal frame (Chang S. Bae) NMI handling code: - Clean up, refactor and simplify the NMI handling code (Sohil Mehta) - Improve NMI duration console printouts (Sohil Mehta) Paravirt guests interface: - Restrict PARAVIRT_XXL to 64-bit only (Kirill A. Shutemov) SEV support: - Share the sev_secrets_pa value again (Tom Lendacky) x86 platform changes: - Introduce the <asm/amd/> header namespace (Ingo Molnar) - i2c: piix4, x86/platform: Move the SB800 PIIX4 FCH definitions to <asm/amd/fch.h> (Mario Limonciello) Fixes and cleanups: - x86 assembly code cleanups and fixes (Uros Bizjak) - Misc fixes and cleanups (Andi Kleen, Andy Lutomirski, Andy Shevchenko, Ard Biesheuvel, Bagas Sanjaya, Baoquan He, Borislav Petkov, Chang S. Bae, Chao Gao, Dan Williams, Dave Hansen, David Kaplan, David Woodhouse, Eric Biggers, Ingo Molnar, Josh Poimboeuf, Juergen Gross, Malaya Kumar Rout, Mario Limonciello, Nathan Chancellor, Oleg Nesterov, Pawan Gupta, Peter Zijlstra, Shivank Garg, Sohil Mehta, Thomas Gleixner, Uros Bizjak, Xin Li) Thanks, Ingo
Scheduler updates for v6.16: Core & fair scheduler changes: - Tweak wait_task_inactive() to force dequeue sched_delayed tasks (John Stultz) - Adhere to place_entity() constraints (Peter Zijlstra) - Allow decaying util_est when util_avg > CPU capacity (Pierre Gondois) - Fix up wake_up_sync() vs DELAYED_DEQUEUE (Xuewen Yan) Energy management: - Introduce sched_update_asym_prefer_cpu() (K Prateek Nayak) - cpufreq/amd-pstate: Update asym_prefer_cpu when core rankings change (K Prateek Nayak) - Align uclamp and util_est and call before freq update (Xuewen Yan) CPU isolation: - Make use of more than one housekeeping CPU (Phil Auld) RT scheduler: - Fix race in push_rt_task() (Harshit Agarwal) - Add kernel cmdline option for rt_group_sched (Michal Koutný) Scheduler topology support: - Improve topology_span_sane speed (Steve Wahl) Scheduler debugging: - Move and extend the sched_process_exit() tracepoint (Andrii Nakryiko) - Add RT_GROUP WARN checks for non-root task_groups (Michal Koutný) - Fix trace_sched_switch(.prev_state) (Peter Zijlstra) - Untangle cond_resched() and live-patching (Peter Zijlstra) Fixes and cleanups: - Misc fixes and cleanups (K Prateek Nayak, Michal Koutný, Peter Zijlstra, Xuewen Yan) Thanks, Ingo
Performance events updates for v6.16: Core & generic-arch updates: - Add support for dynamic constraints and propagate it to the Intel driver (Kan Liang) - Fix & enhance driver-specific throttling support (Kan Liang) - Record sample last_period before updating on the x86 and PowerPC platforms (Mark Barnett) - Make perf_pmu_unregister() usable (Peter Zijlstra) - Unify perf_event_free_task() / perf_event_exit_task_context() (Peter Zijlstra) - Simplify perf_event_release_kernel() and perf_event_free_task() (Peter Zijlstra) - Allocate non-contiguous AUX pages by default (Yabin Cui) Uprobes updates: - Add support to emulate NOP instructions (Jiri Olsa) - selftests/bpf: Add 5-byte NOP uprobe trigger benchmark (Jiri Olsa) x86 Intel PMU enhancements: - Support Intel Auto Counter Reload [ACR] (Kan Liang) - Add PMU support for Clearwater Forest (Dapeng Mi) - Arch-PEBS preparatory changes: (Dapeng Mi) - Parse CPUID archPerfmonExt leaves for non-hybrid CPUs - Decouple BTS initialization from PEBS initialization - Introduce pairs of PEBS static calls x86 AMD PMU enhancements: - Use hrtimer for handling overflows in the AMD uncore driver (Sandipan Das) - Prevent UMC counters from saturating (Sandipan Das) Fixes and cleanups: - Fix put_ctx() ordering (Frederic Weisbecker) - Fix irq work dereferencing garbage (Frederic Weisbecker) - Misc fixes and cleanups (Changbin Du, Frederic Weisbecker, Ian Rogers, Ingo Molnar, Kan Liang, Peter Zijlstra, Qing Wang, Sandipan Das, Thorsten Blum) Thanks, Ingo
Locking changes for v6.16: Futexes: - Add support for task local hash maps (Sebastian Andrzej Siewior, Peter Zijlstra) - Implement the FUTEX2_NUMA ABI, which feature extends the futex interface to be NUMA-aware. On NUMA-aware futexes a second u32 word containing the NUMA node is added to after the u32 futex value word. (Peter Zijlstra) - Implement the FUTEX2_MPOL ABI, which feature extends the futex interface to be mempolicy-aware as well, to further refine futex node mappings and lookups. (Peter Zijlstra) Locking primitives: - Misc cleanups (Andy Shevchenko, Borislav Petkov, Colin Ian King, Ingo Molnar, Nam Cao, Peter Zijlstra) Lockdep: - Prevent abuse of lockdep subclasses (Waiman Long) - Add number of dynamic keys to /proc/lockdep_stats (Waiman Long) Plus misc cleanups and fixes. Note that the tree includes the following dependent out-of-subsystem changes as well: - rcuref: Provide rcuref_is_dead() - mm: Add vmalloc_huge_node() - mm: Add the mmap_read_lock guard to <linux/mmap_lock.h> Thanks, Ingo
objtool changes for v6.15: - Speed up SHT_GROUP reindexing (Josh Poimboeuf) - Fix up st_info in COMDAT group section (Rong Xu) Thanks, Ingo
bcachefs updates for 6.16 Lots of changes: - Poisoned extents can now be moved: this lets us handle bitrotted data without deleting it. For now, reading from poisoned extents only returns -EIO: in the future we'll have an API for specifying "read this data even if there were bitflips". - Incompatible features may now be enabled at runtime, via "opts/version_upgrade" in sysfs. Toggle it to incompatible, and then toggle it back - option changes via the sysfs interface are persistent. - Various changes to support deployable disk images: - RO mounts now use less memory - Images may be stripped of alloc info, particularly useful for slimming them down if they will primarily be mounted RO. Alloc info will be automatically regenerated on first RW mount, and this is quite fast. - Filesystem images generated with 'bcachefs image' will be automatically resized the first time they're mounted on a larger device. The images 'bcachefs image' generates with compression enabled have been comparable in size to those generated by squashfs and erofs - but you get a full RW capable filesystem. - Major error message improvements for btree node reads, data reads, and elsewhere. We now build up a single error message that lists all the errors encountered, actions taken to repair, and success/failure of the IO. This extends to other error paths that may kick off other actions, e.g. scheduling recovery passes: actions we took because of an error are included in that error message, with grouping/indentation so we can see what caused what. - Repair/self healing: - We can now kick off recovery passes and run them in the background if we detect errors. Currently, this is just used by code that walks backpointers; we now also check for missing backpointers at runtime and run check_extents_to_backpointers if required. The messy 6.14 upgrade left missing backpointers for some users, and this will correct that automatically instead of requiring a manual fsck - some users noticed this as copygc spinning and not making progress. In the future, as more recovery passes come online, we'll be able to repair and recover from nearly anything - except for unreadable btree nodes, and that's why you're using replication, of course - without shutting down the filesystem. - There's a new recovery pass, for checking the rebalance_work btree, which tracks extents that rebalance will process later. - Hardening: - Close the last known hole in btree iterator/btree locking assertions: path->should_be_locked paths must stay locked until the end of the transaction. This shook out a few bugs, including a performance issue that was causing unnecessary path_upgrade transaction restarts. - Performance; - Faster snapshot deletion: this is an incompatible feature, as it requires new sentinal values, for safety. Snapshot deletion no longer has to do a full metadata scan, it now just scans the inodes btree: if an extent/dirent/xattr is present for a given snapshot ID, we already require that an inode be present with that same snapshot ID. If/when users hit scalability limits again (ridiculously huge filesystems with lots of inodes, and many sparse snapshots), let me know - the next step will be to add an index from snapshot ID -> inode number, which won't be too hard. - Faster device removal: the "scan for pointers to this device" no longer does a full metadata scan, instead it walks backpointers. Like fast snapshot deletion this is another incompat feature: it also requires a new sentinal value, because we don't want to reuse these device IDs until after a fsck. - We're now coalescing redundant accounting updates prior to transaction commit, taking some pressure off the journal. Shortly we'll also be doing multiple extent updates in a transaction in the main write path, which combined with the previous should drastically cut down on the amount of metadata updates we have to journal. - Stack usage improvements: All allocator state has been moved off the stack - Debug improvements: - enumerated refcounts: The debug code previously used for filesystem write refs is now a small library, and used for other heavily used refcounts. Different users of a refcount are enumerated, making it much easier to debug refcount issues. - Async object debugging: There's a new kconfig option that makes various async objects (different types of bios, data updates, write ops, etc.) visible in debugfs, and it should be fast enough to leave on in production. - Various sets of assertions no longer require CONFIG_BCACHEFS_DEBUG, instead they're controlled by module parameters and static keys, meaning users won't need to compile custom kernels as often to help debug issues. - bch2_trans_kmalloc() calls can be tracked (there's a new kconfig option); with it on you can check the btree_transaction_stats in debugfs to see the bch2_trans_kmalloc() calls a transaction did when it used the most memory.
please consider pulling the following gfs2 changes for 6.16. Thanks, Andreas gfs2 changes - Fix the long-standing warnings in inode_to_wb() when CONFIG_LOCKDEP is enabled: gfs2 doesn't support cgroup writeback and so inode->i_wb will never change. This is the counterpart of commit 9e888998ea4d ("writeback: fix false warning in inode_to_wb()"). - Fix a hang introduced by commit 8d391972ae2d ("gfs2: Remove __gfs2_writepage()"): prevent gfs2_logd from creating transactions for jdata pages while trying to flush the log. - Fix a race between gfs2_create_inode() and gfs2_evict_inode() by deallocating partially created inodes on the gfs2_create_inode() error path. - Fix a bug in the journal head lookup code that could cause mount to fail after successful recovery. - Various smaller fixes and cleanups from various people.
Hi Linus, -- Fixes - cpufreq test to not double suspend in rtcwake case. - compile error in pid_namespace test. - run_kselftest.sh to use readlink if realpath is not available. - cpufreq basic read and update testcases. - ftrace to add poll to a gen_file so test can find it at run-time. - spelling errors in perf_events test. diff is attached. thanks, -- Shuah linux_kselftest-next-6.16-rc1 -- Fixes - cpufreq test to not double suspend in rtcwake case. - compile error in pid_namespace test. - run_kselftest.sh to use readlink if realpath is not available. - cpufreq basic read and update testcases. - ftrace to add poll to a gen_file so test can find it at run-time. - spelling errors in perf_events test.
Hi Linus, - Enables qemu_config for riscv32, sparc 64-bit, PowerPC 32-bit BE and 64-bit LE. - Enables CONFIG_SPARC32 to clearly differentiate between sparc 32-bit and 64-bit configurations. - Enables CONFIG_CPU_BIG_ENDIAN to clearly differentiate between powerpc LE and BE configurations. - Adds feature to list available architectures to kunit tool. - Fixes to bugs and changes to documentation. diff is attached. thanks, -- Shuah linux_kselftest-kunit-6.16-rc1 - Enables qemu_config for riscv32, sparc 64-bit, PowerPC 32-bit BE and 64-bit LE. - Enables CONFIG_SPARC32 to clearly differentiate between sparc 32-bit and 64-bit configurations. - Enables CONFIG_CPU_BIG_ENDIAN to clearly differentiate between powerpc LE and BE configurations. - Add feature to list available architectures to kunit tool. - Fixes to bugs and changes to documentation.
please pull s390 updates for the 6.16 merge window. Thanks, Heiko s390 updates for 6.16 merge window - Large rework of the protected key crypto code to allow for asynchronous handling without memory allocation - Speed up system call entry/exit path by re-implementing lazy ASCE handling - Add module autoload support for the diag288_wdt watchdog device driver - Get rid of s390 specific strcpy() and strncpy() implementations, and switch all remaining users to strscpy() when possible - Various other small fixes and improvements
The calm before the storm... Though I suppose you already weathered a major TDX storm :-)
/* Summary */ This contains iomap updates for this cycle: - More fallout and preparatory work associated with the folio batch prototype posted a while back. Mainly this just cleans up some of the helpers and pushes some pos/len trimming further down in the write begin path. - Add missing flag descriptions to the iomap documentation. /* Testing */ gcc (Debian 14.2.0-19) 14.2.0 Debian clang version 19.1.7 (3) No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline No known conflicts. Merge conflicts with other trees No known conflicts. vfs-6.16-rc1.iomap
/* Summary */ This contains various cleanups, fixes, and extensions for out filesystem selftests. /* Testing */ gcc (Debian 14.2.0-19) 14.2.0 Debian clang version 19.1.7 (3) No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline No known conflicts. Merge conflicts with other trees No known conflicts. vfs-6.16-rc1.selftests
This pull request serves as the base for the coredump pull request I'm sending separately: https://lore.kernel.org/20250523-vfs-coredump-66643655f2fe@brauner The reason is simply that this branch has been in -next for such a long time that clearly delineating both topics by moving things around would have caused more churn for little gain since the relationship is tight enough that it fits into both categories. /* Summary */ This contains pidfs updates for this cycle: Features: - Allow to hand out pidfds for reaped tasks for AF_UNIX SO_PEERPIDFD socket option. SO_PEERPIDFD is a socket option that allows to retrieve a pidfd for the process that called connect() or listen(). This is heavily used to safely authenticate clients in userspace avoiding security bugs due to pid recycling races (dbus, polkit, systemd, etc.). SO_PEERPIDFD currently doesn't support handing out pidfds if the sk->sk_peer_pid thread-group leader has already been reaped. In this case it currently returns EINVAL. Userspace still wants to get a pidfd for a reaped process to have a stable handle it can pass on. This is especially useful now that it is possible to retrieve exit information through a pidfd via the PIDFD_GET_INFO ioctl()'s PIDFD_INFO_EXIT flag. Another summary has been provided by David Rheinsberg: > A pidfd can outlive the task it refers to, and thus user-space must > already be prepared that the task underlying a pidfd is gone at the time > they get their hands on the pidfd. For instance, resolving the pidfd to > a PID via the fdinfo must be prepared to read `-1`. > > Despite user-space knowing that a pidfd might be stale, several kernel > APIs currently add another layer that checks for this. In particular, > SO_PEERPIDFD returns `EINVAL` if the peer-task was already reaped, > but returns a stale pidfd if the task is reaped immediately after the > respective alive-check. > > This has the unfortunate effect that user-space now has two ways to > check for the exact same scenario: A syscall might return > EINVAL/ESRCH/... *or* the pidfd might be stale, even though there is no > particular reason to distinguish both cases. This also propagates > through user-space APIs, which pass on pidfds. They must be prepared to > pass on `-1` *or* the pidfd, because there is no guaranteed way to get a > stale pidfd from the kernel. > Userspace must already deal with a pidfd referring to a reaped task as > the task may exit and get reaped at any time will there are still many > pidfds referring to it. In order to allow handing out reaped pidfd SO_PEERPIDFD needs to ensure that PIDFD_INFO_EXIT information is available whenever a pidfd for a reaped task is created by PIDFD_INFO_EXIT. The uapi promises that reaped pidfds are only handed out if it is guaranteed that the caller sees the exit information: TEST_F(pidfd_info, success_reaped) { struct pidfd_info info = { .mask = PIDFD_INFO_CGROUPID | PIDFD_INFO_EXIT, }; /* * Process has already been reaped and PIDFD_INFO_EXIT been set. * Verify that we can retrieve the exit status of the process. */ ASSERT_EQ(ioctl(self->child_pidfd4, PIDFD_GET_INFO, &info), 0); ASSERT_FALSE(!!(info.mask & PIDFD_INFO_CREDS)); ASSERT_TRUE(!!(info.mask & PIDFD_INFO_EXIT)); ASSERT_TRUE(WIFEXITED(info.exit_code)); ASSERT_EQ(WEXITSTATUS(info.exit_code), 0); } To hand out pidfds for reaped processes we thus allocate a pidfs entry for the relevant sk->sk_peer_pid at the time the sk->sk_peer_pid is stashed and drop it when the socket is destroyed. This guarantees that exit information will always be recorded for the sk->sk_peer_pid task and we can hand out pidfds for reaped processes. - Hand a pidfd to the coredump usermode helper process. Give userspace a way to instruct the kernel to install a pidfd for the crashing process into the process started as a usermode helper. There's still tricky race-windows that cannot be easily or sometimes not closed at all by userspace. There's various ways like looking at the start time of a process to make sure that the usermode helper process is started after the crashing process but it's all very very brittle and fraught with peril. The crashed-but-not-reaped process can be killed by userspace before coredump processing programs like systemd-coredump have had time to manually open a PIDFD from the PID the kernel provides them, which means they can be tricked into reading from an arbitrary process, and they run with full privileges as they are usermode helper processes. Even if that specific race-window wouldn't exist it's still the safest and cleanest way to let the kernel provide the pidfd directly instead of requiring userspace to do it manually. In parallel with this commit we already have systemd adding support for this in [1]. When the usermode helper process is forked we install a pidfd file descriptor three into the usermode helper's file descriptor table so it's available to the exec'd program. Since usermode helpers are either children of the system_unbound_wq workqueue or kthreadd we know that the file descriptor table is empty and can thus always use three as the file descriptor number. Note, that we'll install a pidfd for the thread-group leader even if a subthread is calling do_coredump(). We know that task linkage hasn't been removed yet and even if this @current isn't the actual thread-group leader we know that the thread-group leader cannot be reaped until @current has exited. - Allow to tell when a task has not been found from finding the wrong task when creating a pidfd. We currently report EINVAL whenever a struct pid has no tasked attached anymore thereby conflating two concepts: (1) The task has already been reaped. (2) The caller requested a pidfd for a thread-group leader but the pid actually references a struct pid that isn't used as a thread-group leader. This is causing issues for non-threaded workloads as in where they expect ESRCH to be reported, not EINVAL. So allow userspace to reliably distinguish between (1) and (2). - Make it possible to detect when a pidfs entry would outlive the struct pid it pinned. - Add a range of new selftests. Cleanups: - Remove unneeded NULL check from pidfd_prepare() for passed struct pid. - Avoid pointless reference count bump during release_task(). Fixes: - Various fixes to the pidfd and coredump selftests. - Fix error handling for replace_fd() when spawning coredump usermode helper. /* Testing */ gcc (Debian 14.2.0-19) 14.2.0 Debian clang version 19.1.7 (3) No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline No known conflicts. Merge conflicts with other trees No known conflicts. vfs-6.16-rc1.pidfs
Unfortunately this had to be rebased as this had patches in it who were also present in another branch under different hashes. Because I both merged them and exposed them as one set in -next this didn't get noticed. The patches here are trivial though. /* Summary */ This contains minor mount updates for this cycle: - mnt->mnt_devname can never be NULL so simplify the code handling that case. - Add a comment about concurrent changes during statmount() and listmount(). - Update the STATMOUNT_SUPPORTED macro. - Convert mount flags to an enum. /* Testing */ gcc (Debian 14.2.0-19) 14.2.0 Debian clang version 19.1.7 (3) No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline No known conflicts. Merge conflicts with other trees No known conflicts. vfs-6.16-rc1.mount
/* Summary */ This contains the usual selections of misc updates for this cycle. Features: - Use folios for symlinks in the page cache FUSE already uses folios for its symlinks. Mirror that conversion in the generic code and the NFS code. That lets us get rid of a few folio->page->folio conversions in this path, and some of the few remaining users of read_cache_page() / read_mapping_page(). - Try and make a few filesystem operations killable on the VFS inode->i_mutex level. - Add sysctl vfs_cache_pressure_denom for bulk file operations Some workloads need to preserve more dentries than we currently allow through out sysctl interface. A HDFS servers with 12 HDDs per server, on a HDFS datanode startup involves scanning all files and caching their metadata (including dentries and inodes) in memory. Each HDD contains approximately 2 million files, resulting in a total of ~20 million cached dentries after initialization. To minimize dentry reclamation, they set vfs_cache_pressure to 1. Despite this configuration, memory pressure conditions can still trigger reclamation of up to 50% of cached dentries, reducing the cache from 20 million to approximately 10 million entries. During the subsequent cache rebuild period, any HDFS datanode restart operation incurs substantial latency penalties until full cache recovery completes. To maintain service stability, more dentries need to be preserved during memory reclamation. The current minimum reclaim ratio (1/100 of total dentries) remains too aggressive for such workload. This patch introduces vfs_cache_pressure_denom for more granular cache pressure control. The configuration [vfs_cache_pressure=1, vfs_cache_pressure_denom=10000] effectively maintains the full 20 million dentry cache under memory pressure, preventing datanode restart performance degradation. - Avoid some jumps in inode_permission() using likely()/unlikely(). - Avid a memory access which is most likely a cache miss when descending into devcgroup_inode_permission(). - Add fastpath predicts for stat() and fdput(). - Anonymous inodes currently don't come with a proper mode causing issues in the kernel when we want to add useful VFS debug assert. Fix that by giving them a proper mode and masking it off when we report it to userspace which relies on them not having any mode. - Anonymous inodes currently allow to change inode attributes because the VFS falls back to simple_setattr() if i_op->setattr isn't implemented. This means the ownership and mode for every single user of anon_inode_inode can be changed. Block that as it's either useless or actively harmful. If specific ownership is needed the respective subsystem should allocate anonymous inodes from their own private superblock. - Raise SB_I_NODEV and SB_I_NOEXEC on the anonymous inode superblock. - Add proper tests for anonymous inode behavior. - Make it easy to detect proper anonymous inodes and to ensure that we can detect them in codepaths such as readahead(). Cleanups: - Port pidfs to the new anon_inode_{g,s}etattr() helpers. - Try to remove the uselib() system call. - Add unlikely branch hint return path for poll. - Add unlikely branch hint on return path for core_sys_select. - Don't allow signals to interrupt getdents copying for fuse. - Provide a size hint to dir_context for during readdir(). - Use writeback_iter directly in mpage_writepages. - Update compression and mtime descriptions in initramfs documentation. - Update main netfs API document. - Remove useless plus one in super_cache_scan(). - Remove unnecessary NULL-check guards during setns(). - Add separate separate {get,put}_cgroup_ns no-op cases. Fixes: - Fix typo in root= kernel parameter description. - Use KERN_INFO for infof()|info_plog()|infofc(). - Correct comments of fs_validate_description() - Mark an unlikely if condition with unlikely() in vfs_parse_monolithic_sep(). - Delete macro fsparam_u32hex() - Remove unused and problematic validate_constant_table(). - Fix potential unsigned integer underflow in fs_name(). - Make file-nr output the total allocated file handles. /* Testing */ gcc (Debian 14.2.0-19) 14.2.0 Debian clang version 19.1.7 (3) No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline No known conflicts. Merge conflicts with other trees This will have a merge conflict with the vfs freeze pull request sent as: https://lore.kernel.org/20250523-vfs-freeze-8e3934479cba@brauner that can be resolved as follows: vfs-6.16-rc1.misc
/* Summary */ This converts vboxfs from ->writepage() to ->writepages(). This was the last user of the ->writepage() method. So remove ->writepage() completely and all references to it. /* Testing */ gcc (Debian 14.2.0-19) 14.2.0 Debian clang version 19.1.7 (3) No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline No known conflicts. Merge conflicts with other trees No known conflicts. vfs-6.16-rc1.writepage
/* Summary */ This contains various filesystem freezing related work for this cycle: - Allow the power subsystem to support filesystem freeze for suspend and hibernate. Now all the pieces are in place to actually allow the power subsystem to freeze/thaw filesystems during suspend/resume. Filesystems are only frozen and thawed if the power subsystem does actually own the freeze. If the filesystem is already frozen by the time we've frozen all userspace processes we don't care to freeze it again. That's userspace's job once the process resumes. We only actually freeze filesystems if we absolutely have to and we ignore other failures to freeze. We could bubble up errors and fail suspend/resume if the error isn't EBUSY (aka it's already frozen) but I don't think that this is worth it. Filesystem freezing during suspend/resume is best-effort. If the user has 500 ext4 filesystems mounted and 4 fail to freeze for whatever reason then we simply skip them. What we have now is already a big improvement and let's see how we fare with it before making our lives even harder (and uglier) than we have to. - Allow efivars to support freeze and thaw Allow efivarfs to partake to resync variable state during system hibernation and suspend. Add freeze/thaw support. This is a pretty straightforward implementation. We simply add regular freeze/thaw support for both userspace and the kernel. efivars is the first pseudofilesystem that adds support for filesystem freezing and thawing. The simplicity comes from the fact that we simply always resync variable state after efivarfs has been frozen. It doesn't matter whether that's because of suspend, userspace initiated freeze or hibernation. Efivars is simple enough that it doesn't matter that we walk all dentries. There are no directories and there aren't insane amounts of entries and both freeze/thaw are already heavy-handed operations. If userspace initiated a freeze/thaw cycle they would need CAP_SYS_ADMIN in the initial user namespace (as that's where efivarfs is mounted) so it can't be triggered by random userspace. IOW, we really really don't care. /* Testing */ gcc (Debian 14.2.0-19) 14.2.0 Debian clang version 19.1.7 (3) No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline This has a merge conflict with mainline that can be resolved as follows: vfs-6.16-rc1.super
/* Summary */ This converts the bfs and omfs filesystems to the new mount api. /* Testing */ gcc (Debian 14.2.0-19) 14.2.0 Debian clang version 19.1.7 (3) No build failures or warnings were observed. /* Conflicts */ Merge conflicts with mainline No known conflicts. Merge conflicts with other trees No known conflicts. vfs-6.16-rc1.mount.api
USB serial updates for 6.16-rc1 Here are the USB serial updates for 6.16-rc1, including: - fix of an incorrect const cast - removal of a bogus read urb sanity check - support for a couple of new pl2303 device types All have been in linux-next with no reported issues.
Hi Wolfram, Here is a relatively small pull request for 6.16. It mainly includes cleanups, refactorings, some driver improvements, new bindings and just one new driver. A few patches intended for this merge window arrived in the past couple of weeks, but I chose to leave them out for now. If they mature and get enough testing, I may send a part 2 pull request next week. Perhaps I am being a bit too cautious, but because I have experienced a few build issues this release cycle, I want to improve the flow and avoid avoidable mistakes. I wish you a great weekend, Andi i2c-host updates for v6.16 Cleanups and refactorings - Many drivers switched to dev_err_probe() - Generic cleanups applied to designware, iproc, ismt, mlxbf, npcm7xx, qcom-geni, pasemi, and thunderx - davinci: declare I2C mangling support among I2C features - designware: clean up DTS handling - designware: fix PM runtime on driver unregister - imx: improve error logging during probe - lpc2k: improve checks in probe error path - xgene-slimpro: improve PCC shared memory handling - pasemi: improve error handling in reset, smbus clear, timeouts - tegra: validate buffer length during transfers - wmt: convert binding to YAML format Improvements and extended support: - microchip-core: add SMBus support - mlxbf: add support for repeated start in block transfers - mlxbf: improve timer configuration - npcm: attempt clock toggle recovery before failing init - octeon: add support for block mode operations - pasemi: add support for unjam device feature - riic: add support for bus recovery New device support: - MediaTek Dimensity 1200 (MT6893) - Sophgo SG2044 - Renesas RZ/V2N (R9A09G056) - Rockchip RK3528 - AMD ISP (new driver) Core changes: - i2c-core: add support for Write Disable-aware SPD
This is the pull request with interconnect changes for the v6.16-rc1 merge window. It contains core and driver changes. As always, the summary is in the signed tag. All patches have been in linux-next for a while. There are currently no Thanks, Georgi interconnect changes for 6.16 This pull request contains the interconnect changes for the 6.16-rc1 merge window. The core and driver changes are listed below. Core changes: - Add support for dynamic id allocation, that allows creating multiple instances of the same provider Driver changes: - Add driver for the EPSS L3 instances on SA8775P SoC - Add QoS support for SM8650 SoC - Add some missing nodes for SM8650 - Misc dt-binding style and indentation fixes Signed-off-by: Georgi Djakov <[email protected]>
LoongArch KVM changes for v6.16 1. Don't flush tlb if HW PTW supported. 2. Add LoongArch KVM selftests support.
Hi, please pull the following updates for btrfs. Apart from numerous cleanups, there are some performance improvements and one minor mount option update. There's one more radix-tree conversion (one remaining), and continued work towards enabling large folios (almost finished). Thanks. Performance: - extent buffer conversion to xarray gains throughput and runtime improvements on metadata heavy operations doing writeback (sample test shows +50% throughput, -33% runtime) - extent io tree cleanups lead to performance improvements by avoiding unnecessary searches or repeated searches - more efficient extent unpinning when committing transaction (estimated run time improvement 3-5%) User visible changes: - remove standalone mount option 'nologreplay', deprecated in 5.9, replacement is 'rescue=nologreplay' - in scrub, update reporting, add back device stats message after detected errors (accidentally removed during recent refactoring) Core: - convert extent buffer radix tree to xarray - in subpage mode, move block perfect compression out of experimental build - in zoned mode, introduce sub block groups to allow managing special block groups, like the one for relocation or tree-log, to handle some corner cases of ENOSPC - in scrub, simplify bitmaps for block tracking status - continued preparations for large folios - remove assertions for folio order 0 - add support where missing: compression, buffered write, defrag, hole punching, subpage, send - fix fsync of files with no hard links not persisting deletion - reject tree blocks which are not nodesize aligned, a precaution from 4.9 times - move transaction abort calls closer to the error sites - remove usage of some struct bio_vec internals - simplifications in extent map - extent IO cleanups and optimizations - error handling improvements - enhanced ASSERT() macro with optional format strings - cleanups - remove unused code - naming unifications, dropped __, added prefix - merge similar functions - use common helpers for various data structures
Hi Thomas, below is unchanged on purpose assuming you have permission to 'ssh' to the server. Please consider pulling the following changes since commit 0af2f6be1b4281385b618cb86ad946eded089ac8: Linux 6.15-rc1 (2025-04-06 13:11:33 -0700) are available in the Git repository at: ssh://[email protected]/pub/scm/linux/kernel/git/daniel.lezcano/linux tags/timers-v6.16-rc1 for you to fetch changes up to d204e391a0d83d73fc312e71fc62896c4d8bae79: clocksource/drivers/renesas-ostm: Unconditionally enable reprobe support (2025-05-16 13:33:11 +0200) - Add the System Timer Module driver for the S32G NXP platforms (Daniel Lezcano) - Convert the remaining text formatted DT bindings in schemas (Rob Herring) - Fix a Kconfig dependency on the atmel TCB driver to prevent a compilation warning when CONFIG_OF is disabled (Arnd Bergmann) - Fix self-pinging and support gettimeleft in the watchdog part of the tegra186 timer (Pohsun Su) - Add the Sophgo SG2044 ACLINT timer binding (Inochi Amaoto) - Add the EcoNet Timer HPT driver along with the DT bindings (Caleb James DeLisle) - Add the Renesas R9A09G056 compatible string bindings and enable reprobe support on the Renesas OSTM (Lab Prabhakar)
Hi Rafael, Please consider pulling the following changes since commit 82f2b0b97b36ee3fcddf0f0780a9a0825d52fec3: Linux 6.15-rc6 (2025-05-11 14:54:11 -0700) are available in the Git repository at: ssh://[email protected]/pub/scm/linux/kernel/git/thermal/linux.git tags/thermal-v6.16-rc1 for you to fetch changes up to e23cba0ab49a9cf95e9bc3a86cfbf336b0e285f6: thermal/drivers/airoha: Fix spelling mistake (2025-05-16 12:50:01 +0200) - Make the Hisilicon driver to compile by default when ARCH_HISI is set (Krzysztof Kozlowski) - Cleanup printk format with use of %pC instead of %pCn in the bcm2835 driver (Luca Ceresoli) - Fix variable naming coding style in the AmLogic driver (Enrique Isidoro Vazquez Ramos) - Fix missing debugfs entry removal on failure by using the devm_ variant in the LVTS driver (AngeloGioacchino Del Regno) - Remove the unused lvts_debugfs_exit() function as the devm variant introduced before takes care of removing the debugfs entry in the LVTS driver (Arnd Bergmann) - Add the Airoha EN7581 thermal sensor support along with its DT bindings (Christian Marangi) - Add ipq5018 compatible string DT binding, cleanup and add its suppot in the QCom Tsens driver driver (Sricharan Ramabadhran and George Moussalem) - Fix comments typos in the Airoha driver (Christian Marangi)
Hi Arnd, Thanks Christophe FSL SOC Changes for 6.16: - Various fixes and cleanups from Ioana on fsl-mc bus driver - Other misc fixes on fsl-mc bus driver - A build fix on DPAA2 driver - Some preparation work from Kees on qbman driver - Some cleanup on FSL qe interrupt driver init
Hi Rafael, Adds systemd service to run cpupower and changes binding's makefile to use -lcpupower. cpupower: add a systemd service to run cpupower cpupower: do not write DESTDIR to cpupower.service cpupower: do not call systemctl at install time cpupower: do not install files to /etc/default/ cpupower: change binding's makefile to use -lcpupower diff is attached. thanks, -- Shuah linux-cpupower-6.16-rc1 Adds systemd service to run cpupower and changes binding's makefile to use -lcpupower. cpupower: add a systemd service to run cpupower cpupower: do not write DESTDIR to cpupower.service cpupower: do not call systemctl at install time cpupower: do not install files to /etc/default/ cpupower: change binding's makefile to use -lcpupower
Hi, Second pull request with fixes for introduced driver in previous pull. On top of the previous pull request. Best regards, Krzysztof Memory controller drivers for v6.16, part two Few fixes for STM32 Octo Memory Manager driver introduced for the same cycle in few commits before. These fixes were reported only after wider coverage by bots through linux-next exposure.
Hi, On top of previous drivers pul request. Best regards, Krzysztof Samsung SoC drivers for v6.16, part two Add CPU hotplug support on Google GS101 by toggling respective bits in secondary PMU intr block (Power Management Unit (PMU) Interrupt Generation) from the main PMU driver.
This is my first pull request after picking up configfs [1], and my first pull request to you. I hope I got everything right! Summary ======= This pull request contains configfs changes for v6.16: - Allow creation of rw files with custom permissions. This allows drivers to better protect secrets written through configfs. - Fix a bug where an error condition did not cause an early return while populating attributes. - Report ENOMEM rather than EFAULT when kvasprintf() fails in config_item_set_name(). - Add a Rust API for configfs. This allows Rust drivers to use configfs through a memory safe interface. Merge conflicts with other trees This contains a merge conflict with drm-nova: configfs-for-v6.16
Chinese translation docs for 6.16-rc1 This is the Chinese translation subtree for 6.16-rc1. It just includes few changes: - MAINTAINERS: Change Yanteng's email address - docs/zh_CN: Add how-to of Chinese translation - Add networking translation index - Docs/zh_CN: Translate msg_zerocopy.rst to Simplified Chinese Above patches are tested by 'make htmldocs/pdfdocs' Signed-off-by: Alex Shi <[email protected]>
Samsung pinctrl drivers changes for v6.16 Refactor the driver suspend and resume to handle Google GS101 EINT GPIO pin banks and add the alive pin bank for that SoC.
Hi Greg, (regulator support for Lenovo T14s laptop). These were on mailing lists for some time (one even from 2024) and they were never picked up, acknowledged nor rejected. Best regards, Krzysztof Mux drivers for v6.16 Few cleanups and fixes for the mux drivers: 1. Simplify with spi_get_device_match_data(). 2. Fix -Wunused-const-variable and -Wvoid-pointer-to-enum-cast warnings. 3. GPIO mux: add optional regulator for Lenovo T14s laptop headset. 4. MMIO mux: avoid using syscon's device_node_to_regmap(), due to changes in the syscon code.
Samsung SoC clock drivers changes for 6.16 1. ExynosAutov920: - Add CPU cluster CL0, CL1 and CL2 clock controllers. - Fix HSI1 USBDRD clock parents. 2. Minor cleanup for Exynos4 drivers.
Hi Miguel, Most of them are new methods for Vec, required by binder and nova-core. All commits have been in linux-next for at least a few days -- no conflicts expected. - Danilo Alloc changes for v6.16 Box: - support for type coercion, e.g. `Box<T>` to `Box<dyn U>` if T implements U Vec: - implement new methods (prerequisites for nova-core and binder) - Vec::truncate() - Vec::resize() - Vec::clear() - Vec::pop() - Vec::push_within_capacity() - new error type: PushError - Vec::drain_all() - Vec::retain() - Vec::remove() - new error type: RemoveError - Vec::insert_within_capacity - new error type: InsertError - simplify Vec::push() using Vec::spare_capacity_mut() - split Vec::set_len() into Vec::inc_len() and Vec::dec_len() - add type invariant Vec::len() <= Vec::capacity - simplify Vec::truncate() using Vec::dec_len()
Hi, This PR has a couple of minor checkpatch warnings on 75 characters, which I have opted to ignore due to breaking URL or warning message. TI SoC driver updates for v6.16 - ti_sci: Bug fix in CPU latency conversion from us to ms for TISCI protocol - k3-socinfo: Add JTAG ID for AM62LX - Code cleanups: wkup_m3_ipc: Use dev_err_probe, k3-ringacc: use device_match_of_probe and knav_qmss_queue: drop unnecessary NULL check
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, couple of places where regex related eeprom compatible lookup failed (but dtbs_check passes). More importantly, J721S2 GPU commits are based off drm-next tree commit 2c01d9099859 which has been in the queue for a few weeks now - so this warns for commit 2c01d9099859 not being present and compatibles img,img-axe-1-16m, img,img-bxs-4-64, ti,j721s2-gpu, img,img-rogue not being present. I chose to pick them up considering the benefit our community has with the driver support now being enabled in upstream. This PR also has fixes that finally makes the ti dts tree almost clear of all dtbs_check warnings (pending one fixup in the serdes binding which is pending to be picked up). Please let me know if there are concerns, else: TI K3 device tree updates for v6.16 Generic Fixups/Cleanups: * am62*: emmc - drop disable-wp, Add bootphase tags to support MMC boot SoC Specific features and Fixes: AM62Ax: * C7x and R5F support added * Bug fix for emmc clock to point to default * CPUFreq thermal throttling on thermal alert AM62P5: * Add RNG Node (common to J722s) * Bug fix for emmc clock to point to default (common to J722S) AM625: * Wakeup R5 node * Bug fix for emmc clock to point to default * PRUSS-M support * New GPU bindings AM64: * Switch to 64-bit address space for PCIe0 * Add PCIe control nodes for main_conf region * Reserve timer nodes used by MCU F/w. AM65: * MMC: Add missing delay timing values for SDR and legacy modes * Add compatible for AM65x syscon and PCIe control properties (dtbs_check fixes) J7200: * PCIe control node to scm_conf, switch to 64-bit address space for PCIe1. J721E: * PCIe control node to scm_conf, switch to 64-bit address space for PCIe0,1. J721S2: * GPU node for Imagination Tech Rouge BXS GPU. * PCIe control node to scm_conf, switch to 64-bit address space for PCIe1. J722s/AM67A: * Switch serdes status to be enabled by board file than at SoC level. * Switch to 64-bit address space for PCIe0. J784S4/J742S2/AM69: * Add ASPCIE0 and enable output for PCIe1 * Fix length of serdes_ln_ctrl. * Switch to 64-bit address space for PCIe0,1. Board Specific: AM62Ax: * SK: co-processors C7x, R5, PWM support added * phycore-som: co-processors C7x, R5 AM62P5: * Add Toradex Verdin AM62P boards with Dahlia, Ivy, Mallow and Yavia suppor= t. * SK: Add remote processor support, PWM AM625: * Add BeagleBoard.org PocketBeagle-2 support * phycore-som: Enable R5F support * Verdin: Add eeprom compatible fallback * SK: Enable PWM, voltage supplies, clock, i2cmux rename for camera overlays (dtbs_check fixes) * BeaglePlay: Add voltage supplies for camera overlays (dtbs_check fixes) * phyboard-lyra: Add cooling maps for fan * emmc bug fixes: add non-removable flag for eMMC. AM65: * EVM: Add missing power supply description ofr Rocktech panel (dtbs_check fixes) J721E: * EVM: Enable OSPI1 * EVM/SK: Dt nodes description for mandatory power suplpies for panel and sensors (dtbs_check fixes) J721S2/AM68: * Add phyBOARD-Izar-AM68x * am68-SK: Fix regulator hierarchy J722s/AM67A: * EVM: Add mux controls for CSI2, power regulator nodes and add overlays for quad IMX219 and TEVI OV5640. * BeagleY-AI: Add bootph for main_gpio1 J784S4/J742S2/AM69: * usxgmii expansion board: Drop un-necessary pinctrl-names * evm: Add overlay for USB0 Type-A option
Thanks, Jens AMD-TEE driver updates for v6.16 - Sort header includes - Use pr_fmt
Thanks, Jens Small TEE updates for v6.16 - Remove an unnecessary NULL check before release_firmware() in the OP-TEE driver - Prevent a size wrap in the TEE subsystem. The wrap would have been caught later in the code so no security consequences.
Hi Arnd, Rest of memory controller drivers. Note: this pull *does not* contain previous Renesas memctrl drivers, so please pull *both*. Best regards, Krzysztof Memory controller drivers for v6.16 1. Mediatek: Add support for MT6893 MTK SMI. 2. STM32: Add new driver for STM32 Octo Memory Manager (OMM), which manages muxing between two OSPI busses. 3. Several cleanups and minor improvements (OMAP GPMC, Kconfig entries, BT1 L2).
Hi Mark, Feel free to pull stable tag with Renesas PRC IF memory controller driver changes exposing interface for the SPI driver: https://lore.kernel.org/all/[email protected]/ Hi Arnd, Best regards, Krzysztof Renesas memory controller drivers for v6.16 Improvements and new device support for the Renesas RPC IF memory controller driver: 1. Minor cleanup and improvements. 2. Refactor the driver to accommodate for newly added Renesas RZ/G3E support: - Acquire two resets instead of only one, - Add RZ/G3E xSPI support with different register layout and its own, new interface for Renesas SPI.
T-HEAD clock changes for v6.16 Add clock support for the Video Output (VO) subsystem in the T-HEAD TH1520 SoC. This includes the device tree bindings for the VO clock controller as well as extending the TH1520 clk driver to provide clock functionality for the VO subsystem. Signed-off-by: Drew Fustini <[email protected]>
Hi Arnd, Here are our device tree updates for 6.16, details are in the signed tag. As usual, these have been part of -next for a while already. Thanks, Sven Apple SoC Device Tree updates for 6.16: - A-series SoCs: CPU cache information has been added to device trees - M-series SoCs: SPMI controller and SPMI NVMEM nodes have been added
i.MX clock changes for 6.16 - Add video PLL clocks to both i.MX8MM and i.MX8MP while dropping the numeral suffix. - Add imx_anatop_get_clk_hw helper - Add anatop clock providers for i.MX8M[MNP] - Drop ccm_ prefix from base in i.MX8MP clock provider - Document bindings for PLLs in imx8m-clock schema
Hi Miguel, Here is the first pin-init pull request! It contains more changes than I expected the first PR to have, but the new CI discovered a few smaller issues and I also got a contribution. All commits have been in linux-next for a few days. The earlier commits have been in linux-next for a few weeks. No conflicts expected. --- Cheers, Benno pin-init changes for v6.16 Added: - 'Wrapper<T>' trait for creating pin-initializers for wrapper structs with a structurally pinned value such as 'UnsafeCell<T>' or 'MaybeUninit<T>'. - 'MaybeZeroable' derive macro to try to derive 'Zeroable', but not error if not all fields implement it. This is needed to derive 'Zeroable' for all bindgen-generated structs. - 'unsafe fn cast_[pin_]init()' functions to unsafely change the initialized type of an initializer. These are utilized by the 'Wrapper<T>' implementations. Changed: - Added support for visibility in 'Zeroable' derive macro. - Added support for 'union's in 'Zeroable' derive macro. Upstream dev news: - The CI has been streamlined & some bugs with it have been fixed. I also added new workflows to check if the user-space version and the one in the kernel tree have diverged. - I also started to use the issues [1] tab to keep track of any problems or unexpected/unwanted things. This should help folks report and diagnose issues w.r.t. 'pin-init' better. [1]: https://github.com/rust-for-linux/pin-init/issues
Hi Miguel, from rust. Rust xarray API for v6.16 Introduce Rust support for the `xarray` data structure: - Add a rust abstraction for the `xarray` data structure. This abstraction allows rust code to leverage the `xarray` to store types that implement `ForeignOwnable`. This support is a dependency for memory backing feature of the rust null block driver, which is waiting to be merged. - Set up an entry in MAINTAINERS for the xarray rust support. Patches will go to the new rust xarray tree and then via the rust subsystem tree for now. `kernel` crate: - Allow `ForeignOwnable` to carry information about the pointed-to type. This helps asserting alignment requirements for the pointer passed to the foreign language.
Hi Ingo & Peter, Here are the Rust changes related to task and schedule, I figure the best route would be via tip/sched/core hence I send this pull request. Let me know if you want to do this differently. Same as lockdep changes, I send this pull request in the format of patchset, but here are also the tag and pull-request message. Regards, Boqun Rust task & schedule changes for v6.16: - Make Task, CondVar and PollCondVar methods inline to avoid unnecessary function calls - Add might_sleep() support for Rust code: Rust's "#[track_caller]" mechanism is used so that Rust's might_sleep() doesn't need to be defined as a macro.
Hi Ingo & Peter, changes in patchset, but I also created a tag and the pull-request message in case you want to directly pull. Thanks! Regards, Boqun Lockdep changes for v6.16: - Move hlock_equal() only under CONFIG_LOCKDEP_SMALL=y - Prevent abuse of lockdep subclass in __lock_acquire() - Add # of dynamic keys stat to /proc/lockdep_stats
Hi Lee, That's the stable tag for you to base MFD patches on top. Hi Arnd, tree. Best regards, Krzysztof Samsung SoC drivers for v6.16 Several improvements to Exynos ACPM (Alive Clock and Power Manager) driver: 1. Handle communication timeous better. 2. Avoid sleeping, so users (PMIC) can still transfer during system shutdown. 3. Fix reading longer messages from them firmware. 4. Deferred probe improvements. 5. Model the user of ACPM - PMIC - a as child device and export devm_acpm_get_by_node() for such use case.
Hi Russell, please consider pulling the following git branch for ARM generic entry, for v6.16 see below. This branch is identical to the v6 patch series: https://lore.kernel.org/linux-arm-kernel/[email protected]/ It's possible to squash patches, even all of them into one big all-or-nothing patch, given the not very gradual nature generic entry conversion seems to have. Main upsides and downsides are in the signed tag. This series contains the ACKs from tglx and paulmck. What's new apart from rebasing is the two following remasks in the signed tag: - Makes it possible to move ahead with ARCH_WANTS_NO_INSTR. - Good base for CONFIG_ARCH_HAS_RESCHED_LAZY which is a good base for CONFIG_PREEMPT_RT. I think Arnd may be working on this and this could be a good starting point for PREEMPT_RT. Yours, Linus Walleij Main upsides: - Using the same common entry as used by x86_64, RISCV, S390 and Loongarch, probably soon also ARM64. - Moves ARM away from the obsoleted context tracker entry points user_enter_callable() and user_exit_callable() are now only used by ARM, CSKY and Xtensa. - Solves a few lockdep warnings in the process. - Converts a bit of assembly into C. - Makes it possible to move ahead with ARCH_WANTS_NO_INSTR. - Good base for CONFIG_ARCH_HAS_RESCHED_LAZY which is a good base for CONFIG_PREEMPT_RT. Main downside: - Slightly increased system call overhead, around 6% in measurements.
From: Bartosz Golaszewski <[email protected]> Here is the tag containing the driver core dependencies pulled into the GPIO tree to enable picking up the final commit from Andy's series[0]. Bart [0] https://lore.kernel.org/all/[email protected]/ Immutable tag for the driver core tree to pull from devres: Move devm_*_action*() APIs to devres.h devres: Add devm_is_action_added() helper
From: Bartosz Golaszewski <[email protected]> Hi Mark, apply the second patch[1] in the series using gpiod_is_equal() in regulator core. Bartosz [1] https://lore.kernel.org/all/[email protected]/ Immutable tag for the regulator tree to pull from gpio: provide gpiod_is_equal()