Probes for v6.18: - fprobe: Performance enhancement of the fprobe using rhltable . fprobe: use rhltable for fprobe_ip_table. The fprobe IP table has been converted to use an rhltable for improved performance when dealing with a large number of probed functions. . Fix a suspicious RCU usage warning of the above change in the fprobe entry handler. . Remove an unused local variable of the above change. . Fix to initialize fprobe_ip_table in core_initcall(). - wprobe: Introduce a watchpoint probe event based on hw_breakpoint. . Add a new watchpoint probe that uses hardware breakpoints to monitor memory accesses. This allows for tracing memory reads and writes at specified addresses. . Add a basic add/remove test case for wprobe. . Add a syntax test case for wprobe. - probes: Cleanup probe event subsystems. . uprobe/eprobe: Allocate traceprobe_parse_context per probe instead of each probe argument parsing. This reduce memory allocation/free of temporary working memory. . uprobes: Cleanup code using __free(). . eprobes: Cleanup code using __free(). . probes: Cleanup code using __free(trace_probe_log_clear) to clear error log automatically. . probes: Replace strcpy() with memcpy() in __trace_probe_log_err(). probes-v6.18-2
development cycle. No merge conflicts are present and none are anticipated. Thanks. Patch series in this pull request: - The 3 patch series "ida: Remove the ida_simple_xxx() API" from Christophe Jaillet completes the removal of this legacy IDR API. - The 9 patch series "panic: introduce panic status function family" from Jinchao Wang provides a number of cleanups to the panic code and its various helpers, which were rather ad-hoc and scattered all over the place. - The 5 patch series "tools/delaytop: implement real-time keyboard interaction support" from Fan Yu adds a few nice user-facing usability changes to the delaytop monitoring tool. - The 3 patch series "efi: Fix EFI boot with kexec handover (KHO)" from Evangelos Petrongonas fixes a panic which was happening with the combination of EFI and KHO. - The 2 patch series "Squashfs: performance improvement and a sanity check" from Phillip Lougher teaches squashfs's lseek() about SEEK_DATA/SEEK_HOLE. A mere 150x speedup was measured for a well-chosen microbenchmark. - Plus another 50-odd singleton patches all over the place.
RCU pull request for v6.18 This pull request contains the following branches, non-octopus merged: Documentation updates: - Update whatisRCU.rst and checklist.rst for recent RCU API additions. - Fix RCU documentation formatting and typos. - Replace dead Ottawa Linux Symposium links in RTFP.txt. Miscellaneous RCU updates: - Document that rcu_barrier() hurries RCU_LAZY callbacks. - Remove redundant interrupt disabling from rcu_preempt_deferred_qs_handler(). - Move list_for_each_rcu from list.h to rculist.h, and adjust the include directive in kernel/cgroup/dmem.c accordingly. - Make initial set of changes to accommodate upcoming system_percpu_wq changes. SRCU updates: - Create an srcu_read_lock_fast_notrace() for eventual use in tracing, including adding guards. - Document the reliance on per-CPU operations as implicit RCU readers in __srcu_read_{,un}lock_fast(). - Document the srcu_flip() function's memory-barrier D's relationship to SRCU-fast readers. - Remove a redundant preempt_disable() and preempt_enable() pair from srcu_gp_start_if_needed(). Torture-test updates: - Fix jitter.sh spin time so that it actually varies as advertised. It is still quite coarse-grained, but at least it does now vary. - Update torture.sh help text to include the not-so-new --do-normal parameter, which permits (for example) testing KCSAN kernels without doing non-debug kernels. - Fix a number of false-positive diagnostics that were being triggered by rcutorture starting before boot completed. Running multiple near-CPU-bound rcutorture processes when there is only the boot CPU is after all a bit excessive. - Substitute kcalloc() for kzalloc(). - Remove a redundant kfree() and NULL out kfree()ed objects.
rpmsg updates for v6.18 Clean up the dev_pm_domain integration in rpmsg core. Correct module aliases for the rpmsg char driver. Transition Qualcomm SMD and GLINK drivers to strscpy() and fix the regression in legacy code for acquiring outgoing interrupts using the non-mailbox based mechanism.
remoteproc updates for v6.18 Enable coredump support for the i.MX HiFi core remoteproc, and clean up the i.MX remoteproc driver. Introduce remoteprocs on the Qualcomm Milos platform. Gracefully shut own the ADSP remoteproc when bootloader has loaded the "Lite" firmware on X Elite. Improve the resource handover procedure to avoid possibly duplicate handling. Transition the TI DA8xx, TI Keystone, and TI Wakeup M3 remoteproc drivers to handle resources using devres.
please pull the latest printk changes from - Add KUnit test for the printk ring buffer. - Fix the check of the maximal record size which is allowed to be stored into the printk ring buffer. It prevents corruptions of the ring buffer. Note that printk() is on the safe side. The messages are limited by 1kB buffer and are always small enough for the minimal log buffer size 4kB, see CONFIG_LOG_BUF_SHIFT definition.
IOMMU Updates for Linux v6.18: Including: - Inte VT-d: - IOMMU driver updated to the latest VT-d specification. - Don't enable PRS if PDS isn't supported. - Replace snprintf with scnprintf. - Fix legacy mode page table dump through debugfs. - Miscellaneous cleanups. - AMD-Vi: - Support kdump boot when SNP is enabled. - Apple-DART: - 4-level page-table support. - RISC-V IOMMU: - ACPI support. - Small number of miscellaneous cleanups and fixes.
cycle, thanks. Conflicts which I am seeing at this time are: arch/riscv/include/asm/pgtable.h, vs mainline: https://lkml.kernel.org/r/aNU8moQVmqvduSPU@sirena.org.uk Please just drop the mm.git change and use Paul's version. There was some wire-crossing here. fs/bcachefs/darray.c, vs mainline: fs/bcachefs/util.h, vs mainline: Please drop the attempted bcachefs changes. rust/kernel/alloc.rs, vs mainline: https://lkml.kernel.org/r/20250818122053.355aab17@canb.auug.org.au Possible upcoming conflicts and their linux-next resolutions are: rust/kernel/alloc/allocator.rs, vs drm tree: https://lkml.kernel.org/r/20250813111151.6a261ca1@canb.auug.org.au rust/kernel/alloc/allocator_test.rs, vs rust-alloc tree: https://lkml.kernel.org/r/20250826173041.3140da7b@canb.auug.org.au rust/kernel/alloc/kbox.rs, vs drm-rust tree: https://lkml.kernel.org/r/20250905124634.68da9a1e@canb.auug.org.au rust/kernel/alloc/allocator.rs, vs drm-rust tree: https://lkml.kernel.org/r/20250905125139.109081b2@canb.auug.org.au Documentation/filesystems/porting.rst, vs fs-next tree: https://lkml.kernel.org/r/aMhQ6Po0hAIyB0dM@sirena.org.uk Documentation/filesystems/porting.rst, vs fs-next tree: https://lkml.kernel.org/r/aNPGHEYMk-6vFJlW@finisterre.sirena.org.uk Summary of significant series in this pull request: - The 3 patch series "mm, swap: improve cluster scan strategy" from Kairui Song improves performance and reduces the failure rate of swap cluster allocation. - The 4 patch series "support large align and nid in Rust allocators" from Vitaly Wool permits Rust allocators to set NUMA node and large alignment when perforning slub and vmalloc reallocs. - The 2 patch series "mm/damon/vaddr: support stat-purpose DAMOS" from Yueyang Pan extend DAMOS_STAT's handling of the DAMON operations sets for virtual address spaces for ops-level DAMOS filters. - The 3 patch series "execute PROCMAP_QUERY ioctl under per-vma lock" from Suren Baghdasaryan reduces mmap_lock contention during reads of /proc/pid/maps. - The 2 patch series "mm/mincore: minor clean up for swap cache checking" from Kairui Song performs some cleanup in the swap code. - The 11 patch series "mm: vm_normal_page*() improvements" from David Hildenbrand provides code cleanup in the pagemap code. - The 5 patch series "add persistent huge zero folio support" from Pankaj Raghav provides a block layer speedup by optionalls making the huge_zero_pagepersistent, instead of releasing it when its refcount falls to zero. - The 3 patch series "kho: fixes and cleanups" from Mike Rapoport adds a few touchups to the recently added Kexec Handover feature. - The 10 patch series "mm: make mm->flags a bitmap and 64-bit on all arches" from Lorenzo Stoakes turns mm_struct.flags into a bitmap. To end the constant struggle with space shortage on 32-bit conflicting with 64-bit's needs. - The 2 patch series "mm/swapfile.c and swap.h cleanup" from Chris Li cleans up some swap code. - The 7 patch series "selftests/mm: Fix false positives and skip unsupported tests" from Donet Tom fixes a few things in our selftests code. - The 7 patch series "prctl: extend PR_SET_THP_DISABLE to only provide THPs when advised" from David Hildenbrand "allows individual processes to opt-out of THP=always into THP=madvise, without affecting other workloads on the system". It's a long story - the [1/N] changelog spells out the considerations. - The 11 patch series "Add and use memdesc_flags_t" from Matthew Wilcox gets us started on the memdesc project. Please see https://kernelnewbies.org/MatthewWilcox/Memdescs and https://blogs.oracle.com/linux/post/introducing-memdesc. - The 3 patch series "Tiny optimization for large read operations" from Chi Zhiling improves the efficiency of the pagecache read path. - The 5 patch series "Better split_huge_page_test result check" from Zi Yan improves our folio splitting selftest code. - The 2 patch series "test that rmap behaves as expected" from Wei Yang adds some rmap selftests. - The 3 patch series "remove write_cache_pages()" from Christoph Hellwig removes that function and converts its two remaining callers. - The 2 patch series "selftests/mm: uffd-stress fixes" from Dev Jain fixes some UFFD selftests issues. - The 3 patch series "introduce kernel file mapped folios" from Boris Burkov introduces the concept of "kernel file pages". Using these permits btrfs to account its metadata pages to the root cgroup, rather than to the cgroups of random inappropriate tasks. - The 2 patch series "mm/pageblock: improve readability of some pageblock handling" from Wei Yang provides some readability improvements to the page allocator code. - The 11 patch series "mm/damon: support ARM32 with LPAE" from SeongJae Park teaches DAMON to understand arm32 highmem. - The 4 patch series "tools: testing: Use existing atomic.h for vma/maple tests" from Brendan Jackman performs some code cleanups and deduplication under tools/testing/. - The 2 patch series "maple_tree: Fix testing for 32bit compiles" from Liam Howlett fixes a couple of 32-bit issues in tools/testing/radix-tree.c. - The 2 patch series "kasan: unify kasan_enabled() and remove arch-specific implementations" from Sabyrzhan Tasbolatov moves KASAN arch-specific initialization code into a common arch-neutral implementation. - The 3 patch series "mm: remove zpool" from Johannes Weiner removes zspool - an indirection layer which now only redirects to a single thing (zsmalloc). - The 2 patch series "mm: task_stack: Stack handling cleanups" from Pasha Tatashin makes a couple of cleanups in the fork code. - The 37 patch series "mm: remove nth_page()" from David Hildenbrand makes rather a lot of adjustments at various nth_page() callsites, eventually permitting the removal of that undesirable helper function. - The 2 patch series "introduce kasan.write_only option in hw-tags" from Yeoreum Yun creates a KASAN read-only mode for ARM, using that architecture's memory tagging feature. It is felt that a read-only mode KASAN is suitable for use in production systems rather than debug-only. - The 3 patch series "mm: hugetlb: cleanup hugetlb folio allocation" from Kefeng Wang does some tidying in the hugetlb folio allocation code. - The 12 patch series "mm: establish const-correctness for pointer parameters" from Max Kellermann makes quite a number of the MM API functions more accurate about the constness of their arguments. This was getting in the way of subsystems (in this case CEPH) when they attempt to improving their own const/non-const accuracy. - The 7 patch series "Cleanup free_pages() misuse" from Vishal Moola fixes a number of code sites which were confused over when to use free_pages() vs __free_pages(). - The 3 patch series "Add Rust abstraction for Maple Trees" from Alice Ryhl makes the mapletree code accessible to Rust. Required by nouveau and by its forthcoming successor: the new Rust Nova driver. - The 2 patch series "selftests/mm: split_huge_page_test: split_pte_mapped_thp improvements" from David Hildenbrand adds a fix and some cleanups to the thp selftesting code. - The 14 patch series "mm, swap: introduce swap table as swap cache (phase I)" from Chris Li and Kairui Song is the first step along the path to implementing "swap tables" - a new approach to swap allocation and state tracking which is expected to yield speed and space improvements. This patchset itself yields a 5-20% performance benefit in some situations. - The 3 patch series "Some ptdesc cleanups" from Matthew Wilcox utilizes the new memdesc layer to clean up the ptdesc code a little. - The 3 patch series "Fix va_high_addr_switch.sh test failure" from Chunyu Hu fixes some issues in our 5-level pagetable selftesting code. - The 2 patch series "Minor fixes for memory allocation profiling" from Suren Baghdasaryan addresses a couple of minor issues in relatively new memory allocation profiling feature. - The 3 patch series "Small cleanups" from Matthew Wilcox has a few cleanups in preparation for more memdesc work. - The 2 patch series "mm/damon: add addr_unit for DAMON_LRU_SORT and DAMON_RECLAIM" from Quanmin Yan makes some changes to DAMON in furtherance of supporting arm highmem. - The 2 patch series "selftests/mm: Add -Wunreachable-code and fix warnings" from Muhammad Anjum adds that compiler check to selftests code and fixes the fallout, by removing dead code. - The 10 patch series "Improvements to Victim Process Thawing and OOM Reaper Traversal Order" from zhongjinji makes a number of improvements in the OOM killer: mainly thawing a more appropriate group of victim threads so they can release resources. - The 5 patch series "mm/damon: misc fixups and improvements for 6.18" from SeongJae Park is a bunch of small and unrelated fixups for DAMON. - The 7 patch series "mm/damon: define and use DAMON initialization check function" from SeongJae Park implement reliability and maintainability improvements to a recently-added bug fix. - The 2 patch series "mm/damon/stat: expose auto-tuned intervals and non-idle ages" from SeongJae Park provides additional transparency to userspace clients of the DAMON_STAT information. - The 2 patch series "Expand scope of khugepaged anonymous collapse" from Dev Jain removes some constraints on khubepaged's collapsing of anon VMAs. It also increases the success rate of MADV_COLLAPSE against an anon vma. - The 2 patch series "mm: do not assume file == vma->vm_file in compat_vma_mmap_prepare()" from Lorenzo Stoakes moves us further towards removal of file_operations.mmap(). This patchset concentrates upon clearing up the treatment of stacked filesystems. - The 6 patch series "mm: Improve mlock tracking for large folios" from Kiryl Shutsemau provides some fixes and improvements to mlock's tracking of large folios. /proc/meminfo's "Mlocked" field became more accurate. - The 2 patch series "mm/ksm: Fix incorrect accounting of KSM counters during fork" from Donet Tom fixes several user-visible KSM stats inaccuracies across forks and adds selftest code to verify these counters. - The 2 patch series "mm_slot: fix the usage of mm_slot_entry" from Wei Yang addresses some potential but presently benign issues in KSM's mm_slot handling.
asm-generic: updates for 6.18 Two small patches for the asm-generic header files: Varad Gautam improves the MMIO tracing to be faster when the tracepoints are built into the kernel but disabled, while Qi Xi updates the DO_ONCE logic so that clearing the WARN_ONCE() flags does not change the other DO_ONCE users.
These are the SoC updates for the 6.18 release on Arm and RISC-V platforms. With about 1150 non-merge changesets and 70000 lines added, this is one of the larger sets recently, and a lot of that comes from updates for the Qualcomm, NXP/Freescale and Apple platforms, which have both a significant number of new machines and other updates. There is one new RISC-V chip family in a separate branch, plus new SoCs in five existing families. We had 291 contributers in total, the ones with the most changesets are: 76 Krzysztof Kozlowski 35 Frank Li 35 Beleswar Padhi 29 Stephan Gerhold 29 Janne Grunau 27 Lad Prabhakar 21 Dmitry Baryshkov 21 AngeloGioacchino Del Regno 20 Nick Chan 18 Chen-Yu Tsai 18 Alexander Stein 17 Peng Fan 15 Rob Herring (Arm) 15 Neil Armstrong 13 Tao Ren 11 Mohammad Rafi Shaik 11 E Shattow 11 Anand Moon 11 Amirreza Zarrabi Overall dirstat: 0.6% Documentation/devicetree/bindings/arm/ 0.1% Documentation/devicetree/bindings/clock/ 0.2% Documentation/devicetree/bindings/pinctrl/ 0.1% Documentation/devicetree/bindings/soc/xilinx/ 0.5% Documentation/devicetree/bindings/ 0.2% Documentation/tee/ 0.5% arch/arm/boot/dts/allwinner/ 4.1% arch/arm/boot/dts/aspeed/ 0.1% arch/arm/boot/dts/broadcom/ 0.3% arch/arm/boot/dts/intel/ixp/ 0.1% arch/arm/boot/dts/microchip/ 2.7% arch/arm/boot/dts/nvidia/ 0.7% arch/arm/boot/dts/nxp/imx/ 0.2% arch/arm/boot/dts/nxp/ 0.6% arch/arm/boot/dts/qcom/ 0.7% arch/arm/boot/dts/st/ 0.1% arch/arm/boot/dts/ti/omap/ 0.1% arch/arm/boot/dts/ 0.1% arch/arm/mach-omap2/ 0.7% arch/arm/ 0.3% arch/arm64/boot/dts/allwinner/ 0.4% arch/arm64/boot/dts/amlogic/ 0.1% arch/arm64/boot/dts/apm/ 6.5% arch/arm64/boot/dts/apple/ 0.2% arch/arm64/boot/dts/broadcom/ 0.1% arch/arm64/boot/dts/cix/ 0.4% arch/arm64/boot/dts/exynos/axis/ 2.2% arch/arm64/boot/dts/exynos/ 15.4% arch/arm64/boot/dts/freescale/ 0.3% arch/arm64/boot/dts/intel/ 0.1% arch/arm64/boot/dts/marvell/ 1.2% arch/arm64/boot/dts/mediatek/ 0.5% arch/arm64/boot/dts/nuvoton/ 0.3% arch/arm64/boot/dts/nvidia/ 24.0% arch/arm64/boot/dts/qcom/ 3.1% arch/arm64/boot/dts/renesas/ 4.6% arch/arm64/boot/dts/rockchip/ 0.5% arch/arm64/boot/dts/st/ 8.5% arch/arm64/boot/dts/ti/ 2.0% arch/arm64/boot/dts/xilinx/ 0.4% arch/riscv/boot/dts/eswin/ 0.6% arch/riscv/boot/dts/microchip/ 0.1% arch/riscv/boot/dts/starfive/ 0.2% arch/riscv/boot/dts/ 1.1% drivers/clk/ 0.1% drivers/firmware/arm_scmi/vendors/imx/ 0.2% drivers/firmware/qcom/ 0.2% drivers/firmware/ 0.1% drivers/memory/tegra/ 0.3% drivers/nvme/host/ 0.5% drivers/reset/ 0.1% drivers/soc/apple/ 0.1% drivers/soc/fsl/qe/ 0.8% drivers/soc/qcom/ 0.3% drivers/soc/samsung/ 0.1% drivers/soc/tegra/fuse/ 0.1% drivers/soc/ 1.0% drivers/tee/optee/ 5.1% drivers/tee/qcomtee/ 1.1% drivers/tee/ 0.1% drivers/ 0.1% include/dt-bindings/memory/ 0.2% include/dt-bindings/ 0.3% include/linux/ 0.1% include/uapi/linux/ 1074 files changed, 70723 insertions(+), 17334 deletions(-)
Here is the i3c subsystem pull request for 6.18. Another controller driver has been added this cycle. We also have many improvements for the mipi-i3c-hci driver. I3C for 6.18 New driver: - Analog Devices I3C Controller Subsystem: - fix big-endian FIFO transfers - fix default I2C adapter timeout value Drivers: - dw: shutdown support - mipi-i3c-hci: Intel Wildcat Lake-U support, IOMMU support - renesas: RZ/V2H(P) and RZ/V2N support
Please a pair of x86/entry changes for 6.18-rc1. The FRED one adjusts the kernel to the latest spec. The spec change prevents attackers from abusing kernel entry points. The second one came about because of the LASS work[1]. It moves the vsyscall emulation code away from depending on X86_PF_INSTR which is not available on some CPUs. Those CPUs are pretty obscure these days, but this still seems like the right thing to do. It also makes this code consistent with some things that the LASS code is going to do. 1. https://lore.kernel.org/lkml/20250620135325.3300848-1-kirill.shutemov@linux.intel.com/ -- - Use RIP instead of X86_PF_INSTR for vsyscall emulation - Remove ENDBR64 from FRED entry points
is making TDX and kexec play nicely together. Before this, the memory encryption hardware (which doesn't respect cache coherency) could write back old cachelines on top of data in the new kernel, so kexec and TDX were made mutually exclusive. This removes the limitation. There is also some work to tighten up a hardware bug workaround and some MAINTAINERS updates. -- - Make TDX and kexec work together - Skip TDX bug workaround when the bug is not present - Update maintainers entries
Riel's work to get the INVLPGB instruction working. It just removes an open-coded TLB flush operation by using an existing helper. -- Change cpa_flush() to call flush_kernel_range() directly
a/v6.18-1 For: - Added a new V4L2 clock helper; - iris: Enable H.264/H.265 encoder support and fixes in iris driver common = code; - camss: add support for new SoC flavors; - New camera sensor drivers; - venus: add new SoC support; - tc358743: support more infoframe types; - Various fixes, driver improvements and cleanups; =20 Regards, Mauro --- [GIT PULL for v6.18] media updates
Backlight for v6.18 This set is comprised of a couple of small but important fixes and a number of clean-up and refactoring patches. The fixes correct an EPROM address for the LP8556 and improve memory allocation safety in the LED backlight driver. The remainder of the set is made up of refactoring work to the mp3309c driver and a series of patches to make a number of drivers more self-contained by including their own dependencies. Improvements & Fixes - Correct the EPROM start address for the LP8556 to align with the device's datasheet. - Use devm_kcalloc() in the LED backlight driver for safer array allocation with overflow protection. Cleanups & Refactoring - Drop an unnecessary call to pwm_apply_args() in the mp3309c driver. - Modernize struct initialization in the mp3309c driver by using a compound literal instead of memset. - Make numerous drivers self-contained by including necessary headers directly rather than relying on transitive includes from the core backlight header.
LEDs for v6.18 This submission is a mix of new features, a number of fixes, some clean-up/refactoring and a few Device Tree binding updates. The most significant changes include new device support for the IS31FL3236A and QNAP's status LEDs, a number of fixes for the Qualcomm flash, LP55xx, MAX77705 and QNAP MCU drivers, along with some generic LED consumer binding documentation and unification. New Support & Features - Add support for the IS31FL3236A LED driver, including an optional 22kHz PWM frequency setting. - Add support for the red and green status LEDs on QNAP MCU devices. Improvements & Fixes - Fix an issue in the MAX77705 driver where an error value was assigned but not returned. - Correctly update the torch current clamp setting in the Qualcomm flash LED driver to prevent unexpected clamping. - Add a separate register map for the PMI8998 to the Qualcomm flash LED driver to handle its unique register layout. - Fix the state numbering for the USB LED in the QNAP MCU driver to avoid command conflicts. - Correct the memory programming address calculation for non-paged devices like the LP5562 in the LP55xx driver. - Add Device Tree support to the generic led_get() function, allowing LEDs to be looked up by name. Cleanups & Refactoring - Fix a spelling mistake in the Kconfig help text for the BD2606MVV driver. - Use devm_mutex_init() in the IS31FL319x driver to simplify code. Device Tree Bindings Updates - Drop the redundant '-db' suffix from the IS31FL319x binding. - Introduce generic LED consumer bindings for referencing LEDs via phandles. - Unify the 'leds' property across several bindings to use the new generic consumer binding. - Convert the AMS AS3645A LED controller binding to the DT schema format.
MFD for v6.18 This round of updates contains a fair amount of new device support, a couple of fixes and some refactoring. The most notable additions include new drivers for Loongson's Security Engine, RNG and TPM, new drivers for TI's TPS6594 Power Button and BQ257xx Charger ICs. The rest of the set provides a return value check fix and a refactoring to use a more modern GPIO API for the VEXPRESS sysreg driver, the removal of a deprecated IRQ ACK function from the MC13xxx RTC driver and a new DT binding for the aforementioned TI BQ257xx charger. New Support & Features - Add a suite of drivers for the Loongson Security Engine, including the core controller, a Random Number Generator (RNG) and Trusted Platform Module (TPM) support. - Introduce support for the TI TPS6594 PMIC's power button, including the input driver, MFD cell registration, and a system power-off handler. - Add comprehensive support for the TI BQ257xx series of charger ICs, including the core MFD driver and a power supply driver for the charger functionality. Improvements & Fixes - Check the return value of devm_gpiochip_add_data() in the VEXPRESS sysreg driver to prevent potential silent failures. Cleanups & Refactoring - Add a MAINTAINERS entry for the new Loongson Security Engine drivers. - Convert the VEXPRESS sysreg driver to use the modern generic GPIO chip API. Removals - Remove the deprecated and unused mc13xxx_irq_ack() function from the MC13xxx RTC, input and touchscreen drivers. Device Tree Bindings Updates - Add device tree bindings for the TI BQ25703A charger.
We have a bunch of trivial/adjacent changes conflicts to be solved accepting the chunks for both trees: Vs your tree in arch/s390/configs/debug_defconfig and arch/s390/configs/defconfig. Vs the v4l-dvb tree in .mailmap: Vs the rdma tree in drivers/net/ethernet/broadcom/bnxt/bnxt.c and in Documentation/networking/device_drivers/ethernet/index.rst. Vs the regulator tree in MAINTAINERS. Vs the bpf-next tree in include/net/xdp.h Also a couple of a bit less trivial conflicts: Vs the spacemit tree in arch/riscv/boot/dts/spacemit/k1-bananapi-f3.dts and in arch/riscv/boot/dts/spacemit/k1-milkv-jupiter.dts, resolutios: https://lore.kernel.org/linux-next/aMqby4Cz8hn6lZgv@sirena.org.uk/ Vs the tip tree in drivers/net/ethernet/amd/xgbe/xgbe-ptp.c, resolution: https://lore.kernel.org/linux-next/20250722114246.2c683a44@canb.auug.org.au/ Finally a duplicate commit (different hash, same contents) with the vhost tree: 4e9510f162188 ("ptr_ring: drop duplicated tail zeroing code") 4a37c69fc60bf ("ptr_ring: drop duplicated tail zeroing code") both touching include/linux/ptr_ring.h the same way. There is a very recent build failure for arm64 with oldish compiler currently under investigation, I hope it should not block this PR. Networking changes for 6.18. Core & protocols
Here are the changes for configfs for v6.18. This time it is just a very small refactoring to use PTR_ERR_OR_ZERO(). Best regards, Andreas Hindborg configfs changes for v6.18
This is the main drm pull request for the 6.18 merge window. Compared to last time there are only 2 xe merge conflicts when I merged this into your tree this morning. One of them is simple, the other a bit tricky, as all the goto cleanup should be return ret, not sure where they get lost. Let me know if you have any problems, but taking what is in next should be fine. Outside the drm tree, there are i2c-hid changes and an MEI driver addition. The other big thing here is rust stuff. There is a pin-init rework which may also be merged in other trees (I can't remember). Then dma, device and drm stuff. This also has updates to the nova-core, nova-drm drivers and introduces a skeleton driver Tyr for ARM Mali, which will be constructed upstream as the rust pieces are merged. Other highlights: - rocket accel driver for Rockchip NPUs - habanalabs upstreaming has restarted - xe support for madvise in gpusvm - amdgpu CRIU support for gem objects Then there is the usual insane number of patches to everything across the b= oard. As usual, let me know if there are any problems. Dave. drm-next-2025-10-01: drm next for 6.18-rc1 cross-subsystem: - i2c-hid: Make elan touch controllers power on after panel is enabled - dt bindings for STM32MP25 SoC - pci vgaarb: use screen_info helpers - rust pin-init updates - add MEI driver for late binding firmware update/load uapi: - add ioctl for reassigning GEM handles - provide boot_display attribute on boot-up devices core: - document DRM_MODE_PAGE_FLIP_EVENT - add vendor specific recovery method to drm device wedged uevent gem: - Simplify gpuvm locking ttm: - add interface to populate buffers sched: - Fix race condition in trace code atomic: - Reallow no-op async page flips display: - dp: Fix command length video: - Improve pixel-format handling for struct screen_info rust: - drop Opaque<> from ioctl args - Alloc: - BorrowedPage type and AsPageIter traits - Implement Vmalloc::to_page() and VmallocPageIter - DMA/Scatterlist: - Add dma::DataDirection and type alias for dma_addr_t - Abstraction for struct scatterlist and sg_table - DRM: - simplify use of generics - add DriverFile type alias - drop Object::SIZE - Rust: - pin-init tree merge - Various methods for AsBytes and FromBytes traits gpuvm: - Support madvice in Xe driver gpusvm: - fix hmm_pfn_to_map_order usage in gpusvm bridge: - Improve and fix ref counting on bridge management - cdns-dsi: Various improvements to mode setting - Support Solomon SSD2825 plus DT bindings - Support Waveshare DSI2DPI plus DT bindings - Support Content Protection property - display-connector: Improve DP display detection - Add support for Radxa Ra620 plus DT bindings - adv7511: Provide SPD and HDMI infoframes - it6505: Replace crypto_shash with sha() - synopsys: Add support for DW DPTX Controller plus DT bindings - adv7511: Write full Audio infoframe - ite6263: Support vendor-specific infoframes - simple: Add support for Realtek RTD2171 DP-to-HDMI plus DT bindings panel: - panel-edp: Support mt8189 Chromebooks; Support BOE NV140WUM-N64; Support SHP LQ134Z1; Fixes - panel-simple: Support Olimex LCD-OLinuXino-5CTS plus DT bindings - Support Samsung AMS561RA01 - Support Hydis HV101HD1 plus DT bindings - ilitek-ili9881c: Refactor mode setting; Add support for Bestar BSD1218-A101KL68 LCD plus DT bindings - lvds: Add support for Ampire AMP19201200B5TZQW-T03 to DT bindings - edp: Add support for additonal mt8189 Chromebook panels - lvds: Add DT bindings for EDT ETML0700Z8DHA amdgpu: - add CRIU support for gem objects - RAS updates - VCN SRAM load fixes - EDID read fixes - eDP ALPM support - Documentation updates - Rework PTE flag generation - DCE6 fixes - VCN devcoredump cleanup - MMHUB client id fixes - VCN 5.0.1 RAS support - SMU 13.0.x updates - Expanded PCIe DPC support - Expanded VCN reset support - VPE per queue reset support - give kernel jobs unique id for tracing - pre-populate exported buffers - cyan skillfish updates - make vbios build number available in sysfs - userq updates - HDCP updates - support MMIO remap page as ttm pool - JPEG parser updates - DCE6 DC updates - use devm for i2c buses - GPUVM locking updates - Drop non-DC DCE11 code - improve fallback handling for pixel encoding amdkfd: - SVM/page migration fixes - debugfs fixes - add CRIO support for gem objects - SVM updates radeon: - use dev_warn_once in CS parsers xe: - add madvise interface - add DRM_IOCTL_XE_VM_QUERY_MEMORY_RANGE_ATTRS to query VMA count and memory attributes - drop L# bank mask reporting from media GT3 on Xe3+. - add SLPC power_profile sysfs interface - add configs attribs to add post/mid context-switch commands - handle firmware reported hardware errors notifying userspace with device wedged uevent - use same dir structure across sysfs/debugfs - cleanup and future proof vram region init - add G-states and PCI link states to debugfs - Add SRIOV support for CCS surfaces on Xe2+ - Enable SRIOV PF mode by default on supported platforms - move flush to common code - extended core workarounds for Xe2/3 - use DRM scheduler for delayed GT TLB invalidations - configs improvements and allow VF device enablement - prep work to expose mmio regions to userspace - VF migration support added - prepare GPU SVM for THP migration - start fixing XE_PAGE_SIZE vs PAGE_SIZE - add PSMI support for hw validation - resize VF bars to max possible size according to number of VFs - Ensure GT is in C0 during resume - pre-populate exported buffers - replace xe_hmm with gpusvm - add more SVM GT stats to debugfs - improve fake pci and WA kunnit handle for new platform testing - Test GuC to GuC comms to add debugging - use attribute groups to simplify sysfs registration - add Late Binding firmware code to interact with MEI i915: - apply multiple JSL/EHL/Gen7/Gen6 workarounds properly - protect against overflow in active_engine() - Use try_cmpxchg64() in __active_lookup() - include GuC registers in error state - get rid of dev->struct_mutex - iopoll: generalize read_poll_timout - lots more display refactoring - Reject HBR3 in any eDP Panel - Prune modes for YUV420 - Display Wa fix, additions, and updates - DP: Fix 2.7 Gbps link training on g4x - DP: Adjust the idle pattern handling - DP: Shuffle the link training code a bit - Don't set/read the DSI C clock divider on GLK - Enable_psr kernel parameter changes - Type-C enabled/disconnected dp-alt sink - Wildcat Lake enabling - DP HDR updates - DRAM detection - wait PSR idle on dsb commit - Remove FBC modulo 4 restriction for ADL-P+ - panic: refactor framebuffer allocation habanalabs: - debug/visibility improvements - vmalloc-backed coherent mmap support - HLDIO infrastructure nova-core: - various register!() macro improvements - minor vbios/firmware fixes/refactoring - advance firmware boot stages; process Booter and patch signatures - process GSP and GSP bootloader - Add r570.144 firmware bindings and update to it - Move GSP boot code to own module - Use new pin-init features to store driver's private data in a single allocation - Update ARef import from sync::aref nova-drm: - Update ARef import from sync::aref tyr: - initial driver skeleton for a rust driver for ARM Mali GPUs - capable of powering up, query metadata and provide it to userspace. msm: - GPU and Core: - in DT bindings describe clocks per GPU type - GMU bandwidth voting for x1-85 - a623/a663 speedbins - cleanup some remaining no-iommu leftovers after VM_BIND conversion - fix GEM obj 32b size truncation - add missing VM_BIND param validation - IFPC for x1-85 and a750 - register xml and gen_header.py sync from mesa - Display: - add missing bindings for display on SC8180X - added DisplayPort MST bindings - conversion from round_rate() to determine_rate() amdxdna: - add IOCTL_AMDXDNA_GET_ARRAY - support user space allocated buffers - streamline PM interfaces - Refactoring wrt. hardware contexts - improve error reporting nouveau: - use GSP firmware by default - improve error reporting - Pre-populate exported buffers ast: - Clean up detection of DRAM config exynos: - add DSIM bridge driver support for Exynos7870 - Document Exynos7870 DSIM compatible in dt-binding panthor: - Print task/pid on errors - Add support for Mali G710, G510, G310, Gx15, Gx20, Gx25 - Improve cache flushing - Fail VM bind if BO has offset renesas: - convert to RUNTIME_PM_OPS rcar-du: - Make number of lanes configurable - Use RUNTIME_PM_OPS - Add support for DSI commands rocket: - Add driver for Rockchip NPU plus DT bindings - Use kfree() and sizeof() correctly - Test DMA status rockchip: - dsi2: Add support for RK3576 plus DT bindings - Add support for RK3588 DPTX output tidss: - Use crtc_ fields for programming display mode - Remove other drivers from aperture pixpaper: - Add support for Mayqueen Pixpaper plus DT bindings v3d: - Support querying nubmer of GPU resets for KHR_robustness stm: - Clean up logging - ltdc: Add support support for STM32MP257F-EV1 plus DT bindings sitronix: - st7571-i2c: Add support for inverted displays and 2-bit grayscale tidss: - Convert to kernel's FIELD_ macros vesadrm: - Support 8-bit palette mode imagination: - Improve power management - Add support for TH1520 GPU - Support Risc-V architectures v3d: - Improve job management and locking vkms: - Support variants of ARGB8888, ARGB16161616, RGB565, RGB888 and P01x - Spport YUV with 16-bit components drm next for 6.18-rc1 cross-subsystem: - i2c-hid: Make elan touch controllers power on after panel is enabled - dt bindings for STM32MP25 SoC - pci vgaarb: use screen_info helpers - rust pin-init updates - add MEI driver for late binding firmware update/load uapi: - add ioctl for reassigning GEM handles - provide boot_display attribute on boot-up devices core: - document DRM_MODE_PAGE_FLIP_EVENT - add vendor specific recovery method to drm device wedged uevent gem: - Simplify gpuvm locking ttm: - add interface to populate buffers sched: - Fix race condition in trace code atomic: - Reallow no-op async page flips display: - dp: Fix command length video: - Improve pixel-format handling for struct screen_info rust: - drop Opaque<> from ioctl args - Alloc: - BorrowedPage type and AsPageIter traits - Implement Vmalloc::to_page() and VmallocPageIter - DMA/Scatterlist: - Add dma::DataDirection and type alias for dma_addr_t - Abstraction for struct scatterlist and sg_table - DRM: - simplify use of generics - add DriverFile type alias - drop Object::SIZE - Rust: - pin-init tree merge - Various methods for AsBytes and FromBytes traits gpuvm: - Support madvice in Xe driver gpusvm: - fix hmm_pfn_to_map_order usage in gpusvm bridge: - Improve and fix ref counting on bridge management - cdns-dsi: Various improvements to mode setting - Support Solomon SSD2825 plus DT bindings - Support Waveshare DSI2DPI plus DT bindings - Support Content Protection property - display-connector: Improve DP display detection - Add support for Radxa Ra620 plus DT bindings - adv7511: Provide SPD and HDMI infoframes - it6505: Replace crypto_shash with sha() - synopsys: Add support for DW DPTX Controller plus DT bindings - adv7511: Write full Audio infoframe - ite6263: Support vendor-specific infoframes - simple: Add support for Realtek RTD2171 DP-to-HDMI plus DT bindings panel: - panel-edp: Support mt8189 Chromebooks; Support BOE NV140WUM-N64; Support SHP LQ134Z1; Fixes - panel-simple: Support Olimex LCD-OLinuXino-5CTS plus DT bindings - Support Samsung AMS561RA01 - Support Hydis HV101HD1 plus DT bindings - ilitek-ili9881c: Refactor mode setting; Add support for Bestar BSD1218-A101KL68 LCD plus DT bindings - lvds: Add support for Ampire AMP19201200B5TZQW-T03 to DT bindings - edp: Add support for additonal mt8189 Chromebook panels - lvds: Add DT bindings for EDT ETML0700Z8DHA amdgpu: - add CRIU support for gem objects - RAS updates - VCN SRAM load fixes - EDID read fixes - eDP ALPM support - Documentation updates - Rework PTE flag generation - DCE6 fixes - VCN devcoredump cleanup - MMHUB client id fixes - VCN 5.0.1 RAS support - SMU 13.0.x updates - Expanded PCIe DPC support - Expanded VCN reset support - VPE per queue reset support - give kernel jobs unique id for tracing - pre-populate exported buffers - cyan skillfish updates - make vbios build number available in sysfs - userq updates - HDCP updates - support MMIO remap page as ttm pool - JPEG parser updates - DCE6 DC updates - use devm for i2c buses - GPUVM locking updates - Drop non-DC DCE11 code - improve fallback handling for pixel encoding amdkfd: - SVM/page migration fixes - debugfs fixes - add CRIO support for gem objects - SVM updates radeon: - use dev_warn_once in CS parsers xe: - add madvise interface - add DRM_IOCTL_XE_VM_QUERY_MEMORY_RANGE_ATTRS to query VMA count and memory attributes - drop L# bank mask reporting from media GT3 on Xe3+. - add SLPC power_profile sysfs interface - add configs attribs to add post/mid context-switch commands - handle firmware reported hardware errors notifying userspace with device wedged uevent - use same dir structure across sysfs/debugfs - cleanup and future proof vram region init - add G-states and PCI link states to debugfs - Add SRIOV support for CCS surfaces on Xe2+ - Enable SRIOV PF mode by default on supported platforms - move flush to common code - extended core workarounds for Xe2/3 - use DRM scheduler for delayed GT TLB invalidations - configs improvements and allow VF device enablement - prep work to expose mmio regions to userspace - VF migration support added - prepare GPU SVM for THP migration - start fixing XE_PAGE_SIZE vs PAGE_SIZE - add PSMI support for hw validation - resize VF bars to max possible size according to number of VFs - Ensure GT is in C0 during resume - pre-populate exported buffers - replace xe_hmm with gpusvm - add more SVM GT stats to debugfs - improve fake pci and WA kunnit handle for new platform testing - Test GuC to GuC comms to add debugging - use attribute groups to simplify sysfs registration - add Late Binding firmware code to interact with MEI i915: - apply multiple JSL/EHL/Gen7/Gen6 workarounds properly - protect against overflow in active_engine() - Use try_cmpxchg64() in __active_lookup() - include GuC registers in error state - get rid of dev->struct_mutex - iopoll: generalize read_poll_timout - lots more display refactoring - Reject HBR3 in any eDP Panel - Prune modes for YUV420 - Display Wa fix, additions, and updates - DP: Fix 2.7 Gbps link training on g4x - DP: Adjust the idle pattern handling - DP: Shuffle the link training code a bit - Don't set/read the DSI C clock divider on GLK - Enable_psr kernel parameter changes - Type-C enabled/disconnected dp-alt sink - Wildcat Lake enabling - DP HDR updates - DRAM detection - wait PSR idle on dsb commit - Remove FBC modulo 4 restriction for ADL-P+ - panic: refactor framebuffer allocation habanalabs: - debug/visibility improvements - vmalloc-backed coherent mmap support - HLDIO infrastructure nova-core: - various register!() macro improvements - minor vbios/firmware fixes/refactoring - advance firmware boot stages; process Booter and patch signatures - process GSP and GSP bootloader - Add r570.144 firmware bindings and update to it - Move GSP boot code to own module - Use new pin-init features to store driver's private data in a single allocation - Update ARef import from sync::aref nova-drm: - Update ARef import from sync::aref tyr: - initial driver skeleton for a rust driver for ARM Mali GPUs - capable of powering up, query metadata and provide it to userspace. msm: - GPU and Core: - in DT bindings describe clocks per GPU type - GMU bandwidth voting for x1-85 - a623/a663 speedbins - cleanup some remaining no-iommu leftovers after VM_BIND conversion - fix GEM obj 32b size truncation - add missing VM_BIND param validation - IFPC for x1-85 and a750 - register xml and gen_header.py sync from mesa - Display: - add missing bindings for display on SC8180X - added DisplayPort MST bindings - conversion from round_rate() to determine_rate() amdxdna: - add IOCTL_AMDXDNA_GET_ARRAY - support user space allocated buffers - streamline PM interfaces - Refactoring wrt. hardware contexts - improve error reporting nouveau: - use GSP firmware by default - improve error reporting - Pre-populate exported buffers ast: - Clean up detection of DRAM config exynos: - add DSIM bridge driver support for Exynos7870 - Document Exynos7870 DSIM compatible in dt-binding panthor: - Print task/pid on errors - Add support for Mali G710, G510, G310, Gx15, Gx20, Gx25 - Improve cache flushing - Fail VM bind if BO has offset renesas: - convert to RUNTIME_PM_OPS rcar-du: - Make number of lanes configurable - Use RUNTIME_PM_OPS - Add support for DSI commands rocket: - Add driver for Rockchip NPU plus DT bindings - Use kfree() and sizeof() correctly - Test DMA status rockchip: - dsi2: Add support for RK3576 plus DT bindings - Add support for RK3588 DPTX output tidss: - Use crtc_ fields for programming display mode - Remove other drivers from aperture pixpaper: - Add support for Mayqueen Pixpaper plus DT bindings v3d: - Support querying nubmer of GPU resets for KHR_robustness stm: - Clean up logging - ltdc: Add support support for STM32MP257F-EV1 plus DT bindings sitronix: - st7571-i2c: Add support for inverted displays and 2-bit grayscale tidss: - Convert to kernel's FIELD_ macros vesadrm: - Support 8-bit palette mode imagination: - Improve power management - Add support for TH1520 GPU - Support Risc-V architectures v3d: - Improve job management and locking vkms: - Support variants of ARGB8888, ARGB16161616, RGB565, RGB888 and P01x - Spport YUV with 16-bit components
New ext4 features: * Add support so tune2fs can modify/update the superblock using an ioctl, without needing write access to the block device. * Add support for 32-bit reserved uid's and gid's. Bug fixes: * Fix potential warnings and other failures caused by corrupted / fuzzed file systems. * Fail unaligned direct I/O write with EINVAL instead of silently falling back to buffered I/O * Correectly handle fsmap queries for metadata mappings * Avoid journal stalls caused by writeback throttling * Add some missing GFP_NOFAIL flags to avoid potential deadlocks under extremem memory pressure Cleanups: * Remove obsolete EXT3 Kconfigs
Subject: [GIT PULL] power-supply changes for 6.18 MIME-Version: 1.0 Hi Linus, power supply and reset changes for the 6.18 series * power-supply core - introduce adc-battery-helper for capacity estimation based on simple ADC readings of battery voltage and current - add new property for battery internal resistance - add new property for battery state of health * power-supply drivers - ug3105_battery: convert to adc-battery-helper - intel_dc_ti_battery: New driver for Intel Dollar Cove TI batteries - rt9467-charger: add voltage and current ADC support - sbs-charger: support multiple instances - qcom_battmgr: add charge control support - qcom_battmgr: add support for state of health and internal resistance - max77705_charger: big driver cleanup - max77705_charger: add support for setting charge current - misc. minor fixes and cleanups
this is the big pull request with v6.18 pin control changes. Most of the details are in the signed tag, we have GPIO awareness in the pin control core and an interesting AAEON driver. At rc6 you expressed strongly that you don't want to see unsolicited Link: tags unless these provide some additional information that is actually useful for regressions and debugging, so at this point I dropped the automated addition of Link: tags. They are still present on prior commits, I hope that is OK for now. They will not be in future pull requests. Some GPIO and Renesas cross-tree changes are coming into the diffstat through immutable branches that I pulled in, including some string helper lib functions and what not. Yours, Linus Walleij Pin control changes for the v6.18 kernel cycle: Core changes: - Allow pins to be identified/marked as GPIO mode with a special callback. The pin controller core is now "aware" if a pin is in GPIO mode if the callback is implemented in the driver, and can thus be marked as "strict", i.e. disallowing simultaneous use of a line as GPIO and another function such as I2C. This is enabled in the Qualcomm TLMM driver and also implemeted from day 1 in the new Broadcom STB driver. - Rename the pin config option PIN_CONFIG_OUTPUT to PIN_CONFIG_LEVEL to better describe what the config is doing, as well as making it more intuitive what shall be returned when reading this property. New drivers: - Qualcomm SDM660 LPASS LPI TLMM pin controller subdriver. - Qualcomm Glymur family pin controller driver. - Broadcom STB family pin controller driver. - Tegra186 pin controller driver. - AAEON UP pin controller support. This is some special pin controller that works as an external advanced line MUX and amplifier for signals from an Intel SoC. A cooperative effort with the GPIO maintainer was needed to reach a solution where we reuse code from the GPIO aggregator/forwarder driver. - Renesas RZ/T2H and RZ/N2H pin controller support. - Axis ARTPEC-8 subdriver for the Samsung pin controller driver. Improvements: - Output enable (OEN) support in the Renesas RZG2L driver. - Properly support bias pull up/down in the pinctrl-single driver. - Move over all GPIO portions using generic MMIO GPIO to the new generic GPIO chip management which has a nice and separate API. - Proper DT bindings for some older Broadcom SoCs. - External GPIO (EGPIO) support in the Qualcomm SM8250. Deleted code: - Dropped the now unused Samsung S3C24xx drivers.
VFIO updates for v6.18-rc1 - Use fdinfo to expose the sysfs path of a device represented by a vfio device file. (Alex Mastro) - Mark vfio-fsl-mc, vfio-amba, and the reset functions for vfio-platform for removal as these are either orphaned or believed to be unused. (Alex Williamson) - Add reviewers for vfio-platform to save it from also being marked for removal. (Mostafa Saleh, Pranjal Shrivastava) - VFIO selftests, including basic sanity testing and minimal userspace drivers for testing against real hardware. This is also expected to provide integration with KVM selftests for KVM-VFIO interfaces. (David Matlack, Josh Hilke) - Fix drivers/cdx and vfio/cdx to build without CONFIG_GENERIC_MSI_IRQ. (Nipun Gupta) - Fix reference leak in hisi_acc. (Miaoqian Lin) - Use consistent return for unsupported device feature. (Alex Mastro) - Unwind using the correct memory free callback in vfio/pds. (Zilin Guan) - Use IRQ_DISABLE_LAZY flag to improve handling of pre-PCI2.3 INTx and resolve stalled interrupt on ppc64. (Timothy Pearson) - Enable GB300 in nvgrace-gpu vfio-pci variant driver. (Tushar Dave) - Misc: - Drop unnecessary ternary conversion in vfio/pci. (Xichao Zhao) - Grammatical fix in nvgrace-gpu. (Morduan Zang) - Update Shameer's email address. (Shameer Kolothum) - Fix document build warning. (Alex Williamson)
please pull from to receive HID subsystem queue for 6.17 merge window, namely: ===== - implementation of haptic touchpad support (Angela Czubak and Jonathan Denose) - add support for audio jack handling on DualSense Playstation controllers (Cristian Ciocaltea) - allow HID-BPF to rebind a driver to hid-multitouch (Benjamin Tissoires) - rework hidraw ioctls to make them safer (and tested) (Benjamin Tissoires) - various PIDFF and universal-PIDFF fixes/improvements (Tomasz Pakuła) - better configuration of Intel QuickI2C through ACPI (Xinpeng Sun) - other assorted cleanups and fixes ===== Thanks.
tags/fuse-update-6.18 - Extend copy_file_range interface to be fully 64bit capable (Miklos) - Add selftest for fusectl (Chen Linxuan) - Move fuse docs into a separate directory (Bagas Sanjaya) - Allow fuse to enter freezable state in some cases (Sergey Senozhatsky) - Clean up writeback accounting after removing tmp page copies (Joanne) - Optimize virtiofs request handling (Li RongQing) - Add synchronous FUSE_INIT support (Miklos) - Allow server to request prune of unused inodes (Miklos) - Fix deadlock with AIO/sync release (Darrick) - Add some prep patches for block/iomap support (Darrick) - Misc fixes and cleanups Thanks, Miklos Thanks, Miklos ---
please pull sound updates for v6.18-rc1 from: The topmost commit is f65dc3b1ab145c9b8b36301256d703c1dd153f71 sound updates for 6.18-rc1 It's been relatively calm in this cycle from the feature POV, but there were lots of cleanup works in the wide-range of code for converting with the auto-cleanup macros like guard(). The mostly user-visible changes are the support of a couple of new compress-offload API extensions, and the support of new ASoC codec / platform drivers as well as USB-audio quirks. Here we go with some highlights: Core: - Compress-offload API extension for 64bit timestamp support - Compress-offload API extension for OPUS codec support - Workaround for PCM locking issue with PREEMPT_RT and softirq - KCSAN warning fix for ALSA sequencer core ASoC: - Continued cleanup works for ASoC core APIs - Lots of cleanups and conversions of DT bindings - Substantial maintainance work on the Intel AVS drivers - Support for Qualcomm Glymur and PM4125, Realtek RT1321, Shanghai FourSemi FS2104/5S, Texas Instruments PCM1754 and TAS2783A - Remove support for TI WL1273 for old Nokia systems USB-audio: - Support for Tascam US-144mkII, Presonus S1824c support - More flexible quirk option handling - Fix for USB MIDI timer bug triggered by fuzzer Others: - A large series of cleanups with guard() & co macros over (non-ASoC) sound drivers (PCI, ISA, HD-audio, USB-audio, drivers, etc) - TAS5825 HD-audio side-codec support
It has been a relatively busy cycle in docsland, with changes all over: - Bring the kernel memory-model docs into the Sphinx build in the "literal include" mode. - Lots of build-infrastructure work, further cleaning up long-term kernel-doc technical debt. The sphinx-pre-install tool has been converted to Python and updated for current systems. - A new tool to detect when documents have been moved and generate HTML redirects; this can be used on kernel.org (or any other site hosting the rendered docs) to avoid breaking links. - Automated processing of the YAML files describing the netlink protocol. - A significant update of the maintainer's PGP guide. ...and a seemingly endless series of typo fixes, build-problem fixes, etc.
Here is the main PDx86 PR for v6.18. There's one-liner change into sound/ due to x86-android-tables moving away from using GPIO legacy APIs which changes the name of a SPI/codec device. Highlights - amd/pmf: - Add support for adjusting PMF PPT and PPT APU thresholds - Extend custom BIOS inputs for more policies - Update ta_pmf_action structure to the latest PMF TA - arm64: thinkpad-t14s-ec: Add EC driver for ThinkPad T14s Gen6 Snapdragon - int3472: Increase handshake GPIO delay - intel/pmc: - SSRAM support for Lunar Lake and Panther Lake - Support reading substate requirements data from S0ix blockers (for platforms starting from Panther Lake) - Wildcat Lake support - intel-uncore-freq: - Solve duplicate sysfs entry warnings - Present unique domain ID per package - portwell-ec: - Support suspend/resume - Add hwmon support for voltage and temperature - redmi-wmi: Add WMI driver for Redmibook keyboard - think-lmi Certificate support for ThinkCenter - x86-android-tables + others: Convert away from legacy GPIO APIs - x86-android-tables: - Add support for Acer A1-840 tablet - Fix modules list for Lenovo devices - Stop using EPROBE_DEFER - Miscellaneous cleanups / refactoring / improvements Regards, i. platform-drivers-x86 for v6.18-1 Highlights - amd/pmf: - Add support for adjusting PMF PPT and PPT APU thresholds - Extend custom BIOS inputs for more policies - Update ta_pmf_action structure to the latest PMF TA - arm64: thinkpad-t14s-ec: Add EC driver for ThinkPad T14s Gen6 Snapdragon - int3472: Increase handshake GPIO delay - intel/pmc: - SSRAM support for Lunar Lake and Panther Lake - Support reading substate requirements data from S0ix blockers (for platforms starting from Panther Lake) - Wildcat Lake support - intel-uncore-freq: - Solve duplicate sysfs entry warnings - Present unique domain ID per package - portwell-ec: - Support suspend/resume - Add hwmon support for voltage and temperature - redmi-wmi: Add WMI driver for Redmibook keyboard - think-lmi Certificate support for ThinkCenter - x86-android-tables + others: Convert away from legacy GPIO APIs - x86-android-tables: - Add support for Acer A1-840 tablet - Fix modules list for Lenovo devices - Stop using EPROBE_DEFER - Miscellaneous cleanups / refactoring / improvements The following is an automated shortlog grouped by driver: Add WMI driver for Redmibook keyboard: - Add WMI driver for Redmibook keyboard amd/hsmp: - Replace dev_err() with dev_info() for non-fatal errors amd/pmf: - Add custom BIOS input support for AMD_CPU_ID_PS - Add debug logs for pending requests and custom BIOS inputs - Add helper to verify BIOS input notifications are enable/disable - Add support for adjusting PMF PPT and PPT APU thresholds - Call enact function sooner to process early pending requests - Extend custom BIOS inputs for more policies - Fix the custom bios input handling mechanism - Preserve custom BIOS inputs for evaluating the policies - Remove redundant ternary operators - Update ta_pmf_action structure member arm64: dts: qcom: x1e80100-t14s: - add EC arm64: thinkpad-t14s-ec: - new driver barco-p50-gpio: - use software nodes for gpio-leds/keys dell_rbu: - fix assignment in if condition warning dt-bindings: embedded-controller: - Add Lenovo Thinkpad T14s EC int3472: - Convert int3472_gpio_map to use C99 initializers - Increase ov08x40 handshake GPIO delay to 45 ms - Rework regulator enable-time handling intel/pmc: - Add Wildcat Lake support to intel_pmc_core - Add Wildcat Lake support to Intel PMC SSRAM Telemetry - Enable SSRAM support for Lunar Lake - Enable SSRAM support for Panther Lake - Improve function to show substate header - Move telemetry endpoint register handling - Replace dev_warn() with dev_dbg() - Show substate requirement for S0ix blockers - use kcalloc() instead of kzalloc() intel-uncore-freq: - Fix warning in partitioned system - Present unique domain ID per package meraki-mx100: - Use static device properties pcengines-apuv2: - Use static device properties portwell-ec: - Add hwmon support for voltage and temperature - Add suspend/resume support for watchdog - don't print superfluous errors quickstart: - Use devm_mutex_init() think-lmi: - Add certificate GUID structure - Add extra TC BIOS error messages - Certificate support for ThinkCenter wmi-capdata01: - Remove unneeded semicolon x86-android-tablets: - Add support for Acer A1-840 tablet - convert EDT devices to GPIO references - convert Goodix devices to GPIO references - convert gpio_keys devices to GPIO references - convert HiDeep devices to GPIO references - convert HID-I2C devices to GPIO references - convert int3496 devices to GPIO references - convert Novatek devices to GPIO references - convert Wacom devices to GPIO references - convert wm1502 devices to GPIO references - convert Yoga Tab2 fast charger to GPIO references - Fix modules lists for Lenovo devices - Move Acer info to its own file - remove support for GPIO lookup tables - Remove the use of dev_err_probe() - replace bat_swnode with swnode_group - Simplify lenovo_yoga_tab2_830_1050_exit() - Simplify node-group [un]registration - Stop using EPROBE_DEFER - Update my email address - use swnode_group instead of manual registering xiaomi-wmi: - Use devm_mutex_init()
dma-mapping updates for Linux 6.18: - refactoring of DMA mapping API to physical addresses as the primary interface instead of page+offset parameters; this gets much closer to Matthew Wilcox's long term wish for struct-pageless IO to cacheable DRAM and is supporting memdesc project which seeks to substantially transform how struct page works; an advantage of this approach is the possibility of introducing DMA_ATTR_MMIO, which covers existing 'dma_map_resource' flow in the common paths, what in turn lets to use recently introduced dma_iova_link() API to map PCI P2P MMIO without creating struct page; developped by Leon Romanovsky and Jason Gunthorpe - minor clean-up by Petr Tesarik and Qianfeng Rong
This update includes the following changes: Drivers: - Add ciphertext hiding support to ccp. - Add hashjoin, gather and UDMA data move features to hisilicon. - Add lz4 and lz77_only to hisilicon. - Add xilinx hwrng driver. - Add ti driver with ecb/cbc aes support. - Add ring buffer idle and command queue telemetry for GEN6 in qat. Others: - Use rcu_dereference_all to stop false alarms in rhashtable. - Fix CPU number wraparound in padata.
This branch has been sitting in linux-next for a few weeks, but I added some RVB last week. It has gone through the usual overlayfs test routines. The branch merges cleanly with master branch of the moment. Note that there is a small change to fs.h in this PR for the sb encoding helpers. This change is reviewed by Gabriel and Christian has agreed that I will merge it through the ovl tree. Thanks, Amir. overlayfs updates for 6.18 - Work by André Almeida to support case-insensitive overlayfs Underlying case-insensitive filesystems casefolding is per directory, but for overlayfs it is all-or-nothing. It supports layers where all directories are casefolded (with same encoding) or layers where no directories are casefolded. - A fix for a "bug" in Neil's ovl directory lock changes, which only manifested itself with casefold enabled layers which may return an unhashed negative dentry from lookup.
please pull the latest slab updates from: This time we have two rather large features - a new percpu caching scheme and re-entrant kmalloc_nolock(), along with the usual fixes and cleanups. To avoid conflicts with mm tree, the patches from Lorenzo and Qianfeng are part of this pull although normally they would be in mm tree. There should be no conflicts. Thanks, Vlastimil * A new layer for caching objects for allocation and free via percpu arrays called sheaves. The aim is to combine the good parts of SLAB (lower-overhead and simpler percpu caching, compared to SLUB) without the past issues with arrays for freeing remote NUMA node objects and their flushing. It also allows more efficient kfree_rcu(), and cheaper object preallocations for cases where the exact number of objects is unknown, but an upper bound is. Currently VMAs and maple nodes are using this new caching, with a plan to enable it for all caches and remove the complex SLUB fastpath based on cpu (partial) slabs and this_cpu_cmpxchg_double(). (Vlastimil Babka, with Liam Howlett and Pedro Falcato for the maple tree changes) * Re-entrant kmalloc_nolock(), which allows opportunistic allocations from NMI and tracing/kprobe contexts. Building on prior page allocator and memcg changes, it will result in removing BPF-specific caches on top of slab. (Alexei Starovoitov) * Various fixes and cleanups. (Kuan-Wei Chiu, Matthew Wilcox, Suren Baghdasaryan, Ye Liu)
request, so if I have done something incorrect or unsatisfactory to your standards, please let me know so I (and Nicolas) can avoid repeating mistakes in the future. The majority of these changes have been in -next for several cycles with no reported problems. I am only aware of one conflict with the arm64 tree around CONFIG_CPU_BIG_ENDIAN, Mark's resolution looks correct to me. https://lore.kernel.org/aNU-sG84vqPj7p7G@sirena.org.uk/ There are several changes from other areas (mostly architectures) that should have their appropriate acks and such. There is a back merge of 6.17-rc6, which should have sufficient justification but I know back merges can be contentious so I figured I would be open with it up front anyways. Looking back on it, I probably should have only merged up to 6.17-rc4 for commit bd7c2312128e ("pinctrl: meson: Fix typo in device table macro") but I went with -rc6 to try and head off a simple conflict from commit 41f9049cff32 ("riscv: Only allow LTO with CMODEL_MEDANY") in -rc5. In the end, it didn't matter because of the arm64 conflict so I will be more careful in the future. Cheers, Nathan Kbuild updates for 6.18 - Extend modules.builtin.modinfo to include module aliases from MODULE_DEVICE_TABLE for builtin modules so that userspace tools (such as kmod) can verify that a particular module alias will be handled by a builtin module. - Bump the minimum version of LLVM for building the kernel to 15.0.0. - Upgrade several userspace API checks in headers_check.pl to errors. - Unify and consolidate CONFIG_WERROR / W=e handling. - Turn assembler and linker warnings into errors with CONFIG_WERROR / W=e. - Respect CONFIG_WERROR / W=e when building userspace programs (userprogs). - Enable -Werror unconditionally when building host programs (hostprogs). - Support copy_file_range() and data segment alignment in gen_init_cpio to improve performance on filesystems that support reflinks such as btrfs and XFS. - Miscellaneous small changes to scripts and configuration files. Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Hi Linus, - Fixes watchdog test to exit when device doesn't support keep alive - Fix missing header build complaints during out of tree build - A few minor fixes to git ignore - MAINTAINERS file change to update dma_map_benchmark diff is attached. thanks, -- Shuah linux_kselftest-next-6.18-rc1 - Fixes watchdog test to exit when device doesn't support keep alive - Fix missing header build complaints during out of tree build - A few minor fixes to git ignore - MAINTAINERS file change to update dma_map_benchmark
Hi Linus, A seven patch series adds a new parameterized test features KUnit parameterized tests currently support two primary methods for getting parameters: 1. Defining custom logic within a generate_params() function. 2. Using the KUNIT_ARRAY_PARAM() and KUNIT_ARRAY_PARAM_DESC() macros with a pre-defined static array and passing the created *_gen_params() to KUNIT_CASE_PARAM(). These methods present limitations when dealing with dynamically generated parameter arrays, or in scenarios where populating parameters sequentially via generate_params() is inefficient or overly complex. These limitations are fixed with a parameterized test method. - Fixes issues in kunit build artifacts cleanup, - Fixes parsing skipped test problem in kselftest framework, - Enables PCI on UML without triggering WARN() - a few other fixes and adds support for new configs such as MIPS diff is attached. thanks, -- Shuah linux_kselftest-kunit-6.18-rc1 - A seven patch series adds a new parameterized test features KUnit parameterized tests currently support two primary methods for getting parameters: 1. Defining custom logic within a generate_params() function. 2. Using the KUNIT_ARRAY_PARAM() and KUNIT_ARRAY_PARAM_DESC() macros with a pre-defined static array and passing the created *_gen_params() to KUNIT_CASE_PARAM(). These methods present limitations when dealing with dynamically generated parameter arrays, or in scenarios where populating parameters sequentially via generate_params() is inefficient or overly complex. These limitations are fixed with a parameterized test method. - Fixes issues in kunit build artifacts cleanup, - Fixes parsing skipped test problem in kselftest framework, - Enables PCI on UML without triggering WARN() - a few other fixes and adds support for new configs such as MIPS
- almost complete consolidation for HIWORD_UPDATE()-like macros from Nicolas; - bitmaps wrapper for Rust from Burak together with dynamic ID pool based on it and tests; - __fls() fix for arc from Kees. The patches spent for over 2 weeks in -next with no issues. Thanks, Yury bitmap-for-6.18 Bits-related paches for 6.17: - FIELD_PREP_WM16() consolidation (Nicolas); - bitmaps for Rust (Burak); - __fls() fix for arc (Kees).
is the creation of the "transitional" keyword for kconfig so CONFIG renaming can go more smoothly. This has been a long-standing deficiency, and with the renaming of CONFIG_CFI_CLANG to CONFIG_CFI (since GCC will soon have KCFI support), this came up again. The breadth of the diffstat is mainly this renaming. Thanks! -Kees hardening updates for v6.18-rc1 - Clean up usage of TRAILING_OVERLAP() (Gustavo A. R. Silva) - lkdtm: fortify: Fix potential NULL dereference on kmalloc failure (Junjie Cao) - Add str_assert_deassert() helper (Lad Prabhakar) - gcc-plugins: Remove TODO_verify_il for GCC >= 16 - kconfig: Fix BrokenPipeError warnings in selftests - kconfig: Add transitional symbol attribute for migration support - kcfi: Rename CONFIG_CFI_CLANG to CONFIG_CFI
Thanks! -Kees pstore update for v6.18-rc1 - Clarify various comments for better understanding (Eugen Hristev)
Thanks! -Kees seccomp updates for v6.18-rc1 - Fix race with WAIT_KILLABLE_RECV (Johannes Nixdorf)
working on various hardening refactoring a while back we encountered inconsistencies in the application of __attribute_const__ on the ffs() family of functions. This series fixes this across all archs and adds KUnit tests. Notably, this found a theoretical underflow in PCI (also fixed here) and uncovered an inefficiency in ARC (fixed in the ARC arch PR). I kept the series separate from the general hardening PR since it is a stand-alone "topic". Thanks! -Kees ffs-const update for v6.18-rc1 - PCI: Fix theoretical underflow in use of ffs(). - Universally apply __attribute_const__ to all architecture's ffs()-family of functions. - Add KUnit tests for ffs() behavior and const-ness.
Thanks! -Kees execve updates for v6.18-rc1 - binfmt_elf: preserve original ELF e_flags for core dumps (Svetlana Parfenova) - exec: Fix incorrect type for ret (Xichao Zhao) - binfmt_elf: Replace offsetof() with struct_size() in fill_note_info() (Xichao Zhao)
There's a few more touches to vendor-prefixes.yaml this cycle than normal, so expect a couple of conflicts. It's all just trivial context conflicts. Rob Devicetree updates for v6.18: DT core: - Update dtc to upstream version v1.7.2-35-g52f07dcca47c - Add stub for of_get_next_child_with_prefix() - Convert of_msi_map_id() callers to of_msi_xlate() DT bindings: - Convert Megachips stdpxxxx-ge-b850v3-fw DP bridges, NVIDIA Tegra GPUs, SUN Sparc RNG, aspeed,ast2400-sdram-edac, Marvell arm32 SoCs, Marvell Berlin SoCs, apm,xgene-edac, marvell,armada-ap806-thermal, marvell,armada370-thermal, marvell,armada-3700-wdt, nuvoton,npcm-wdt, brcm,iproc-flexrm-mbox, brcm,iproc-pdc-mbox, marvell,armada-3700-rwtm-mailbox, rockchip,rk3368-mailbox, eckelmann,siox-gpio, aspeed,ast2400-gfx, apm,xgene-pmu, hisilicon,mbigen-v2, cavium,thunder-88xx, aspeed,ast2400-cf-fsi-master, fsi-master-gpio, and mediatek,mt8173-vpu bindings to DT schema format - Add bindings for synaptics,synaptics_i2c touchscreen controller, innolux,n133hse-ea1 and nlt,nl12880bc20-spwg-24 displays, and NXP vf610 reboot controller - Add new Arm Cortex-A320/A520AE/A720AE and C1-Nano/Pro/Premium/Ultra CPUs. Add missing Applied Micro CPU compatibles. Add pu-supply and fsl,soc-operating-points properties for CPU nodes. - Add QCom Glymur PDC and tegra264-agic interrupt controllers - Add samsung,exynos8890-mali GPU to Arm Mali Midgard - Drop Samsung S3C2410 display related bindings - Allow separate DP lane and AUX connections in dp-connector - Add some missing, undocumented vendor prefixes - Add missing '#address-cells' properties in interrupt controller bindings which dtc now warns about - Drop duplicate socfpga-sdram-edac.txt, moxa,moxart-watchdog.txt, fsl/mpic.txt, ti,opa362.txt, and cavium-thunder2.txt legacy text bindings which are already covered by existing schemas. - Various binding fixes for Mediatek platforms in mailbox, regulator, pinctrl, timer, and display - Drop work-around for yamllint quoting of values containing ',' - Various spelling, typo, grammar, and duplicated words fixes in DT bindings and docs - Add binding guidelines for defining properties at top level of schemas, lack of node name ABI, and usage of simple-mfd
acpi-6.18-rc1 Linux 6.17-rc7 to receive ACPI updates for 6.18-rc1. These include an ACPICA update (upstream revision 20250807 with a few fixes on top), fixes and cleanups of the ACPI processor driver, fixes and cleanups of the ACPI properties management code, one more ACPI IRQ resource management quirk, one more ACPI backlight quirk, an ACPI device enumeration quirk related to _DEP, a power resource quirk related to WWAN modem for HP EliteBook 855 G7, ACPI SPCR table parser extensions, an ACPI APEI EINJ driver update allowing it to handle more address types, and several assorted cleanups of ACPI drivers and PNP code. Specifics: - Add SoundWire File Table (SWFT) signature to ACPICA (Maciej Strozek) - Rearrange local variable definition involving #ifdef in ACPICA to avoid using uninitialized variables (Zhe Qiao) - Allow ACPICA to skip Global Lock initialization (Huacai Chen) - Apply ACPI_NONSTRING in more places in ACPICA and fix two regressions related to incorrect ACPI_NONSTRING usage (Ahmed Salem) - Fix printing CDAT table header when disassembling CDAT AML (Ahmed Salem) - Use acpi_ds_clear_operands() in acpi_ds_call_control_method() in ACPICA (Hans de Goede) - Update dsmethod.c in ACPICA to address unused variable warning (Saket Dumbre) - Print error messages in ACPICA for too few or too many control method arguments (Saket Dumbre) - Update ACPICA version to 20250807 (Saket Dumbre) - Fix largest possible resource descriptor index in ACPICA (Dmitry Antipov) - Add Back-Invalidate restriction to CXL Window for CEDT in ACPICA (Davidlohr Bueso). - Add the package type to acceptable Arg3 types for _DSM in ACPICA because ACPI_TYPE_ANY does not cover it (Saket Dumbre) - Fix return values in ap_is_valid_checksum() in the acpidump utility in ACPICA (Kaushlendra Kumar) - Add Intel CVS ACPI HIDs to acpi_ignore_dep_ids[] so it is not regarded as real dependency (Hans de Goede) - Use ACPI_FREE() for freeing an ACPI object in description_show() in the ACPI sysfs-related code (Kaushlendra Kumar) - Fix memory leak in the ACPI processor idle driver registration error code path and optimize ACPI idle driver registration (Huisong Li, Rafael Wysocki) - Add module import namespace to the ACPI processor idle driver (Rafael Wysocki) - Eliminate static variable flat_state_cnt from the ACPI processor idle driver (Rafael Wysocki) - Release cpufreq policy references using __free() in the ACPI processor thermal driver (Zihuan Zhang) - Remove unused empty stubs of some functions and rearrange function declarations in a header file in the ACPI processor driver (Huisong Li) - Redefine two functions as void in the ACPI processor driver (Rafael Wysocki) - Stop exposing global variable acpi_idle_driver in the ACPI processor driver (Huisong Li) - Fix ACPI buffer properties extraction for data-only subnodes represented as _DSD-equivalent packages (Rafael Wysocki) - Fix handling of ACPI data-only subnodes represented as _DSD-equivalent packages in the case when they are embedded in larger _DSD-equivalent packages and clean up acpi_nondev_subnode_extract() (Rafael Wysocki) - Skip ACPI IRQ override on ASUS Vivobook Pro N6506CU (Sam van Kampen) - Add power resource init function and use it for introducing an HP EliteBook 855 G7 WWAN modem power resource quirk (Maciej Szmigiero) - Add support for DBG2 RISC-V SBI port subtype and Precise Baud Rate field to the ACPI SPCR table parser (Chen Pei) - Eliminate a dummy local variable from the ACPI thermal driver (Rafael Wysocki) - Fold two simple functions into their only caller in the ACPI fan driver (Rafael Wysocki) - Force native backlight on Lenovo 82K8 in the ACPI backlight (video) driver (Mario Limonciello) - Add missing sysfs_remove_group() for ACPI_TAD_RT (Daniel Tang) - Skip PRM handlers with NULL handler_address or NULL VA in the ACPI PRM driver (Shang song) - Remove redundant assignments in erst_dbg_{ioctl|write}() in the ACPI APEI driver (Thorsten Blum) - Allow the ACPI APEI EINJ to handle more types of addresses than just MMIO (Jiaqi Yan) - Use str_low_high() helper in two places in the ACPI code (Chelsy Ratnawat) - Use str_plural() to simplify the PNP code (Xichao Zhao) - Fix signedness issues in read/write helpers in the ACPI AML debugger interface (Amir Mohammad) Thanks!
thermal-6.18-rc1 Merge tag 'thermal-v6.18-rc1-2' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/thermal/linux Linux 6.17-rc4 to receive thermal control updates for 6.18-rc1. These are mostly thermal driver updates, including new thermal drivers for Renesas RZ/G3S and Renesas RZ/G3E SoCs, a new power slider platform feature support in the Intel int340x thermal driver, a new Tegra114- specific SOCTHERM driver and more. There is also a Step-wise thermal governor update allowing it to start reducing cooling somewhat earlier if the temperature of the given thermal zone is falling down and a thermal testing code cleanup. Specifics: - Add new thermal driver for the Renesas RZ/G3S SoC (Claudiu Beznea) - Add new thermal driver for the Renesas RZ/G3E SoC (John Madieu) - Add support for new platform power slider feature to the Intel int340x driver (Srinivas Pandruvada). - Add new Tegra114-specific SOCTHERM driver and document Tegra114 SOCTHERM Thermal Management System in DT bindings (Svyatoslav Ryhel) - Add temperature sensor channel to thermal-generic-adc (Svyatoslav Ryhel) - Add support for per-SoC default trim values to the Renesas rcar_gen3 thermal driver, use it for adding R-Car V4H default trim values, fix a comment typo in that driver and document Gen4 support in its Kconfig entry (Marek Vasut) - Fix mapping SoCs to generic Gen4 entry in the Renesas rcar_gen3 thermal driver (Wolfram Sang) - Document the TSU unit in the r9a08g045-tsu and r9a09g047-tsu DT bindings (Claudiu Beznea, John Madieu) - Make LMH select QCOM_SCM and add missing IRQ includes to the qcom/lmh thermal driver (Dmitry Baryshkov) - Fix incorrect error message in the qcom/lmh thermal driver (Sumeet Pawnikar) - Add QCS615 compatible to tsens thermal DT bindings (Gaurav Kohli) - Document the Glymur temperature sensor in qcom-tsens thermal DT bindings (Manaf Meethalavalappu Pallikunhi) - Make k3_j72xx_bandgap thermal driver register the thermal sensor with hwmon (Michael Walle) - Tighten GRF requirements in the rockchip thermal DT bindings, silence a GRF warning in the rockchip thermal driver and unify struct rockchip_tsadc_chip format in it (Sebastian Reichel) - Update the Step-wise thermal governor to allow it to reduce the cooling level earlier if thermal zone temperature is dropping and clean it up (Rafael Wysocki) - Clean up the thermal testing code (Rafael Wysocki) - Assorted cleanups of thermal drivers (Jiapeng Chong, Salah Triki, Osama Abdelkader) Thanks!
pm-6.18-rc1 Merge branch 'pm-tools' Merge tag 'pm-6.17-rc8' of to receive power management updates for 6.18-rc1. The majority of these are cpufreq changes, which has been a recurring pattern for a few recent cycles. Those changes include new hardware support (AN7583 SoC support in the airoha cpufreq driver, ipq5424 support in the qcom-nvmem cpufreq driver, MT8196 support in the mediatek cpufreq driver, AM62D2 support in the ti cpufreq driver), DT bindings and Rust code updates, cleanups of the core and governors, and multiple driver fixes and cleanups. Beyond that, there are hibernation fixes (some remaining 6.16 cycle fallout and an issue related to hybrid suspend in the amdgpu driver), cleanups of the PM core code, runtime PM documentation update, cpuidle and power capping cleanups, and tooling updates. Specifics: - Rearrange variable declarations involving __free() in the cpufreq core and intel_pstate driver to follow common coding style (Rafael Wysocki) - Fix object lifecycle issue in update_qos_request(), rearrange freq QoS updates using __free(), and adjust frequency percentage computations in the intel_pstate driver (Rafael Wysocki) - Update intel_pstate to allow it to enable HWP without EPP if the new DEC (Dynamic Efficiency Control) HW feature is enabled (Rafael Wysocki) - Use on_each_cpu_mask() in drv_write() in the ACPI cpufreq driver to simplify the code (Rafael Wysocki) - Use likely() optimization in intel_pstate_sample() (Yaxiong Tian) - Remove dead EPB-related code from intel_pstate (Srinivas Pandruvada) - Use scope-based cleanup for cpufreq policy references in multiple cpufreq drivers (Zihuan Zhang) - Avoid calling get_governor() for the first policy in the cpufreq core to simplify the initial policy path (Zihuan Zhang) - Clean up the cpufreq core in multiple places (Zihuan Zhang) - Use int type to store negative error codes in the cpufreq core and update the speedstep-lib to use int for error codes (Qianfeng Rong) - Update the efficient idle check for Intel extended Families in the ondemand cpufreq governor (Sohil Mehta) - Replace sscanf() with kstrtouint() in the conservative cpufreq governor (Kaushlendra Kumar) - Rename CpumaskVar::as[_mut]_ref to from_raw[_mut] in the cpumask Rust code and mark CpumaskVar as transparent (Alice Ryhl, Baptiste Lepers) - Update ARef and AlwaysRefCounted imports from sync::aref in the OPP Rust code (Shankari Anand) - Add support for AN7583 SoC to the airoha cpufreq driver (Christian Marangi) - Enable cpufreq for ipq5424 in the qcom-nvmem cpufreq driver (Md Sadre Alam) - Add support for MT8196 to the mediatek-hw cpufreq driver, refactor that driver and add mediatek,mt8196-cpufreq-hw DT binding (Nicolas Frattaroli) - Avoid redundant conditions in the mediatek cpufreq driver (Liao Yuanhong) - Add support for AM62D2 to the ti cpufreq driver and blocklist ti,am62d2 SoC in dt-platdev (Paresh Bhagat) - Support more speed grades on AM62Px SoC in the ti cpufreq driver, allow all silicon revisions to support OPPs in it, and fix supported hardware for 1GHz OPP (Judith Mendez) - Add QCS615 compatible to DT bindings for cpufreq-qcom-hw (Taniya Das) - Minor assorted updates of the scmi, longhaul, CPPC, and armada-37xx cpufreq drivers (Akhilesh Patil, BowenYu, Dennis Beier, and Florian Fainelli) - Remove outdated cpufreq-dt.txt (Frank Li) - Fix python gnuplot package names in the amd_pstate_tracer utility (Kuan-Wei Chiu) - Saravana Kannan will maintain the virtual-cpufreq driver (Saravana Kannan) - Prevent CPU capacity updates after registering a perf domain from failing on a first CPU that is not present (Christian Loehle) - Add support for the cases in which frequency alone is not sufficient to uniquely identify an OPP (Krishna Chaitanya Chundru) - Use to_result() for OPP error handling in Rust (Onur =C3=96zkan) - Add support for LPDDR5 on Rockhip RK3588 SoC to rockchip-dfi devfreq driver (Nicolas Frattaroli) - Fix an issue where DDR cycle counts on RK3588/RK3528 with LPDDR4(X) are reported as half by adding a cycle multiplier to the DFI driver in rockchip-dfi devfreq-event driver (Nicolas Frattaroli) - Fix missing error pointer dereference check of regulator instance in the mtk-cci devfreq driver probe and remove a redundant condition from an if () statement in that driver (Dan Carpenter, Liao Yuanhong) - Fail cpuidle device registration if there is one already to avoid sysfs-related issues (Rafael Wysocki) - Use sysfs_emit()/sysfs_emit_at() instead of sprintf()/scnprintf() in cpuidle (Vivek Yadav) - Fix device and OF node leaks at probe in the qcom-spm cpuidle driver and drop unnecessary initialisations from it (Johan Hovold) - Remove unnecessary address-of operators from the intel_idle cpuidle driver (Kaushlendra Kumar) - Rearrange main loop in menu_select() to make the code in that function easier to follow (Rafael Wysocki) - Convert values in microseconds to ktime using us_to_ktime() where applicable in the intel_idle power capping driver (Xichao Zhao) - Annotate loops walking device links in the power management core code as _srcu and add macros for walking device links to reduce the likelihood of coding mistakes related to them (Rafael Wysocki) - Document time units for *_time functions in the runtime PM API (Brian Norris) - Clear power.must_resume in noirq suspend error path to avoid resuming a dependant device under a suspended parent or supplier (Rafael Wysocki) - Fix GFP mask handling during hybrid suspend and make the amdgpu driver handle hybrid suspend correctly (Mario Limonciello, Rafael Wysocki) - Fix GFP mask handling after aborted hibernation in platform mode and combine exit paths in power_down() to avoid code duplication (Rafael Wysocki) - Use vmalloc_array() and vcalloc() in the hibernation core to avoid open-coded size computations (Qianfeng Rong) - Fix typo in hibernation core code comment (Li Jun) - Call pm_wakeup_clear() in the same place where other functions that do bookkeeping prior to suspend_prepare() are called (Samuel Wu) - Fix and clean up the x86_energy_perf_policy utility and update its documentation (Len Brown, Kaushlendra Kumar) - Fix incorrect sorting of PMT telemetry in turbostat (Kaushlendra Kumar) - Fix incorrect size in cpuidle_state_disable() and the error return value of cpupower_write_sysfs() in cpupower (Kaushlendra Kumar) Thanks!
This set of patches add a dlm_release_lockspace() flag to request that node-failure recovery be performed for the node leaving the lockspace. The implementation of this flag requires coordination with userland clustering components. It's been requested for use by GFS2. Thanks, Dave
Could you consider this pull request for 6.18-rc1? There is no outstanding feature for this cycle. One change adds support for FS_IOC_GETFSLABEL, and the others are fixes and cleanups. All commits have been in -next for a while and no potential merge conflict is observed. Thanks, Gao Xiang Changes since last update: - Support FS_IOC_GETFSLABEL ioctl; - Stop meaningless read-more policy on fragment extents; - Remove a duplicate check for ztailpacking inline.
Please accept the changes for FireWire subsystem to your tree. This update may appear to include many changes, but most of them are code refactoring. Except for the removal of firewire-ohci module parameter, there are only a few notable changes. firewire updates for v6.18 This update includes the following changes: - Removal of the deprecated debug parameter from firewire-ohci module - Replacement of the module-local workqueue in 1394 OHCI PCI driver with a companion IRQ thread - Refactoring of bus management code - Additional minor code cleanup The existing tracepoints serve as an alternative to the removed debug parameter. The use of IRQ thread is experimental, as it handles 1394 OHCI SelfIDComplete event only. It may be replaced in the future releases with another approach; e.g. by providing workqueue from core functionality
Here's the pull-request with the updates for MMC and MEMSTICK for v6.18. Details about the highlights are as usual found in the signed tag. Kind regards Ulf Hansson MMC core: - Improve RPMB frame handling code - Add support for a new max-sd-hs-hz DT property to limit frequency - Add support to manage regulator-under-voltage events - Support regulator-under-voltage for eMMC to mitigate data corruptions - Add mmc_read_tuning() to allow a host to validate its tuning sequence - Add some helpers to align checks for CMD23 support - Read the CCCR register for SDIO over SPI rather than the unsupported CMD7 MMC host: - Add COMPILE_TEST option for a couple of drivers - Convert drivers to use the modern PM macros - dw_mmc-exynos: Enable support for the Exynos8890 variant - mmc_spi: Don't use crc ack during multiple block read - renesas_sdhi: Enable 64-bit polling mode for R-Car gen3 and RZ/G2L SoCs - rtsx_usb: Add support for over-current-protection - sdhci-cadence: Add support for multi-block read gap tuning - sdhci-msm: Add support for tuning for SDR50 mode for SD cards - sdhci-msm: Enable support for the Lemans variant - sdhci-pci: Disable SD card clock before update for a few Intel platforms - sdhci-pxav3: Add support for UHS pinctrl settings - tmio: Add 64-bit read/write support in polling mode MEMSTICK: - Convert to use timeouts to prevent indefinite waiting - rtsx_usb: Add support for over-current-protection
Here's the pull-request with pmdomain updates for v6.18. More details about the highlights are as usual found in the signed tag. Kind regards Ulf Hansson pmdomain providers: - amlogic: Add support for S6/S7/S7D power-domains controller - imx: Add support for i.MX91 power-domains - marvell: Add support for PXA1908 power-domains - mediatek: Add support for modem power sequence - mediatek: Add support for RTFF Hardware in MT8196/MT6991 - qcom: Align power-domain definitions for rpmpd - rockchip: Default to use power-domain support - thead: Create auxiliary device along with a corresponding reset driver - ti: Synchronize on/off state with HW-state for ti-sci power-domains
spi: Updates for v6.18 There's one big core change in this release, Jonas Gorski has addressed the issues with multiple chip selects which makes things more robust and stable. Otherwise there's quite a bit of driver work, as well as some new drivers several existing drivers have had quite a bit of work done on them. Possibly the most interesting thing is the VirtIO driver, this is apparently useful for some automotive applications which want to keep as small and robust a host system as they can, moving less critical functionality into guests. - James Clark has done some substantial updates on the Freescale DSPI driver, porting in code from the BSP and building onm top of that to fix some bugs and increase performance. - Jonas Gorski has fixed the issues with handling multple chip selects, making things more robust and scalable. - Support for higher performance modes in the NXP FSPI driver from Haibo Chen. - Removal of the obsolete S3C2443 driver, the underlying SoC support has been removed from the kernel. - Support for Amlogic AL113L2, Atmel SAMA7D65 and SAM9x7 and for VirtIO controllers.
regulator: Updates for v6.18 This is a very quiet release for regulator, almost all the changes are new drivers but we do also have some improvements for the Rust bindings. - Additional APIs added to the Rust bindings. - Support for Maxim MAX77838, NXP PF0900 and PF5300, Richtek RT5133 and SpacemiT P1.
regmap: Updates for v6.18 This just contains a few small fixes, there's been no substantial development on regmap this release cycle.
Many thanks, -- Marco ------ >8 ------ Kernel Concurrency Sanitizer (KCSAN) updates for v6.18 - Replace deprecated strcpy() with strscpy() This change has had 6 weeks of linux-next exposure.
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Here's the PR containing the GPIO updates for this merge window. There are two new drivers and support for more models in existing ones. The generic GPIO API has been reworked and all users converted which allowed us to move the fields specific to the generic GPIO implementation out of the high-level struct gpio_chip into its own structure that wraps the gpio_chip. Other than that, there's nothing too exciting. Mostly minor tweaks and fixes all over the place, some refactoring and some small new features in helper modules. Details are in the signed tag. The merges you see here are either me pulling in MFD changes with GPIO drivers that depend on MFD changes or my own immutable branches provided for other trees. Thanks, Bartosz gpio updates for v6.18-rc1 GPIO core: - add support for sparse pin ranges to the glue between GPIO and pinctrl - use a common prefix across all GPIO descriptor flags for improved namespacing New drivers: - add new GPIO driver for the Nuvoton NCT6694 - add new GPIO driver for MAX7360 Driver improvements: - add support for Tegra 256 to the gpio-tegra186 driver - add support for Loongson-2K0300 to the gpio-loongson-64bit driver - refactor the gpio-aggregator module to expose its GPIO forwarder API to other in-kernel users (to enable merging of a new pinctrl driver that uses it) - convert all remaining drivers to using the modernized generic GPIO chip API and remove the old interface - stop displaying global GPIO numbers in debugfs output of controller drivers - extend the gpio-regmap helper with a new config option and improve its support for GPIO interrupts - remove redundant fast_io parameter from regmap configs in GPIO drivers that already use MMIO regmaps which imply it - add support for a new model in gpio-mmio: ixp4xx expansion bus - order includes alphabetically in a few drivers for better readability - use generic device properties where applicable - use devm_mutex_init() where applicable - extend build coverage of drivers by enabling more to be compiled with COMPILE_TEST enabled - allow building gpio-stmpe as a module - use dev_err_probe() where it makes sense in drivers Late driver fixes: - fix setting GPIO direction to output in gpio-mpfs Documentation: - document the usage of software nodes with GPIO chips Device-tree bindings: - Add DT bindings documents for new hardware: Tegra256, MAX7360 - Document a new model in Loongson bindings: LS2K0300 - Document a new model using the generic GPIO binding: IXP4xx - Convert the DT binding for fsl,mxs-pinctrl to YAML - fix the schema ID in the "trivial" GPIO schema - describe GPIO hogs in the generic GPIO binding
please pull s390 updates for the 6.18 merge window. There are two merge conflicts: With the net-next tree resolved in linux-next: https://lore.kernel.org/linux-next/aNKbgf7GyU5JP3Zh@finisterre.sirena.org.uk/ --- s390 updates for 6.18 merge window - Refactor SCLP memory hotplug code - Introduce common boot_panic() decompressor helper macro and use it to get rid of nearly few identical implementations - Take into account additional key generation flags and forward it to the ep11 implementation. With that allow users to modify the key generation process, e.g. provide valid combinations of XCP_BLOB_* flags - Replace kmalloc() + copy_from_user() with memdup_user_nul() in s390 debug facility and HMC driver - Add DAX support for DCSS memory block devices - Make the compiler statement attribute "assume" available with a new __assume macro - Rework ffs() and fls() family bitops functions, including source code improvements and generated code optimizations. Use the newly introduced __assume macro for that - Enable additional network features in default configurations - Use __GFP_ACCOUNT flag for user page table allocations to add missing kmemcg accounting - Add WQ_PERCPU flag to explicitly request the use of the per-CPU workqueue for 3590 tape driver - Switch power reading to the per-CPU and the Hiperdispatch to the default workqueue - Add memory allocation profiling hooks to allow better profiling data and the /proc/allocinfo output similar to other architectures
please pull the latest timers/clocksource branch from: ce-2025-09-29 b/scm/linux/kernel/git/daniel.lezcano/linux into timers/clocksource Updates for the clocksource/clockevents drivers subsystem: - Further preparations for modular clocksource/event drivers - The usual device tree updates to support new chip variants and the related changes to thise drivers - Avoid a 64-bit division in the TEGRA186 driver, which caused a build fail on 32-bit machines. - Small fixes, improvements and cleanups all over the place Thanks, tglx
please pull the latest locking/futex branch from: 25-09-29 undary" A set of updates for futexes and related selftests: - Plug the ptrace_may_access() race against a concurrent exec() which allows to pass the check before the target's process transition in exec() by taking a read lock on signal->ext_update_lock. - A large set of cleanups and enhancement to the futex selftests. The bulk of changes is the conversion to the kselftest harness. Thanks, tglx
please pull the latest timers/vdso branch from: -09-29 Updates for the VDSO subsystem: - Further consolidation of the VDSO infrastructure and the common data store. - Simplification of the related Kconfig logic - Improve the VDSO selftest suite Thanks, tglx
please pull the latest irq/drivers branch from: -09-29 IRQ controller Updates for interrupt chip drivers: - Use the startup/shutdown callbacks for the PCI/MSI per device interrupt domains. This allows to initialize the RISCV PLIC interrupt hierarchy correctly and provides a mechanism to decouple the masking and unmasking during run-time from the expensive PCI mask and unmask when the underlying MSI provider implementation allows the interrupt to be masked. - Initialize the RISCV PLIC MSI interrupt hierarchy correctly so that the affinity assignment works correctly by switching it over to the startup/shutdown scheme - Allow MSI providers to opt out from masking a PCI/MSI interrupt at the PCI device during operation when the provider can mask the interrupt at the underlying interrupt chip. This reduces the overhead in scenarios where disable_irq()/enable_irq() is utilized frequently by a driver. The PCI/MSI device level [un]masking is only required on startup and shutdown in this case. - Remove the conditional mask/unmask logic in the PCI/MSI layer as this is now handled unconditionally. - Replace the hardcoded interrupt routing in the Loongson EIOINTC interrupt driver to respect the firmware settings and spread them out to different CPU interrupt inputs so that the demultiplexing handler only needs to read only a single 64-bit status register instead of four, which significantly reduces the overhead in VMs as the status register access causes a VM exit. - Add support for the new AST2700 SCU interrupt controllers - Use the legacy interrupt domain setup for the Loongson PCH-LPC interrupt controller, which resembles the x86 legacy PIC setup and has the same hardcoded legacy requirements. - The usual set of cleanups, fixes and improvements all over the place Thanks, tglx
please pull the latest timers/core branch from: -09-29 Updates for the time(rs) core subsystem: - Address the inconsistent shutdown sequence of per CPU clockevents on CPU hotplug, which onoly removed it from the core but failed to invoke the actual device driver shutdown callback. This keeps the timer active, which prevents power savings and causes pointless noise in virtualization. - Encapsulate the open coded access to the hrtimer clock base, which is a private implementation detail, so that the implementation can be changed without breaking a lot of usage sites. - Enhance the debug output of the clocksource watchdog to provide better information for analysis. - The usual set of cleanups and enhancements all over the place Thanks, tglx
please pull the latest irq/core branch from: -29 RT A set of updates for the interrupt core subsystem: - Introduce irq_chip_[startup|shutdown]_parent() to prepare for addressing a few short comings in the PCI/MSI interrupt subsystem. It allows to utilize the interrupt chip startup/shutdown callbacks for initializing the interrupt chip hierarchy properly on certain RISCV implementations and provides a mechanism to reduce the overhead of masking and unmasking PCI/MSI interrupts during operation when the underlying MSI provider can mask the interrupt. The actual usage comes with the interrupt driver pull request. - Add generic error handling for devm_request_*_irq() This allows to remove the zoo of random error printk's all over the usage sites. - Add a mechanism to warn about long-running interrupt handlers Long running interrupt handlers can introduce latencies and tracking them down is a tedious task. The tracking has to be enabled with a threshold on the kernel command line and utilizes a static branch to remove the overhead when disabled. - Update and extend the selftests which validate the CPU hotplug interrupt migration logic - Allow dropping the per CPU softirq lock on PREEMPT_RT kernels, which causes contention and latencies all over the place. The serialization requirements have been pushed down into the actual affected usage sites already. - The usual small cleanups and improvements Thanks, tglx
please pull the latest core/rseq branch from: 9-29 on, to link with glibc Two fixes for RSEQ: 1) Protect the event mask modification against the membarrier() IPI as otherwise the RmW operation is unprotected and events might be lost. 2) Fix the weak symbol reference in rseq selftests The current weak RSEQ symbols definitions which were added to allow static linkage are not working correctly as the effectively re-define the glibc symbols leading to multiple versions of the symbols when compiled with -fno-common. Mark them as 'extern' to convert them from weak symbol definitions to weak symbol references. That works with static and dynamic linkage independent of -fcommon and -fno-common. Thanks, tglx
please pull the latest smp/core branch from: -29 neldoc An update of the stale smp_call_function_many() documentation to bring it back in sync with the actual implementation. Thanks, tglx
please pull the latest core/core branch from: 9-29 A set of changes to consolidate the generic TIF bits accross architectures All architectures define the same set of generic TIF bits. This makes it pointlessly hard to add a new generic TIF bit or to change an existing one. Provide a generic variant and convert the architectures which utilize the generic entry code over to use it. The TIF space is divided into 16 generic bits and 16 architecture specific bits, which turned out to provide enough space on both sides. Thanks, tglx
m68k updates for v6.18 - Fix whitespace in Zorro name macros, - Fix find_*_bit() signatures, - Defconfig updates. Thanks for pulling!
This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. Linus, RISC-V updates for the v6.18 merge window (part one) First set of RISC-V updates for the v6.18 merge window, including: - Replacement of __ASSEMBLY__ with __ASSEMBLER__ in header files (other architectures have already merged this type of cleanup) - The introduction of ioremap_wc() for RISC-V - Cleanup of the RISC-V kprobes code to use mostly-extant macros rather than open code - A RISC-V kprobes unit test - An architecture-specific endianness swap macro set implementation, leveraging some dedicated RISC-V instructions for this purpose if they are available - The ability to identity and communicate to userspace the presence of a MIPS P8700-specific ISA extension, and to leverage its MIPS-specific PAUSE implementation in cpu_relax() - Several other miscellaneous cleanups
Subject: [GIT PULL] pwm: Changes for v6.18-rc1 MIME-Version: 1.0 Hello Linus, the following changes since commit 8f5ae30d69d7543eee0d70083daf4de8fe15d585: Linux 6.17-rc1 (2025-08-10 19:41:16 +0300) are available in the Git repository at: wm/for-6.18-rc1 for you to fetch changes up to 8f2689f194b8d1bff41150ae316abdfccf191309: pwm: cros-ec: Avoid -Wflex-array-member-not-at-end warnings (2025-09-15 1= 1:39:47 +0200) pwm: Changes for v6.18-rc1 The core highlights for this cycle are: - The pca9586 driver was converted to the waveform API. - Waveform drivers automatically provide a gpio chip to make PWMs usable as GPIOs. (The pca9586 driver did that in a driver specific implementation before.) Otherwise it's the usual mix of fixes and device tree and driver changes to support new hardware variants. There is an immutable branch pending for this merge window that was created by Lee at t-pinctrl-pwm-v6.18 =2E I didn't add it here because it merges cleanly into my tree; you'll get it via Lee's PR and probably others, too. (For the next time such a situation arises: Would you prefer me including such a merge anyhow?) Otherwise this PR should be boring for you (https://www.youtube.com/watch?v=3DV_ioxeU7Kpw). Diffstat below as usual. Thanks to all contributors! Best regards Uwe
Hi Linus, Thanks, Tzung-Bi ------ chrome-platform: Updates for v6.18 * New - Add a new API cros_ec_device_registered() for checking if the cros_ec_deivce is ready. * Improvements - Use TRAILING_OVERLAP() to fix -Wflex-array-member-not-at-end warning. - Defer probe until parent EC device is ready in cros_ec_keyb. * Cleanups - Remove redundant and simplify code in cros_ec_chardev. - Centralize cros_ec_device allocation and initialization to remove duplicate code.
Thanks, Guenter ------ hwmon updates for v6.18-rc1 * New drivers - Driver for Kontron SMARC-sAM67 - Driver for GPD device sensors - Driver for MP29502 - Driver for MP2869, MP29608, MP29612 and MP29816 series * Added chip support to existing drivers - asus-ec-sensors: Add B650E-I Add PRIME Z270-A Add Pro WS WRX90E-SAGE SE Add ROG STRIX X670E-E GAMING WIFI Add ROG STRIX X870-I GAMING WIFI Add ROG STRIX X870E-E GAMING WIFI Add ROG STRIX Z690-E GAMING WIFI Add ROG STRIX Z790E GAMING WIFI II Add STRIX B850-I GAMING WIFI Add TUF GAMING X670E PLUS WIFI Add X670E-I GAMING WIFI Add Z790-I GAMING WIFI - dell-smm: Add support for Dell OptiPlex 7040 - ina238: Major cleanup, and Add support for INA700 Add support for INA780 - k10temp: Add device ID for Strix Halo Add support for AMD Family 1Ah-based models - lenovo-ec-sensors: Update P8 supprt - lm75: Add NXP P3T1750 support - pmbus/adm1275: Add sq24905c support - pmbus/isl68137: Add support for Renesas RAA228244 and RAA228246 - pmbus/mp5990: Add support for MP5998 - sht21: Add support for SHT20, SHT25 - sl28cpld: Add sa67mcu compatible * Other notable changes - core: Handle locking internally Introduce 64-bit energy attribute support - cros_ec: Register into thermal framework, improve PWM control - lm75: allow interrupt for ti,tmp75 - mlxreg-fan: Add support for new flavour of capability register - sbtsi_temp: AMD CPU extended temperature range support - sht21: Add devicetree support * Various other minor improvements and fixes
This pull request contains several fixes of syzbot reported issues, HFS/HFS+ fixes of xfstests failures, and rework of HFS/HFS+ debug output subsystem. Kang Chen has fixed a slab-out-of-bounds issue in hfsplus_uni2asc() when hfsplus_uni2asc() is called from hfsplus_listxattr(). Yang Chenzhi has fixed a crash in hfsplus_bmap_alloc() if record offset or length is larger than node_size. Yangtao Li made correction of returning error code from hfsplus_fill_super() if Catalog File contains corrupted record for the case of hidden directory's type. The KMSAN uninit-value issue has been fixed in hfs_find_set_zero_bits() by exchanging the kmalloc() on kzalloc() call. The KMSAN uninit-value issue in hfsplus_delete_cat() has been fixed by proper initialization of struct hfsplus_inode_info in the hfsplus_iget() logic. The KMSAN uninit-value issue in __hfsplus_ext_cache_extent() has been fixed by exchanging the kmalloc() on kzalloc() in hfs_find_init(). The slab-out-of-bounds issue could happen in hfsplus_strcasecmp() if the length field of struct hfsplus_unistr is bigger than HFSPLUS_MAX_STRLEN. The issue has been fixed by checking the length of comparing strings. And if the strings' length is bigger than HFSPLUS_MAX_STRLEN, then the length is corrected to this value. The generic/736 xfstest fails for HFS case because HFS volume becomes corrupted after the test run. The main reason of the issue is the absence of logic that corrects mdb->drNxtCNID/HFS_SB(sb)->next_id (next unused CNID) after deleting a record in Catalog File. It was introduced a hfs_correct_next_unused_CNID() method that implements the necessary logic. hfs updates for v6.18 - hfs/hfsplus: rework debug output subsystem - hfsplus: fix slab-out-of-bounds read in hfsplus_strcasecmp() - hfsplus: fix slab-out-of-bounds read in hfsplus_uni2asc() - hfs: clear offset and space out of valid records in b-tree node - hfs: add logic of correcting a next unused CNID - hfsplus: fix KMSAN uninit-value issue in hfsplus_delete_cat() - hfs: fix KMSAN uninit-value issue in hfs_find_set_zero_bits() - hfs: make proper initalization of struct hfs_find_data - hfsplus: fix KMSAN uninit-value issue in __hfsplus_ext_cache_extent() - hfs: validate record offset in hfsplus_bmap_alloc - hfsplus: return EIO when type of hidden directory mismatch in hfsplus_fill_super() - MAINTAINERS: update location of hfs&hfsplus trees
Hi Rafael, Fixes incorrect return vale in cpupower_write_sysfs() error path and passing incorrect size to cpuidle_state_write_file() while writing status to disable file in cpuidle_state_disable(). diff is attached. thanks, -- Shuah linux-cpupower-6.18-rc1 Fixes incorrect return vale in cpupower_write_sysfs() error path and passing incorrect size to cpuidle_state_write_file() while writing status to disable file in cpuidle_state_disable().
I did a test merge pulling in Miguel's Rust tree and found two trivial incl= ude conflicts -- otherwise no conflicts expected. All changes have been in linux-next for at least six rounds (except for two minor patches that change the Display implementation of pci::Vendor and pci::Class to print the actual vendor and class name). - Danilo Driver core changes for 6.18-rc1 - Auxiliary: - Drop call to dev_pm_domain_detach() in auxiliary_bus_probe() - Optimize logic of auxiliary_match_id() - Rust: - Auxiliary: - Use primitive C types from prelude - DebugFs: - Add debugfs support for simple read/write files and custom callbacks through a File-type-based and directory-scope-based API - Sample driver code for the File-type-based API - Sample module code for the directory-scope-based API - I/O: - Add io::poll module and implement Rust specific read_poll_timeout() helper - IRQ: - Implement support for threaded and non-threaded device IRQs based on (&Device<Bound>, IRQ number) tuples (IrqRequest) - Provide &Device<Bound> cookie in IRQ handlers - PCI: - Support IRQ requests from IRQ vectors for a specific pci::Device<Boun= d> - Implement accessors for subsystem IDs, revision, devid and resource s= tart - Provide dedicated pci::Vendor and pci::Class types for vendor and cla= ss ID numbers - Implement Display to print actual vendor and class names; Debug to pr= int the raw ID numbers - Add pci::DeviceId::from_class_and_vendor() helper - Use primitive C types from prelude - Various minor inline and (safety) comment improvements - Platform: - Support IRQ requests from IRQ vectors for a specific platform::Device<Bound> - Nova: - Use pci::DeviceId::from_class_and_vendor() to avoid probing non-display/compute PCI functions - Misc: - Add helper for cpu_relax() - Update ARef import from sync::aref - sysfs: - Remove bin_attrs_new field from struct attribute_group - Remove read_new() and write_new() from struct bin_attribute - Misc: - Document potential race condition in get_dev_from_fwnode() - Constify node_group argument in software node registration functions - Fix order of kernel-doc parameters in various functions - Set power.no_pm flag for faux devices - Set power.no_callbacks flag along with the power.no_pm flag - Constify the pmu_bus bus type - Minor spelling fixes
This is the next round of the Rust support. A small one this time. One of the trees I merge (pin-init) is going this cycle through DRM for convenience. No conflicts expected at this time. Nevertheless, I did a test merge and tested it a bit and it seems fine. When you merge other trees, you will have some. The resolutions in -next should be fine, except for a `rustfmt` issue in one, so please remember to double-check that on your merges (it may be solved by the time you get to it). All commits have been in linux-next for at least four rounds, most for two weeks or more. Cheers, Miguel Rust changes for v6.18 Toolchain and infrastructure: - Derive 'Zeroable' for all structs and unions generated by 'bindgen' where possible and corresponding cleanups. To do so, add the 'pin-init' crate as a dependency to 'bindings' and 'uapi'. It also includes its first use in the 'cpufreq' module, with more to come in the next cycle. - Add warning to the 'rustdoc' target to detect broken 'srctree/' links and fix existing cases. - Remove support for unused (since v6.16) host '#[test]'s, simplifying the 'rusttest' target. Tests should generally run within KUnit. 'kernel' crate: - Add 'ptr' module with a new 'Alignment' type, which is always a power of two and is used to validate that a given value is a valid alignment and to perform masking and alignment operations: // Checked at build time. assert_eq!(Alignment::new::<16>().as_usize(), 16); // Checked at runtime. assert_eq!(Alignment::new_checked(15), None); assert_eq!(Alignment::of::<u8>().log2(), 0); assert_eq!(0x25u8.align_down(Alignment::new::<0x10>()), 0x20); assert_eq!(0x5u8.align_up(Alignment::new::<0x10>()), Some(0x10)); assert_eq!(u8::MAX.align_up(Alignment::new::<0x10>()), None); It also includes its first use in Nova. - Add 'core::mem::{align,size}_of{,_val}' to the prelude, matching Rust 1.80.0. - Keep going with the steps on our migration to the standard library 'core::ffi::CStr' type (use 'kernel::{fmt, prelude::fmt!}' and use upstream method names). - 'error' module: improve 'Error::from_errno' and 'to_result' documentation, including examples/tests. - 'sync' module: extend 'aref' submodule documentation now that it exists, and more updates to complete the ongoing move of 'ARef' and 'AlwaysRefCounted' to 'sync::aref'. - 'list' module: add an example/test for 'ListLinksSelfPtr' usage. - 'alloc' module: - Implement 'Box::pin_slice()', which constructs a pinned slice of elements. - Provide information about the minimum alignment guarantees of 'Kmalloc', 'Vmalloc' and 'KVmalloc'. - Take minimum alignment guarantees of allocators for 'ForeignOwnable' into account. - Remove the 'allocator_test' (including 'Cmalloc'). - Add doctest for 'Vec::as_slice()'. - Constify various methods. - 'time' module: - Add methods on 'HrTimer' that can only be called with exclusive access to an unarmed timer, or from timer callback context. - Add arithmetic operations to 'Instant' and 'Delta'. - Add a few convenience and access methods to 'HrTimer' and 'Instant'. 'macros' crate: - Reduce collections in 'quote!' macro. And a few other cleanups and improvements.
Note, there is a trivial conflict between tip and bpf-next trees: in kernel/events/uprobes.c between commit: 4363264111e12 ("uprobe: Do not emulate/sstep original instruction when ip is changed") from the bpf-next tree and commit: ba2bfc97b4629 ("uprobes/x86: Add support to optimize uprobes") from the tip tree: https://lore.kernel.org/all/aNVMR5rjA2geHNLn@sirena.org.uk/ since Jiri's two separate uprobe/bpf related patch series landed in different trees. One was mostly uprobe. Another was mostly bpf. Other than that the main changes are: - Support pulling non-linear xdp data with bpf_xdp_pull_data() kfunc (Amery Hung). Applied as a stable branch in bpf-next and net-next trees. - Support reading skb metadata via bpf_dynptr (Jakub Sitnicki). Also a stable branch in bpf-next and net-next trees. - Enforce expected_attach_type for tailcall compatibility (Daniel Borkmann) - Replace path-sensitive with path-insensitive live stack analysis in the verifier (Eduard Zingerman). This is a significant change in the verification logic. More details, motivation, long term plans are in the cover letter/merge commit. - Support signed BPF programs (KP Singh). This is another major feature that took years to materialize. Algorithm details are in the cover letter/marge commit. - Add support for may_goto instruction to s390 JIT (Ilya Leoshkevich) - Add support for may_goto instruction to arm64 JIT (Puranjay Mohan) - Fix USDT SIB argument handling in libbpf (Jiawei Zhao) - Allow uprobe-bpf program to change context registers (Jiri Olsa) - Support signed loads from BPF arena (Kumar Kartikeya Dwivedi and Puranjay Mohan) - Allow access to union arguments in tracing programs (Leon Hwang) - Optimize rcu_read_lock() + migrate_disable() combination where it's used in BPF subsystem (Menglong Dong) - Introduce bpf_task_work_schedule*() kfuncs to schedule deferred execution of BPF callback in the context of a specific task using the kernel’s task_work infrastructure (Mykyta Yatsenko) - Enforce RCU protection for KF_RCU_PROTECTED kfuncs (Kumar Kartikeya Dwivedi) - Add stress test for rqspinlock in NMI (Kumar Kartikeya Dwivedi) - Improve the precision of tnum multiplier verifier operation (Nandakumar Edamana) - Use tnums to improve is_branch_taken() logic (Paul Chaignon) - Add support for atomic operations in arena in riscv JIT (Pu Lehui) - Report arena faults to BPF error stream (Puranjay Mohan) - Search for tracefs at /sys/kernel/tracing first in bpftool (Quentin Monnet) - Add bpf_strcasecmp() kfunc (Rong Tao) - Support lookup_and_delete_elem command in BPF_MAP_STACK_TRACE (Tao Chen) Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Hi Rafael, after an error reported by kbuild test, it appears a file missed when importing the RZ/G3E new driver which stayed locally after a conflict resolution. This change is on top of the previous tag. Alternatively, if you wish to drop the previous PR, I can emit a new PR with this offending change fixed, IOW this fix folded with initial patch (which sounds cleaner to me BTW). - Add missing file when importing conflicting change for the Renesas RZ/G3E thermal driver (Daniel Lezcano)
- Add a RISC-V optimized implementation of Poly1305. This code was written by Andy Polyakov and contributed by Zhihang Shao. - Migrate the MD5 code into lib/crypto/, and add KUnit tests for MD5. Yes, it's still the 90s, and several kernel subsystems are still using MD5 for legacy use cases. As long as that remains the case, it's helpful to clean it up in the same way as I've been doing for other algorithms. Later, I plan to convert most users of MD5 to use the new MD5 library API instead of the generic crypto API. - Simplify the organization of the ChaCha, Poly1305, BLAKE2s, and Curve25519 code. Consolidate these into one module per algorithm, and centralize the configuration and build process. This is the same reorganization that has already been successful for SHA-1 and SHA-2. - Remove the unused crypto_kpp API for Curve25519. - Migrate the BLAKE2s and Curve25519 self-tests to KUnit. - Always enable the architecture-optimized BLAKE2s code. Due to interdependencies between test and non-test code, both are included in this pull request. The broken-down diffstat is as follows: Tests: 735 insertions(+), 1917 deletions(-) RISC-V Poly1305: 877 insertions(+), 1 deletion(-) Other: 1777 insertions(+), 3117 deletions(-) Besides the new RISC-V code which is an addition, there are quite a few simplifications due to the improved code organization for multiple algorithms, the removal of the unused crypto_kpp API for Curve25519 and redundant tests, and the redesign of the BLAKE2s test.
Note: this depends on the pull request "[GIT PULL 03/12 for v6.18] inode" from Christian Brauner. Add support for 2-way interleaved SHA-256 hashing to lib/crypto/, and make fsverity use it for faster file data verification. This improves fsverity performance on many x86_64 and arm64 processors. Later, I plan to make dm-verity use this too.
Make fs/crypto/ use the HMAC-SHA512 library functions instead of crypto_shash. This is simpler, faster, and more reliable.
Update crc_kunit to test the CRC functions in softirq and hardirq contexts, similar to what the lib/crypto/ KUnit tests do. Move the helper function needed to do this into a common header. This is useful mainly to test fallback code paths for when FPU/SIMD/vector registers are unusable.
Hi Wolfram, this merge window pull request is rather small, and the blame is all on me. It has been a very messy period, leaving me with little time to look after the patches for 6.18. That said, I now have quite a bit of work ahead, but I am confident that with the next pull request I will manage to slim the queue down. For now, I hope you will not mind a second part of this pull request, where I plan to include the most obvious patches from those still in the queue. Thank you and wishing you a great weekend, Andi i2c-host for v6.18 dt-bindings: - add support for MediaTek MT6878 I2C - Drp[ support fpr S3C2410
cgroup: Changes for v6.18 - Extensive cpuset code cleanup and refactoring work with no functional changes: CPU mask computation logic refactoring, introducing new helpers, removing redundant code paths, and improving error handling for better maintainability. - A few bug fixes to cpuset including fixes for partition creation failures when isolcpus is in use, missing error returns, and null pointer access prevention in free_tmpmasks(). - Core cgroup changes include replacing the global percpu_rwsem with per-threadgroup rwsem when writing to cgroup.procs for better scalability, workqueue conversions to use WQ_PERCPU and system_percpu_wq to prepare for workqueue default switching from percpu to unbound, and removal of unused code including the post_attach callback. - New cgroup.stat.local time accounting feature that tracks frozen time duration. - Misc changes including selftests updates (new freezer time tests and backward compatibility fixes), documentation sync, string function safety improvements, and 64-bit division fixes.
workqueue: Changes for v6.18 - WQ_PERCPU was added to remaining alloc_workqueue() users and system_wq usage was replaced with system_percpu_wq and system_unbound_wq with system_dfl_wq. These are equivalent conversions with no functional changes, preparing for switching default to unbound workqueues from percpu. - A handshake mechanism was added for canceling BH workers to avoid live lock scenarios under PREEMPT_RT. - Unnecessary rcu_read_lock/unlock() calls were dropped in wq_watchdog_timer_fn() and workqueue_congested(). - Documentation was fixed to resolve texinfodocs warnings.
sched_ext: Changes for v6.18 - Code organization cleanup. Separate internal types and accessors to ext_internal.h to reduce the size of ext.c and improve maintainability. - Prepare for cgroup sub-scheduler support by adding @sch parameter to various functions and helpers, reorganizing scheduler instance handling, and dropping obsolete helpers like scx_kf_exit() and kf_cpu_valid(). - Add new scx_bpf_cpu_curr() and scx_bpf_locked_rq() BPF helpers to provide safer access patterns with proper RCU protection. scx_bpf_cpu_rq() is deprecated with warnings due to potential race conditions. - Improve debugging with migration-disabled counter in error state dumps, SCX_EFLAG_INITIALIZED flag, bitfields for warning flags, and other enhancements to help diagnose issues. - Use cgroup_lock/unlock() for cgroup synchronization instead of scx_cgroup_rwsem based synchronization. This is simpler and allows enable/disable paths to synchronize against cgroup changes independent of the CPU controller. - rhashtable_lookup() replacement to avoid redundant RCU locking was reverted due to RCU usage warnings. Will be redone once rhashtable is updated to use rcu_dereference_all(). - Other misc updates and fixes including bypass handling improvements, scx_task_iter_relock() improvements, tools/sched_ext updates, and compatibility helpers.
[sending this early as I'm fishing on Monday] across the board, including some nice mm improvements for CPUs with the "noabort" BBML2 feature and a clever patch to allow ptdump to play nicely with block mappings in the vmalloc area. We've only had a couple of trivial conflicts show up in -next: * The fs-next tree has taken clone3() support for shadow stacks and this gives rise to a simple context conflict in our asm/gcs.h. There's been some late ABI feedback from the glibc community, however, so maybe Christian will end up dropping the patches [1]. * The kbuild tree has removed the tautological dependency that CONFIG_CPU_BIG_ENDIAN has on the assembler version. However, we've extended that to make it depend on BROKEN in anticipation of dropping support altogether. I've already got a handful of minor fixes to go on top but I'll send those separately once they've had a chance to sit in -next. Summary in the tag. Cheers, Will [1] https://lore.kernel.org/r/20250919-unredlich-lohnkampf-d3d0836baeec@brauner --->8 arm64 updates for 6.18 Confidential computing: - Add support for accepting secrets from firmware (e.g. ACPI CCEL) and mapping them with appropriate attributes. CPU features: - Advertise atomic floating-point instructions to userspace. - Extend Spectre workarounds to cover additional Arm CPU variants. - Extend list of CPUs that support break-before-make level 2 and guarantee not to generate TLB conflict aborts for changes of mapping granularity (BBML2_NOABORT). - Add GCS support to our uprobes implementation. Documentation: - Remove bogus SME documentation concerning register state when entering/exiting streaming mode. Entry code: - Switch over to the generic IRQ entry code (GENERIC_IRQ_ENTRY). - Micro-optimise syscall entry path with a compiler branch hint. Memory management: - Enable huge mappings in vmalloc space even when kernel page-table dumping is enabled. - Tidy up the types used in our early MMU setup code. - Rework rodata= for closer parity with the behaviour on x86. - For CPUs implementing BBML2_NOABORT, utilise block mappings in the linear map even when rodata= applies to virtual aliases. - Don't re-allocate the virtual region between '_text' and '_stext', as doing so confused tools parsing /proc/vmcore. Miscellaneous: - Clean-up Kconfig menuconfig text for architecture features. - Avoid redundant bitmap_empty() during determination of supported SME vector lengths. - Re-enable warnings when building the 32-bit vDSO object. - Avoid breaking our eggs at the wrong end. Perf and PMUs: - Support for v3 of the Hisilicon L3C PMU. - Support for Hisilicon's MN and NoC PMUs. - Support for Fujitsu's Uncore PMU. - Support for SPE's extended event filtering feature. - Preparatory work to enable data source filtering in SPE. - Support for multiple lanes in the DWC PCIe PMU. - Support for i.MX94 in the IMX DDR PMU driver. - MAINTAINERS update (Thank you, Yicong). - Minor driver fixes (PERF_IDX2OFF() overflow, CMN register offsets). Selftests: - Add basic LSFE check to the existing hwcaps test. - Support nolibc in GCS tests. - Extend SVE ptrace test to pass unsupported regsets and invalid vector lengths. - Minor cleanups (typos, cosmetic changes). System registers: - Fix ID_PFR1_EL1 definition. - Fix incorrect signedness of some fields in ID_AA64MMFR4_EL1. - Sync TCR_EL1 definition with the latest Arm ARM (L.b). - Be stricter about the input fed into our AWK sysreg generator script. - Typo fixes and removal of redundant definitions. 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.
Locking updates for v6.16 mostly include Rust runtime enhancements: - Add initial support for generic LKMM atomic variables in Rust. (Boqun Feng) - Add the wrapper for `refcount_t` in Rust. (Gary Guo) - Make `data` in `Lock` structurally pinned. (Daniel Almeida) - Add a new reviewer, Gary Guo. Thanks, Ingo
Performance events updates for v6.18: Core perf code updates: - Convert mmap() related reference counts to refcount_t. This is in reaction to the recently fixed refcount bugs, which could have been detected earlier and could have mitigated the bug somewhat. (Thomas Gleixner, Peter Zijlstra) - Clean up and simplify the callchain code, in preparation for sframes. (Steven Rostedt, Josh Poimboeuf) Uprobes updates: - Add support to optimize usdt probes on x86-64, which gives a substantial speedup. (Jiri Olsa) - Cleanups and fixes on x86 (Peter Zijlstra) PMU driver updates: - Various optimizations and fixes to the Intel PMU driver (Dapeng Mi) Misc cleanups and fixes: - Remove redundant __GFP_NOWARN (Qianfeng Rong) Thanks, Ingo
Hi Rafael, please consider the following changes since commit 8f5ae30d69d7543eee0d70083daf4de8fe15d585: Linux 6.17-rc1 (2025-08-10 19:41:16 +0300) are available in the Git repository at: ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git tags/thermal-v6.18-rc1 for you to fetch changes up to 79428e60897916401c9ed326f6ada4d7c7c997a3: dt-bindings: thermal: qcom-tsens: Document the Glymur temperature Sensor (2025-09-26 13:27:44 +0200) - Add the QCS615 compatible DT bindings for QCom platforms (Gaurav Kohli) - Support fallback trimming values when the fuse is empty in the R-Car driver (Marek Vasut) - Remove unneeded semicolon in the Mediatek LVTS driver (Jiapeng Chong) - Fix the LMH Kconfig option by selecting QCOM_SCM and take the opportunity to add the COMPILE_TEST option for the QCom's LMH feature (Dmitry Baryshkov) - Fix the missing includes and incorrect error message in the Qcom's LMH driver (Dmitry Baryshkov) - Fix comment typo and add the documentation in the Kconfig for the R-Car Gen3 and Gen4 (Marek Vasut) - Add Tegra114 SOCTHERM support (Svyatoslav Ryhel) - Rename the functions name in the driver to be consistent and generic with the different R-Car platform variants (Wolfram Sang) - Register the TI K3 J72xx bandgap sensor as a hwmon sensor too (Michael Walle) - Add and document the thermal sensor unit reporting the junction temperature of the RZ/G3S SoC (Claudiu Beznea) - Support the GRF in the Rockchip driver (Sebastian Reichel) - Add a temperature IIO sensor channel in the generic thermal ADC driver (Svyatoslav Ryhel) - Document the temperature sensor on the QCOM's Glymur platform (Manaf Meethalavalappu) - Add and document the thermal sensor unit reporting the junction temperature of the RZ/G3E SoC (John Madieu)
This is the batch of pull requests for the v6.18 merge window! This was a pretty usual cycle. Not light, not particularly heavy. There are a few minor filesystem specific changes such as afs and pidfs but nothing that's really worth mentioning. Same goes for iomap and rust. There are some changes around clone3() and copy_process() that lead to some cleanups. There's some workqueue chagnes that affect all of fs but it's not all that exciting and we don't have to care once all the cleanup is done and the semantics for per-cpu and unbounded workqueues are simplified and clarified. There's a pretty interesting writeback series by Jan Kara that fixes a nasty issue causing lockups reported by users when a systemd unit reading lots of files from a filesystem mounted with the lazytime mount option exits. With the lazytime mount option enabled we can be switching many dirty inodes on cgroup exit to the parent cgroup. The numbers observed in practice when a systemd slice of a large cron job exits can easily reach hundreds of thousands or millions. The overall time complexity of switching all the inodes to the correct wb is quadratic leading to workers being pegged for hours consuming 100% of the CPU and switching inodes to the parent wb. That issue should be gone. We also have a series that shrinks struct inode by 16 bytes. This is really something I care about because struct inode in contrast to struct file and struct dentry both of which are meticulously clean by now (I mean, it could alwasy be better, but you know...) struct inode is still a giant dumping ground where everyone is made to pay for features that only 3 filesystems actually end up using. First step, I've moved fscrpt and fsverity pointers out of struct inode and into the individual filesystems that care about this. Hopefully more to come in that area. There's also some preliminary cleanup related to the inode lifetime rework that is currently under way leading to less open-coded accesses to internal inode members and some simplifications for iput_final(). Last but not least there's a bunch of namespace related rework this cycle. This specifically also addresses a complaint you had a few weeks back about ns_alloc_inum(). That's now completely gone and so is the special-casing of the init network namespace initialization. Initialization, reference counting, and cleanup are now unified and statically derived from the namespace type allowing the compiler to catch obvious bugs. The namespace iterator infrastructure I did for the mount namespace some time back is now extended and generalized to cover all other namespace types. As a first step this allows the implemenation of namespace file handles. As with pidfs file handles, namespace file handles are exhaustive, meaning it is not required to actually hold a reference to nsfs to be able to decode aka open_by_handle_at() a namespace file handle. It has the same advantage as pidfs file handles have. It's possible to reliably and for the lifetime of the system refer to a namespace without pinning any resources and to compare them trivially. The namespace file handle layout is exposed as uapi and has a stable and extensible format. The stable format means that userspace may construct its own namespace file handles without going through name_to_handle_at(). Thanks! Christian
( Merge note: we've stopped using Link tags for the purpose of tip-bot lkml email notifications during the v6.18 development window, and thus commits applied after September 15-ish only have Links if they are particularly informative. Commits before that still have the old-style Link tags. ) Scheduler updates for v6.18: Core scheduler changes: - Make migrate_{en,dis}able() inline, to improve performance (Menglong Dong) - Move STDL_INIT() functions out-of-line (Peter Zijlstra) - Unify the SCHED_{SMT,CLUSTER,MC} Kconfig (Peter Zijlstra) Fair scheduling: - Defer throttling when tasks exit to user-space, to reduce the chance & impact of throttle-preemption with held locks and other resources. (Aaron Lu, Valentin Schneider) - Get rid of sched_domains_curr_level hack for tl->cpumask(), as the warning was getting triggered on certain topologies. (Peter Zijlstra) Misc cleanups & fixes: - Header cleanups (Menglong Dong) - Fix race in push_dl_task() (Harshit Agarwal) Thanks, Ingo
Please git pull the following tag: xen: branch for v6.18-rc1 It contains the following patches: - a 3 patch series fixing the migration of a Xen virq to another cpu plus some related cleanup work - a 3 patch series cleaning up Xen-PV mode specific code, resulting in removing some of that code in the resulting binary in case CONFIG_XEN_PV is not set - 2 fixes and 1 cleanup patch for suspend handling under Xen Thanks. Juergen arch/x86/configs/xen.config | 1 -
please pull the x86/apic lineup for v6.18-rc1. The AMD SEV (encrypted guests and hypervisor support) side of things received a lot of development this time around and you should be getting a lot of code from several trees. Even this branch contains two big features because it was deemed a better idea to merge them into one. So there might be other merge conflicts, like with the crypto tree, for example: https://lore.kernel.org/r/aM1bJqhtojdLhp3c@sirena.org.uk The resolution should be easy but lemme give you a heads-up anyway. Thx. --- - Add functionality to provide runtime firmware updates for the non-x86 parts of an AMD platform like the security processor (ASP) firmware, modules etc, for example. The intent being that these updates are interim, live fixups before a proper BIOS update can be attempted - Add guest support for AMD's Secure AVIC feature which gives encrypted guests the needed protection against a malicious hypervisor generating unexpected interrupts and injecting them into such guest, thus interfering with its operation in an unexpected and negative manner. The advantage of this scheme is that the guest determines which interrupts and when to accept them vs leaving that to the benevolence (or not) of the hypervisor - Strictly separate the startup code from the rest of the kernel where former is executed from the initial 1:1 mapping of memory. The problem was that the toolchain-generated version of the code was being executed from a different mapping of memory than what was "assumed" during code generation, needing an ever-growing pile of fixups for absolute memory references which are invalid in the early, 1:1 memory mapping during boot. The major advantage of this is that there's no need to check the 1:1 mapping portion of the code for absolute relocations anymore and get rid of the RIP_REL_REF() macro sprinkling all over the place. For more info, see Ard's very detailed writeup on this: https://lore.kernel.org/r/CAMj1kXEzKEuePEiHB%2BHxvfQbFz0sTiHdn4B%2B%2BzVBJ2mhkPkQ4Q@mail.gmail.com - The usual cleanups and fixes
please pull the x86/cache lineup for v6.18-rc1. Thx. --- - Add support on AMD for assigning QOS bandwidth counters to resources (RMIDs) with the ability for those resources to be tracked by the counters as long as they're assigned to them. Previously, due to hw limitations, bandwidth counts from untracked resources would get lost when those resources are not tracked. Refactor the code and user interfaces to be able to also support other, similar features on ARM, for example
please pull the x86/cpu lineup for v6.18-rc1. Thx. --- - Make UMIP instruction detection more robust - Correct and cleanup AMD CPU topology detection; document the relevant CPUID leaves topology parsing precedence on AMD - Add support for running the kernel as guest on FreeBSD's Bhyve hypervisor - Cleanups and improvements
please pull the x86/bugs lineup for v6.18-rc1. Thx. --- - Add VMSCAPE to the attack vector controls infrastructure - A bunch of the usual cleanups and fixlets, some of them resulting from fuzzing the different mitigation options
please pull the RAS lineup for v6.18-rc1. Thx. --- - Unify and refactor the MCA arch side and better separate code - Cleanup and simplify the AMD RAS side, unify code, drop unused stuff
please pull the x86/microcode lineup for v6.18-rc1. Thx. --- - Add infrastructure to be able to debug the microcode loader in a guest - Refresh Intel old microcode revisions
please pull a x86/asm fix for v6.18-rc1. Thx. --- - Fix RDPID's output operand size in inline asm and use the insn mnemonic because the minimum binutils version supports it
please pull a single x86/misc update for v6.18-rc1. Thx. --- - Add instruction decoding support for the XOP-prefixed instruction set present on the AMD Bulldozer uarch
please pull the x86/build lineup for v6.18-rc1. Thx. --- - Remove and simplify a bunch of cc-option and compiler version checks in the build machinery now that the minimal version of both compilers supports them
please pull the EDAC lineup for v6.18. Thx. --- - Add support for new AMD family 0x1a models to amd64_edac - Add an EDAC driver for the AMD VersalNET memory controller which reports hw errors from different IP blocks in the fabric using an IPC-type transport - Drop the silly static number of memory controllers in the Intel EDAC drivers (skx, i10nm) in favor of a flexible array so that former doesn't need to be increased with every new generation which adds more memory controllers; along with a proper refactoring - Add support for two Alder Lake-S SOCs to ie31200_edac - Add an EDAC driver for ADM Cortex A72 cores, and specifically for reporting L1 and L2 cache errors - Last but not least, the usual fixes, cleanups and improvements all over the subsystem
Hi Thomas, please consider the following changes since commit 8f5ae30d69d7543eee0d70083daf4de8fe15d585: Linux 6.17-rc1 (2025-08-10 19:41:16 +0300) are available in the Git repository at: ssh://git@gitolite.kernel.org/pub/scm/linux/kernel/git/daniel.lezcano/linux tags/timers-v6.18-rc1 for you to fetch changes up to 45d78cd0bf2c40e74c31f70340484e20aae45b07: dt-bindings: timer: exynos4210-mct: Add compatible for ARTPEC-9 SoC (2025-09-24 15:46:27 +0200) - Add the module owner to all the drivers which can be converted into modules in order to have the core time framework to take the refcount and prevent wild module removal. In addition export the symbols for the sched_clock_register() function to allow the drivers to be converted into modules (Daniel Lezcano) - Convert the faraday,fttmr010 DT bindings to yaml schema (Rob Herring) - Add the DT bindings compatible string for the MT6572 (Max Shevchenko) - Fix the fsl,ftm-timer bindings by using the items to describe a register (Frank Li) - Add the DT binding documentation for Andes machine timer (Ben Zong-You Xie) - Avoid 64-bit divide operation which fails on xtensa and simplify the timeleft computation with 32 bits operations on Tegra186 (Guenter Roeck) - Add the fsl,timrot.yaml DT bindings for i.MX23/i.MX28 timer (Frank Li) - Replace comma by semicolon which were introduced when moving the static structure initialization (Chen Ni) - Add a new compatible for the MediaTek MT8196 SoC, fully compatible with MT6765 (AngeloGioacchino Del Regno) - Add the support for the s32g2 and s32g3 platforms in the PIT timer after cleaning up the code to support multiple instances (Daniel Lezcano) - Generate platform devices for MMIO timers with ACPI and integrate it with the arch ARM timer (Marc Zyngier) - Fix RTL OTTO timer by working around dying timers (Markus Stockhausen) - Remove extra error message in the tegra186 timer (Wolfram Sang) - Convert from round_rate() to determine_rate() in the Ingenic sysost driver (Brian Masney) - Add PWM capture functionality in the OMAP DM driver (Gokul Praveen) - Autodetect the clock rate to initialize a prescaler value compatible with the frequency changes on the ARM global timer (Markus Schneider-Pargmann) - Fix rollbacks missing resource deallocation in case of error on the clps711x (Zhen Ni) - Reorganize the code to split the start and the stop routine on the sh_cmt driver (Niklas Söderlund) - Add the compatible definition for ARTPEC-9 on exynos MCT (SungMin Park)
USB serial updates for 6.18-rc1 Here are the USB serial updates for 6.18-rc1 consisting of some new modem device ids and a trivial cleanup. Everything has been in linux-next with no reported issues.
please pull these three simple patches to your tree. Thanks, Michal Microblaze patches for 6.18-rc1 - Fix typos in Kconfig - s/__ASSEMBLY__/__ASSEMBLER__/g
Hi SoC maintainers, Here's the first batch of PXA1908 DT changes for 6.18. Regards, Duje
Hi Arnd, The bus/fsl-mc changes outside soc/fsl tree are acked by maintainer of QORIQ DPAA2 FSL-MC BUS DRIVER. Thanks Christophe FSL SOC Changes for 6.18: - Use for_each_online_cpu() instead of for_each_cpu() in qbman - Update FSL QUICC ENGINE GPIO driver to a standard platform driver and stop using legacy-of-mm-gpiochip.h header - Misc fixes on bus/fsl-mc
Hi, please pull the following updates for btrfs. There are no new features, the changes are in the core code, notably tree-log error handling and reporting improvements, and initial support for block size > page size. (There's one build warning due to printk format mismatch reported on i386, we'll fix it before rc1. I did not consider it serious enough to rework and delay the whole pull request.) Performance improvements: - search data checksums in the commit root (previous transaction) to avoid locking contention, this improves parallelism of read heavy/low write workloads, and also reduces transaction commit time; on real and reproducer workload the sync time went from minutes to tens of seconds (workload and numbers are in the changelog) Core: - tree-log updates - error handling improvements, transaction aborts - add new error state 'O' (printed in status messages) when log replay fails and is aborted - reduced number of btrfs_path allocations when traversing the tree - 'block size > page size' support - basic implementation with limitations, under experimental build - limitations: no direct io, raid56, encoded read (standalone and in send ioctl), encoded write - preparatory work for compression, removing implicit assumptions of page and block sizes - compression workspaces are now per-filesystem, we cannot assume common block size for work memory among different filesystems - tree-checker now verifies INODE_EXTREF item (which is implementing hardlinks) - tree leaf pretty printer updates, there were missing data from items, keys/items - move config option CONFIG_BTRFS_REF_VERIFY to CONFIG_BTRFS_DEBUG, it's a debugging feature and not needed to be enabled separately - more struct btrfs_path auto free updates - use ref_tracker API for tracking delayed inodes, enabled by mount option 'ref_verify', allowing to better pinpoint leaking references - in zoned mode, avoid selecting data relocation zoned for ordinary data block groups - updated and enhanced error messages - lots of cleanups and refactoring
NIOS2: update for v6.18 - Replace __ASSEMBLY__ with __ASSEMBLER__ in headers - Set memblock.current_limit when setting pfn limits
LoongArch KVM changes for v6.18 1. Add PTW feature detection on new hardware. 2. Add sign extension with kernel MMIO/IOCSR emulation. 3. Improve in-kernel IPI emulation. 4. Improve in-kernel PCH-PIC emulation. 5. Move kvm_iocsr tracepoint out of generic code.
please consider pulling the following gfs2 changes for 6.18. gfs2 changes - Partially revert "gfs2: do_xmote fixes" to ignore dlm_lock() errors during withdraw; passing on those errors doesn't help. - Change the LM_FLAG_TRY and LM_FLAG_TRY_1CB logic in add_to_queue() to check if the holder would actually block. - Move some more dlm specific code from glock.c to lock_dlm.c. - Remove the unused dlm alternate locking mode code. - Add proper locking to make sure that dlm lockspaces are never used after being released. - Various other cleanups.
From: Nicolas Ferre <nicolas.ferre@microchip.com> Dear arm-soc maintainers, Here are the first dt changes for 6.18 which contain some little node additions. The QSPI node has its bindings accepted and going with the SPI tree: https://lore.kernel.org/lkml/20250908-microchip-qspi-v2-0-8f3d69fdd5c9@microchip.com/ Thanks, best regards, Nicolas Microchip AT91 device tree updates for v6.18 This update includes: - sama7d65 and curiosity board: addition of gpio, leds and usart3 - sam9x75: qspi node - one cleanup
This is the pull request with interconnect changes for the v6.18-rc1 merge window. As always, the summary is in the signed tag. All patches have been in linux-next for a full week. There are currently Thanks, Georgi interconnect changes for 6.18 This pull request contains the interconnect changes for the 6.18-rc1 merge window. It contains new driver and a minor core cleanup. Core change: - Use device_match_of_node() instead of open coding it Driver changes: - Add new driver for the Qualcomm Glymur SoC - Enable OSM L3 support for the QCS615 SoC Signed-off-by: Georgi Djakov <djakov@kernel.org>
Apple SoC driver updates for 6.18 Krzysztof Kozlowski asked us to move away from generic compatibles: - Adjust all dt-bindings to use apple,t8103-XXXX instead of apple,XXXX as fallback and add a comment that the old generic list should no longer be extended. - Add new fallback compatibles to pinctrl, pmdomain, spi, and mca drivers. These changes have been Acked by their subsystem maintainers to be merged through our tree together with the dt-bindings. Support for pre-M1 Apple Silicon: - SART and mailbox gain support for Apple's A11, which are both required for NVMe. - NVMe also gains support for Apple's A11 and the nvme maintainers prefer that we merge this through the soc tree together with the mailbox and SART changes. - SPMI compatibles for A11 and T2 have been added, also going through the soc tree due to conflicts with the generic compatible removal and because no driver change is required. Signed-off-by: Sven Peter <sven@kernel.org>
Hi Peter & Ingo, than usual because I was at Kangrejos conference this week, however the changes are relatively small and simple, so I think it's Ok for v6.18. I also try using "git notes" for submission links as Thomas suggests, let see how it goes ;-) Locking changes for v6.18: - Fix a data-race in do_raw_write_lock reported by KCSAN Rust locking changes for v6.18 - Make `data` in `Lock` structurally pinned. Previously the `data` field of a `Lock<T>` is not structurally pinned, and it's impossible to initialize the `data` field with a pin-initializer, hence e.g. a `Lock<T>` where T is a pin-initialized type is not supported. This encourages workarounds like `Lock<Pin<KBox<T>>`, which is more complicated and less efficient. Therefore make the `data` field in `Lock` structurally pinned to support pin-initialized types in a `Lock<T>`. Since the `data` field is structurally pinned, make `Guard<T, ...>` only `DerefMut` is T is Unpin, otherwise `Guard::as_mut()` is added to provide a `Pin<&mut T>`. This is different than normal Rust standand library locks. -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEj5IosQTPz8XU1wRHSXnow7UH+rgFAmjNGoEACgkQSXnow7UH +riU8ggAnRUTBam8NTmHJpZfVbbNSfx1ndaARxd9Wb/MLEh8OHYKbVRPJwvWGge+ dafO0VYULku7ho1SeIlLXp4Bbjy3YC6o/J6xOpr9xMmysUky7RHi+Ys0y9gKaSmW daPurQEOS8TBUWu5yVxNAfWoRgPEiPULovbzgANKKAV7QsljyoEg7mQCPxLftPze Hr22HxU+lr6SDH5Efc8ihGqXJAvwunk+0mkJymZbjWo3ZF3cuhXlTMcIlu1SK14a R1VQu5UoX8S5y0T0gkJ84UJ11e0wrSZyT0EqmHWSpVBnyGgWk8H1u284hDiGG2iG FvwoSQ9iVuxLhxjhPUSOjq30DzmFfg== =MZj4 -----END PGP SIGNATURE-----
Hi, if that is needed. TI SoC driver updates for v6.18 - ti_sci: Add support for abort handling of entry to Low Power Mode - k3-socinfo: Add decode for AM62L SR1.1 silicon revision - pruss: Replace usage of %pK in printk with safer %p formatting
Hi, if that is needed. TI K3 device tree updates for v6.18 Generic fixes and cleanups: * k3-pinctrl: Fix incorrect macro usage, add missing DeepSleep/drive streng= th macros * k3: Rename rproc reserved-mem nodes to 'memory@addr' and add labels for reserved-memory * Long time pending major remoteproc firmware refactoring to allow flexibil= ity for downstream variants: - am62x/am62ax: Move Mailbox/Remoteproc nodes to board-level DTS files - am64/am65/j721e/j721s2/j784s4/j742s2/j7200: Move Remoteproc enablement = to board-level DTS - am62a/am62/am62p/j722s: Similarly restructure Mailbox/Remoteproc configs - am65/am64: Refactor IPC firmware carveouts/mailboxes into new SoC family-specific dtsi files - j721e/j721s2/j784s4/j742s2/am62/am62p/am62a/am64/am65/j7200/j722s: Refa= ctor IPC firmware configs into new board-independent dtsi files - Various boards: Add missing or corrected carveouts/timers/mailbox confi= gs for IPC firmware alignment * Multiple-boards: Bootph-all property added for USB PHYs to support DFU bo= ot. New Boards/SoM/SiP: * Variscite VAR-SOM-AM62P SoM and carrier boards * AM6254atl SiP package and SK SoC specific changes: AM62P: * Update eMMC HS400 STRB tuning value * Split HS400 support away from J722S due to errata * Add Variscite VAR-SOM-AM62P SoM and Symphony carrier board support AM62: * Remove unused DeepSleep USB1 pin config on SK * Add CSI2 interrupts property on main CSI2RX * Enable Mailbox & Remoteproc at board level * PocketBeagle2 + Verdin variants: Add missing IPC firmware carveouts, enab= le R5F/M4F AM62A: * Fix padcfg length in pad configuration registers * Remove unused DeepSleep USB1 pin config on SK * Add CSI2 interrupts property * Add 1.4GHz OPP entry for phyCORE-AM62Ax * Enable Mailbox & Remoteproc at board level * Add missing IPC firmware carveouts for PocketBeagle2 and other boards AM62D2: * Add Octal SPI NOR flash (OSPI) support for EVM * Enable USB0/USB1 interface on EVM AM625: * Introduce AM6254atl SiP base SoC support * Add SK-AM6254atl board AM64: * Refactor IPC firmware configs into new dtsi * Enable Remoteproc at board level * Add PA stats property for PEB-C-010 expansion Ethernet card * phyCORE SoM + SR SoM/Electra board: Add missing IPC firmware configs AM65: * Refactor IPC firmware configs into new dtsi * Enable Remoteproc at board level AM69: * Switch SERDES0 config to PCIe Multilink + USB mode, enabling independent PCIe1 & PCIe3 link speeds J7200: * Refactor IPC firmware configs into new dtsi * Enable R5F Remoteproc at board level J721E: * Add DSI + DPHY-TX nodes * Add CSI2 interrupts property * BeagleBone AI64: Switch R5 clusters to split mode, add timer reserves for IPC FW, Correct carveouts (revert mistaken reordering of C6x carveouts) * Refactor IPC firmware configs into new dtsi * Enable Remoteproc at board level J721S2: * Add DSI + DSI PHY nodes * Add USB0 Type-A overlay for EVM * Add CSI2 interrupts property * Ensure PCIe node has proper interrupt-controller #address-cells fixes dtbs_check warning. * Refactor IPC firmware configs into new dtsi * Enable Remoteproc at board level * Common processor board: Add DisplayPort-1 enable, I2C4 instance for display connector J722S: * Add bootph-all to usb0_phy_ctrl node (DFU) * Add JPEG Encoder node (E5010) * Add CSI2 interrupts properties on main/J722S/AM62P common main * Refactor IPC firmware configs into new dtsi * Enable Remoteproc at board level J784S4/J742S2: * Add CSI2 interrupts properties on main-common * Add DSI & PHY support * Enable DisplayPort-1 on EVM * Refactor IPC firmware configs into new dtsi (common & SoC-specific) * Enable Remoteproc at board level * J742S2: Override MCU R5 firmware names in dedicated dtsi Board specific changes: AM62P Variscite Symphony Board: * Add support with USB, Eth, Camera, CAN, GPIO expander AM642-phyBOARD-Electra * Add PEB-C-010 Ethernet expansion board overlay * Add PA stats handle AM642-sr/phyCORE * Add missing IPC carveouts for R5F/M4F AM62-Verdin/AM62P-Verdin * Add missing IPC carveouts for R5F/M4F, mailboxes
Hi, if that is needed. Keystone2 device tree updates for v6.18 Cosmetic cleanups: * dt-bindings: Convert ti,keystone to DT schema
Hi Dave and Sima, Besides the DRM changes, this PR also contains some new DMA & scatterlist infrastructure (incl. some alloc dependencies), with Nova as a first user. It also includes a few AsBytes and FromBytes additions needed by Nova. I merged this cycle's pin-init PR from Benno, since Nova is the first user taking advantage of the new features included. There are a couple of conflicts with other trees (Rust, MM, Driver Core, Li= nus), but they are mostly around includes and all trivial [1..8] -- no semantic conflicts. All changes have been in -next for a couple of rounds; the latest nova-core series from Alex for one cycle. - Danilo [1] https://lore.kernel.org/all/20250905124634.68da9a1e@canb.auug.org.au/ [2] https://lore.kernel.org/all/20250905125139.109081b2@canb.auug.org.au/ [3] https://lore.kernel.org/all/20250905125653.0ebc7580@canb.auug.org.au/ [4] https://lore.kernel.org/all/20250905144449.437ef3cf@canb.auug.org.au/ [5] https://lore.kernel.org/all/20250912120159.1d6518cc@canb.auug.org.au/ [6] https://lore.kernel.org/all/20250912135146.0c3ea18f@canb.auug.org.au/ [7] https://lore.kernel.org/all/aMlfiBynRQrbW3BT@sirena.org.uk/ [8] https://lore.kernel.org/all/aMlhpIhjbrDR4C8L@sirena.org.uk/ DRM Rust changes for v6.18 Alloc - Add BorrowedPage type and AsPageIter trait - Implement Vmalloc::to_page() and VmallocPageIter - Implement AsPageIter for VBox and VVec DMA & Scatterlist - Add dma::DataDirection and type alias for dma_addr_t - Abstraction for struct scatterlist and struct sg_table DRM - In the DRM GEM module, simplify overall use of generics, add DriverFile type alias and drop Object::SIZE. Nova (Core) - Various register!() macro improvements (paving the way for lifting it to common driver infrastructure) - Minor VBios fixes and refactoring - Minor firmware request refactoring - Advance firmware boot stages; process Booter and patch its signature, process GSP and GSP bootloader - Switch development fimrware version to r570.144 - Add basic firmware bindings for r570.144 - Move GSP boot code to its own module - Clean up and take advantage of pin-init features to store most of the driver's private data within a single allocation - Update ARef import from sync::aref - Add website to MAINTAINERS entry Nova (DRM) - Update ARef import from sync::aref - Add website to MAINTAINERS entry Pin-Init - Merge pin-init PR from Benno - `#[pin_data]` now generates a `*Projection` struct similar to the `pin-project` crate. - Add initializer code blocks to `[try_][pin_]init!` macros: make initializer macros accept any number of `_: {/* arbitrary code */},` & make them run the code at that point. - Make the `[try_][pin_]init!` macros expose initialized fields via a `let` binding as `&mut T` or `Pin<&mut T>` for later fields. Rust - Various methods for AsBytes and FromBytes traits Tyr - Initial Rust driver skeleton for ARM Mali GPUs. - It can power up the GPU, query for GPU metatdata through MMIO and provide the metadata to userspace via DRM device IOCTL (struct drm_panthor_dev_query).
Hi Dave and Sima, Besides the DRM changes, this PR also contains some new DMA & scatterlist infrastructure (incl. some alloc dependencies), with Nova as a first user. It also includes a few AsBytes and FromBytes additions needed by Nova. I merged this cycle's pin-init PR from Benno, since Nova is the first user taking advantage of the new features included. There are a couple of conflicts with other trees (Rust, MM, Driver Core, Li= nus), but they are mostly around includes and all trivial [1..8] -- no semantic conflicts. All changes have been in -next for a couple of rounds; the latest nova-core series from Alex for one cycle. - Danilo [1] https://lore.kernel.org/all/20250905124634.68da9a1e@canb.auug.org.au/ [2] https://lore.kernel.org/all/20250905125139.109081b2@canb.auug.org.au/ [3] https://lore.kernel.org/all/20250905125653.0ebc7580@canb.auug.org.au/ [4] https://lore.kernel.org/all/20250905144449.437ef3cf@canb.auug.org.au/ [5] https://lore.kernel.org/all/20250912120159.1d6518cc@canb.auug.org.au/ [6] https://lore.kernel.org/all/20250912135146.0c3ea18f@canb.auug.org.au/ [7] https://lore.kernel.org/all/aMlfiBynRQrbW3BT@sirena.org.uk/ [8] https://lore.kernel.org/all/aMlhpIhjbrDR4C8L@sirena.org.uk/ DRM Rust changes for v6.18 Alloc - Add BorrowedPage type and AsPageIter trait - Implement Vmalloc::to_page() and VmallocPageIter - Implement AsPageIter for VBox and VVec DMA & Scatterlist - Add dma::DataDirection and type alias for dma_addr_t - Abstraction for struct scatterlist and struct sg_table DRM - In the DRM GEM module, simplify overall use of generics, add DriverFile type alias and drop Object::SIZE. Nova (Core) - Various register!() macro improvements (paving the way for lifting it to common driver infrastructure) - Minor VBios fixes and refactoring - Minor firmware request refactoring - Advance firmware boot stages; process Booter and patch its signature, process GSP and GSP bootloader - Switch development fimrware version to r570.144 - Add basic firmware bindings for r570.144 - Move GSP boot code to its own module - Clean up and take advantage of pin-init features to store most of the driver's private data within a single allocation - Update ARef import from sync::aref - Add website to MAINTAINERS entry Nova (DRM) - Update ARef import from sync::aref - Add website to MAINTAINERS entry Pin-Init - Merge pin-init PR from Benno - `#[pin_data]` now generates a `*Projection` struct similar to the `pin-project` crate. - Add initializer code blocks to `[try_][pin_]init!` macros: make initializer macros accept any number of `_: {/* arbitrary code */},` & make them run the code at that point. - Make the `[try_][pin_]init!` macros expose initialized fields via a `let` binding as `&mut T` or `Pin<&mut T>` for later fields. Rust - Various methods for AsBytes and FromBytes traits Tyr - Initial Rust driver skeleton for ARM Mali GPUs. - It can power up the GPU, query for GPU metatdata through MMIO and provide the metadata to userspace via DRM device IOCTL (struct drm_panthor_dev_query).
From: Nicolas Ferre <nicolas.ferre@microchip.com> Dear arm-soc maintainers, Here are the at91 soc changes for 6.18. They are move specific to at91 product line and are all related to PM code. Nicolas Microchip arm-soc updates for v6.18 This update includes: - low priority fixes to the PM code, in relation to recent addition of sam9x75 or sama7d65 SoCs - removal of the 2.5V regulator for low power modes since this is no longer supported
From: Nicolas Ferre <nicolas.ferre@microchip.com> Dear clock maintainers, Here are the first clk changes for 6.18. I don't think they have conflict with changes for the deprecated round_rate() to determine_rate() topic. They are in linux-next for a couple of days. Nicolas Microchip clock updates for v6.18 This update includes: - add one clock for sam9x75 - new meaning for MCR register field in clk-master - use force-write to PLL update register to ensure reliable programming sequence - update Analog Control Register (ACR) management to accommodate differences across SoCs
i.MX clock changes for 6.18 - Rework the i.MX95 BLK CTL driver to add the platform data to the state container. - Retain the state of the i.MS95 BLK CTL registers through both runtime and system suspend.
the TEE subsystem as described below. The QTEE patches depend on two patches from branch '20250911-qcom-tee-using-tee-ss-without-mem-obj-v12-2-17f07a942b8d@oss.qualcomm.com' Björn asked me [2] to pull them from his tree. This pull request is based on my previous pull request with tee-prot-dma-buf-for-v6.18 to avoid a few conflicts when merging. [1] https://lore.kernel.org/op-tee/20250911-qcom-tee-using-tee-ss-without-mem-obj-v12-0-17f07a942b8d@oss.qualcomm.com/ [2] https://lore.kernel.org/op-tee/mir6lhkj456ra3i6w7def4rrtzw663f66l66cz4s3gxxvueeqk@ils2hjklbp4y/ Thanks, Jens Add Qualcomm TEE driver (QTEE) This introduces a Trusted Execution Environment (TEE) driver for Qualcomm TEE (QTEE). QTEE enables Trusted Applications (TAs) and services to run securely. It uses an object-based interface, where each service is an object with sets of operations. Kernel and userspace services are also available to QTEE through a similar approach. QTEE makes callback requests that are converted into object invocations. These objects can represent services within the kernel or userspace process. We extend the TEE subsystem to understand object parameters and an ioctl call so client can invoke objects in QTEE: - TEE_IOCTL_PARAM_ATTR_TYPE_OBJREF_* - TEE_IOC_OBJECT_INVOKE The existing ioctl calls TEE_IOC_SUPPL_RECV and TEE_IOC_SUPPL_SEND are used for invoking services in the userspace process by QTEE. The TEE backend driver uses the QTEE Transport Message to communicate with QTEE. Interactions through the object INVOKE interface are translated into QTEE messages. Likewise, object invocations from QTEE for userspace objects are converted into SEND/RECV ioctl calls to supplicants.
From: Nicolas Ferre <nicolas.ferre@microchip.com> Dear arm-soc maintainers, Here are the SoC changes for 6.18 which set the Kconfig infrastrucutre for addition of the Microchip LAN969x SoC. Thanks, best regards, Nicolas Microchip ARM64 SoC updates for v6.18: This update includes: - basic infrastructure support for Microchip LAN969x SoC - SoC ARCH symbols (existing SparX-5, new LAN969x) under the ARCH_MICROCHIP hidden symbol (already in use by AT91 in 6.17) - addition of that new symbol for drivers that are shared by Microchip SoC-s now and in the future
This is a second 6.18 PR for the ASPEED devicetrees, following the first at [1]. Cheers, Andrew [1]: https://lore.kernel.org/soc/cb634cffaf0db9d25fb3062f0eee41e03955321f.c= amel@codeconstruct.com.au/ --- Further ASPEED devicetree updates for v6.18 New platforms: - Meta Clemente Clemente is a compute-tray platform using an AST2600 SoC Updated platforms: - Harma (Meta): Hot-swap controller, power monitoring, GPIO names There are also some devicetree cleanups from Rob and Krzysztof that touch a variety of platforms and the DTSIs. These lead to fewer warnings emitted fo= r the ASPEED devicetrees.
Hi Danilo, As discussed with Miguel, I'm sending my PR to you this time. The code changes themselves aren't that big, but functionality-wise there are three important ones: pin-projections, code blocks and access to previously initialized fields. More syntax changes will be on the way for v6.19 and I hope I'll be a bit earlier in that cycle :) The commits have been in linux-next for one day. I have a conflict with your devres fix that's in -rc3, the resolution in linux-next looks good. --- Cheers, Benno pin-init changes for v6.18 Changed: - `#[pin_data]` now generates a `*Projection` struct similar to the `pin-project` crate. - Add initializer code blocks to `[try_][pin_]init!` macros: make initializer macros accept any number of `_: {/* arbitrary code */},` & make them run the code at that point. - Make the `[try_][pin_]init!` macros expose initialized fields via a `let` binding as `&mut T` or `Pin<&mut T>` for later fields. Upstream dev news: - Released v0.0.10 before the changes included in this tag. - Inform users of the impending rename from `pinned-init` to `pin-init` (in the kernel the rename already happened). - More CI improvements.
Dear Greg, This is extcon-next pull request. I add detailed description of I'm sorry that I did not send the separate fixes pull request. This pull request does not contain any problematic patches according to your comment. Best Regards, Chanwoo Choi Update extcon next for v6.18 Detailed description for this pull request: - Fix wakeup source leaks on device unbind for extcon drivers - Add new Maxim MAX14526 MUIC extcon driver and dt-binding document : The MAX14526 is designed to simplify interface requirements on portable devices by multiplexing common inputs (USB, UART, Microphone, Stereo Audio and Composite Video) on a single micro/mini USB connector. The USB input supports Hi-Speed USB and the audio/video inputs feature : This provides the following supported external connector detection - EXTCON_USB - EXTCON_USB_HOST - EXTCON_CHG_USB_FAST - EXTCON_DISP_MHL - Convert legacy DT binding to YAML of richktek,rt8973a-muic.yaml - Add missing DT binding information of that must include either id-gpios or vbus-gpios for linux,extcon-usb-gpio.yaml
Memory controller drivers for v6.18 1. STM32 OMM: Fix ineffective/missing setting of the req2ack in the device based on DT property, if the value is different than 0. 2. Samsung Exynos SROM: Fix IO map resource leak if of_platform_populate() in probe() failed. 3. Broadcom brcmstb: Document existing, older devices in Devicetree bindings. 4. Tegra 210 EMC: Document OPP table for interconnects (driver usage will come later) and define memory client IDs as bindings, because these are shared between DTS and driver.
Hi, Samsung SoC driver sfor v6.18. This should be my last Samsung pull for this merge window. Best regards, Krzysztof Samsung SoC drivers for v6.18 1. Google GS101: Enable CPU Idle, which needs programming C2 idle hints via ACPM firmware (Alive Clock and Power Manager). The patch introducing this depends on 'local-timer-stop' Devicetree property, which was merged in v6.17. Fix handling error codes in ACPM firmware driver when talking to PMIC. 2. Exynos2200: Add dedicated compatible for serial engines (USI).
subsystem. There's a brief desciption in the tag below. All patches but "dma-buf: dma-heap: export declared functions" are withing the TEE subsystem. The dma-heap maintainer, Sumit Semwal, has acked the dma-heap patch to be merged via my tree. I believe I've addressed all comments from the reviews including providing a demo as described in [1]. [1] https://lore.kernel.org/op-tee/20250911135007.1275833-1-jens.wiklander@linaro.org/ Thanks, Jens TEE protected DMA-bufs for v6.18 - Allocates protected DMA-bufs from a DMA-heap instantiated from the TEE subsystem. - The DMA-heap uses a protected memory pool provided by the backend TEE driver, allowing it to choose how to allocate the protected physical memory. - Three use-cases (Secure Video Playback, Trusted UI, and Secure Video Recording) have been identified so far to serve as examples of what can be expected. - The use-cases have predefined DMA-heap names, "protected,secure-video", "protected,trusted-ui", and "protected,secure-video-record". The backend driver registers protected memory pools for the use-cases it supports.
code by using the SHA-1 library instead of crypto_shash. Thanks, Jens Use SHA-1 library instead of crypto_shash
sysfs_emit() instead of scnprintf() for buffers passed to userspace. Thanks, Jens Use sysfs_emit() for sysfs buffers to userspace
Dear Rafael, This is devfreq-next pull request. I add detailed description of following updates. Best Regards, Chanwoo Choi Update devfreq next for v6.18 Detailed description for this pull request: - Add support for LPDDR5 for Rockhip RK3588 SoC on rockchip-dfi devfreq driver. - Fix an issue where DDR cycle counts on RK3588/RK3528 with LPDDR4(X) are reported as half by adding a cycle multiplier to the DFI driver on rockchip-dfi devfreq-event driver. - Fix missing error pointer dereference of regulator instance and remove redundant condition on on mtk-cci-devfreq.c devfreq driver.
Samsung DTS ARM changes for v6.18 1. Drop S3C2416 SoC from bindings, because it was removed from kernel in 2023. 2. Add Ethernet attached via SROM controller (memory bus) on SMDK5250. This wasn't tested, but code should work just like it is working on Exynos5410-based boards.
Samsung SoC clock drivers changes for 6.18 1. Tesla FSD: Expose CSI clocks to consumers (DTS). 2. Exynos990: - Few fixes for fixed factor clocks, register widths and proper PLL parents. - Add four more clocks for the DPU and HSI0 clock for USB. - Add PERIC0 and PERIC1 clock controllers (CMU), responsible for providing clocks to serial engines. 3. Add seven clock controllers for the new Axis ARTPEC-8 SoC. The SoC shares all main blocks, including the clock controllers, with Samsung SoC, so same drivers and bindings are used. 4. Cleanups: switch to determine_rate().
Samsung pinctrl drivers changes for v6.18 1. Add pin controller drivers for new Axis ARTPEC-8 SoC. The SoC shares all main blocks, including the pin controller, with Samsung SoC, so same drivers and bindings are used. 2. Drop remaining support for Samsung S3C2410 SoC pin controllers. The actual SoC support was removed in January 2023, so this is just remaining cleanup.
Hi Greg, Just two minor improvements. Best regards, Krzysztof 1-Wire bus drivers for v6.18 1. Correct missing interrupts in IMX 1-Wire Devicetree bindings. 2. Drop old, dead code from Matrox driver.
Samsung SoC defconfig changes for v6.18 1. Cleanup MTD_NAND_S3C2410, being removed from the kernel via separate tree. 2. Enable Axis ARTPEC SoC in arm64 defconfig - new Samsung subarch.
Hi Stephen, Yixun Lan RISC-V SpacemiT clock changes for 6.18 - Convert to use determine_rate() - Fix clocks of SSPA
T-HEAD Devicetrees for v6.18 Add a device tree node for the IMG BXM-4-64 GPU present in the T-HEAD TH1520 SoC used by the Lichee Pi 4A board. This node enables support for the GPU using the drm/imagination driver. By adding this node, the kernel can recognize and initialize the GPU, providing graphics acceleration capabilities on the Lichee Pi 4A and other boards based on the TH1520 SoC. The display controller and HDMI output are still a work in progress. Also included is a MAINTAINERS patch that adds an entry for the T-Head SoC patchwork. Signed-off-by: Drew Fustini <fustini@kernel.org>
T-HEAD clock changes for v6.18 Updates for the T-HEAD TH1520 clock controller: - Describe gate clocks with clk_gate so that clock gates can be clock parents. This is similar to the mux clock refactor in 54edba916e29 ("clk: thead: th1520-ap: Describe mux clocks with clk_mux"). - Add support for enabling/disabling PLLs. Some PLLs are put into a disabled state by the bootloader, and clock driver now has the ability to enable them. - Set all AXI clocks to CLK_IS_CRITICAL. The AXI crossbar of TH1520 has no proper timeout handling, which means gating AXI clocks can easily lead to bus timeout and hang the system. All these clock gates are ungated by default on system reset. - Convert all current CLK_IGNORE_UNUSED usage to CLK_IS_CRITICAL to prevent unwanted clock gating. - Fix parent of padctrl0 clock, fix parent of DPU pixel clocks and support changing DPU pixel clock rate. All changes have been tested in linux-next. Signed-off-by: Drew Fustini <fustini@kernel.org>
Hi Will, Peter and Mark, I'm sending this pull request containing Rust atomic changes to tip tree. You can find the technical details below, but most importantly we got a new reviewer for ATOMIC INFRASTRUCTURE that can help maintaining the code. Welcome Gary! Similar to other pull requests of myself to the tip tree, this pull request is sent in form as patch series as well, in case that I missed something and changes are needed in some patch. Thanks! Rust atomic changes for v6.18: - Add initial support for generic LKMM atomic variables in Rust. This ensures Rust and C side are using the same memory model when communicating with each other, and would unblock a few more fine-grained concurrent core on Rust side. - Add the wrapper for `refcount_t` in Rust. This avoids using customized reference counting solution on Rust side (e.g. in `block::mq`). -----BEGIN PGP SIGNATURE----- iQEzBAABCAAdFiEEj5IosQTPz8XU1wRHSXnow7UH+rgFAmi6YvwACgkQSXnow7UH +rh/kgf+LruO9gn49QAzDE4T7kf9rP/z4ocie8sxMtED5J0vw12PAVa0UERQyB4m 756O0GSFKwESJMjLUifBslkt64k8x8hQ+XHYH/WPe/Rm7Ku4kf1zsTO9Mt0xA5qr c5OgnLxR3T2L+1x8rEus8lPnExyX0G0b1/H1XjR+rvZAP1enwcLNyGFV3fNfAYNJ cMpkGCMFM9wc5dpzDx89ttw49I8yuy+Cmf/eTtm1YDWQgzYVEycF8jTkFqYykIax jMcZC0a1Lqrn1pLbxCZ5UEM9vxJREv46xBW6iKSkH5RWlbLo2gqMJbixYvkLtgBP AbtrUtsyIx4Rw0nPEZ880Nce/LdhUw== =Kuix -----END PGP SIGNATURE-----
Hi Miguel, All commits have been in linux-next for a couple of weeks. There are two tr= ivial conflicts with the -mm and Linus' tree [1][2]. Some patches that would usually go through this tree went through the -mm t= ree [3][4]; [5] and [6] go through drm-rust together with their first user -- o= ne minor import conflict in samples/rust/rust_dma.rs expected. - Danilo [1] https://lore.kernel.org/all/20250818122053.355aab17@canb.auug.org.au/ [2] https://lore.kernel.org/all/20250826173041.3140da7b@canb.auug.org.au/ [3] https://lore.kernel.org/all/20250806124034.1724515-1-vitaly.wool@konsul= ko.se/ [4] https://lore.kernel.org/all/d2e3d6454c1435713be0fe3c0dc444d2c60bba51.17= 53929369.git.zhuhui@kylinos.cn/ [5] https://lore.kernel.org/all/20250820145434.94745-1-dakr@kernel.org/ [6] https://lore.kernel.org/all/20250828133323.53311-1-dakr@kernel.org/ Alloc & DMA changes for v6.18 Allocator: - Provide information about the minimum alignment guarantees of Kmalloc, Vmalloc and KVmalloc. - Take minimum alignment guarantees of allocators for ForeignOwnable into account. - Remove the `allocator_test` incl. `Cmalloc`. Box: - Implement Box::pin_slice(), which constructs a pinned slice of elements. Vec: - Simplify KUnit test module name to "rust_kvec". - Add doc-test for Vec::as_slice(). - Constify various methods. DMA: - Update ARef and AlwaysRefCounted imports. MISC: - Remove support for unused host `#[test]`s. - Constify ArrayLayout::new_unchecked().
From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> Lee, have in the GPIO tree for the next merge window. Thanks, Bartosz Immutable branch between the MFD and GPIO trees for v6.18-rc1 Allow building the MFD STMPE driver as module.
SGkgR3JlZyENCg0KUGxlYXNlIHB1bGwgUEVDSSB1cGRhdGUgZm9yIExpbnV4IHY2LjE4Lg0KDQpU aGFua3MNCi1Jd29uYQ0KDQpUaGUgZm9sbG93aW5nIGNoYW5nZXMgc2luY2UgY29tbWl0IDFiMjM3 ZjE5MGViM2QzNmY1MmRmZmUwN2E0MGI1ZWIyMTAyODBlMDA6DQoNCiAgTGludXggNi4xNy1yYzMg KDIwMjUtMDgtMjQgMTI6MDQ6MTIgLTA0MDApDQoNCmFyZSBhdmFpbGFibGUgaW4gdGhlIEdpdCBy ZXBvc2l0b3J5IGF0Og0KDQogIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGludXgva2Vy bmVsL2dpdC9pd2kvbGludXguZ2l0IHRhZ3MvcGVjaS1uZXh0LTYuMTgtcmMxDQoNCmZvciB5b3Ug dG8gZmV0Y2ggY2hhbmdlcyB1cCB0byBlMjdmMTU4Y2YxZTk4ZDlhNTQxMjgyZWY0YjM2ZGZhNDQy N2JmMzYxOg0KDQogIHBlY2k6IHJlbW92ZSB1bm5lZWRlZCAnZmFzdF9pbycgcGFyYW1ldGVyIGlu IHJlZ21hcF9jb25maWcgKDIwMjUtMDgtMjggMjI6NDM6MjMgKzAyMDApDQoNCi0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NClVw ZGF0ZSBwZWNpLW5leHQgZm9yIHY2LjE4LXJjMQ0KDQpBIHNtYWxsIGNoYW5nZSBpbiBwZWNpLW5w Y20gZHJpdmVyIHRoYXQgcmVtb3ZlcyB1bm5lZWRlZCAnZmFzdF9pbycNCnBhcmFtZXRlciBpbiBy ZWdtYXBfY29uZmlnIHBpY2tlZCB1cCBhcyBhIHBhcnQgb2Ygd2lkZXIgcmVmYWN0b3JpbmcuDQoN Ci0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCldvbGZyYW0gU2FuZyAoMSk6DQogICAgICBwZWNpOiByZW1vdmUgdW5uZWVkZWQg J2Zhc3RfaW8nIHBhcmFtZXRlciBpbiByZWdtYXBfY29uZmlnDQoNCiBkcml2ZXJzL3BlY2kvY29u dHJvbGxlci9wZWNpLW5wY20uYyB8IDEgLQ0KIDEgZmlsZSBjaGFuZ2VkLCAxIGRlbGV0aW9uKC0p DQo=
Early Nuvoton arm64 devicetree updates for 6.18 Integrate changes from Tomer reworking devicetree pinctrl, reset, and clk n= odes for NPCM845-based platforms.
Early Nuvoton ARM devicetree updates for 6.18 So far we have just the one fix from Krzysztof that switches some nodes to = use generic names, as recommended by the spec.
Early ASPEED driver updates for 6.18 Two small changes, the most interesting being the addition of the silicon I= Ds for ASPEED's AST2700 SoC family.
Early ASPEED devicetree updates for 6.18 Notable changes: - Meta's Wedge400 and Fuji boards have had parallel devicetrees added for a transition to a new static flash layout. The original layout is deprecate= d and I anticipate removing related devicetrees in future releases. New platforms: - Darwin (Meta) Darwin is Meta's rack switch platform with an AST2600 BMC integrated for health monitoring purpose. Updates and fixes: - GB200NVL (Nvidia): Networking, I2C, regulators, GPIOs - Wedge400, Fuji (Meta): Fix warnings from devicetree bindings - Use fixed-layout for NVMEM on Asrock platforms - Various: minor fixes for warnings from FSI devicetree bindings
Hi Arnd, Here's our first very early pull request for the 6.18 merge window. All of these changes could've been part of the 6.17 window but the dt-binding changes were only picked up after I had already sent out my pull request which was already very late. These have been part -next for about a week now. Best, Sven Apple SoC device tree changes for v6.18, part 1 - Added SMC nodes for M1 and M2 including the PMU GPIO controller and reboot sub-nodes. This now allows to reboot these systems and is required to later enable the power GPIO line for the WiFi board. - Added i2c nodes for A7 - A11 SoCs Signed-off-by: Sven Peter <sven@kernel.org>