Commit Graph

1392841 Commits (09cfd3c52ea76f43b3cb15e570aeddf633d65e80)

Author SHA1 Message Date
Pavel Begunkov 09cfd3c52e io_uring/zcrx: fix overshooting recv limit
It's reported that sometimes a zcrx request can receive more than was
requested. It's caused by io_zcrx_recv_skb() adjusting desc->count for
all received buffers including frag lists, but then doing recursive
calls to process frag list skbs, which leads to desc->count double
accounting and underflow.

Reported-and-tested-by: Matthias Jasny <matthiasjasny@gmail.com>
Fixes: 6699ec9a23 ("io_uring/zcrx: add a read limit to recvzc requests")
Cc: stable@vger.kernel.org
Signed-off-by: Pavel Begunkov <asml.silence@gmail.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-10-08 07:26:08 -06:00
Haiyue Wang beb97995b9 io_uring: use tab indentation for IORING_SEND_VECTORIZED comment
Be consistent with tab style of "liburing/src/include/liburing/io_uring.h".

Signed-off-by: Haiyue Wang <haiyuewa@163.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-10-07 08:04:09 -06:00
Jens Axboe 2f8229d53d io_uring/waitid: always prune wait queue entry in io_waitid_wait()
For a successful return, always remove our entry from the wait queue
entry list. Previously this was skipped if a cancelation was in
progress, but this can race with another invocation of the wait queue
entry callback.

Cc: stable@vger.kernel.org
Fixes: f31ecf671d ("io_uring: add IORING_OP_WAITID support")
Reported-by: syzbot+b9e83021d9c642a33d8c@syzkaller.appspotmail.com
Tested-by: syzbot+b9e83021d9c642a33d8c@syzkaller.appspotmail.com
Link: https://lore.kernel.org/io-uring/68e5195e.050a0220.256323.001f.GAE@google.com/
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-10-07 07:46:00 -06:00
Jens Axboe 0ca286477b io_uring: update liburing git URL
Change the liburing git URL to point to the git.kernel.org servers,
rather than my private git.kernel.dk server. Due to continued AI
scraping of cgit etc, it's becoming quite the chore to maintain a
private git server.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
2025-10-03 07:23:33 -06:00
Linus Torvalds e406d57be7 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.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYIAB0WIQTTMBEPP41GrTpTJgfdBJ7gKXxAjgUCaN78zwAKCRDdBJ7gKXxA
 jhLeAQCddTv0XtSUTrvBvmrJVUBrQQeJc+LtNopMIjfAF/WAWAEAogSVKxg+HHEB
 GaVixx4zDriNzEqrqiCx9rm4l+YooQA=
 =XRe0
 -----END PGP SIGNATURE-----

Merge tag 'mm-nonmm-stable-2025-10-02-15-29' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull non-MM updates from Andrew Morton:

 - "ida: Remove the ida_simple_xxx() API" from Christophe Jaillet
   completes the removal of this legacy IDR API

 - "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

 - "tools/delaytop: implement real-time keyboard interaction support"
   from Fan Yu adds a few nice user-facing usability changes to the
   delaytop monitoring tool

 - "efi: Fix EFI boot with kexec handover (KHO)" from Evangelos
   Petrongonas fixes a panic which was happening with the combination of
   EFI and KHO

 - "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

* tag 'mm-nonmm-stable-2025-10-02-15-29' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (75 commits)
  Squashfs: reject negative file sizes in squashfs_read_inode()
  kallsyms: use kmalloc_array() instead of kmalloc()
  MAINTAINERS: update Sibi Sankar's email address
  Squashfs: add SEEK_DATA/SEEK_HOLE support
  Squashfs: add additional inode sanity checking
  lib/genalloc: fix device leak in of_gen_pool_get()
  panic: remove CONFIG_PANIC_ON_OOPS_VALUE
  ocfs2: fix double free in user_cluster_connect()
  checkpatch: suppress strscpy warnings for userspace tools
  cramfs: fix incorrect physical page address calculation
  kernel: prevent prctl(PR_SET_PDEATHSIG) from racing with parent process exit
  Squashfs: fix uninit-value in squashfs_get_parent
  kho: only fill kimage if KHO is finalized
  ocfs2: avoid extra calls to strlen() after ocfs2_sprintf_system_inode_name()
  kernel/sys.c: fix the racy usage of task_lock(tsk->group_leader) in sys_prlimit64() paths
  sched/task.h: fix the wrong comment on task_lock() nesting with tasklist_lock
  coccinelle: platform_no_drv_owner: handle also built-in drivers
  coccinelle: of_table: handle SPI device ID tables
  lib/decompress: use designated initializers for struct compress_format
  efi: support booting with kexec handover (KHO)
  ...
2025-10-02 18:44:54 -07:00
Linus Torvalds 8804d970fa 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.
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQTTMBEPP41GrTpTJgfdBJ7gKXxAjgUCaN3cywAKCRDdBJ7gKXxA
 jtaPAQDmIuIu7+XnVUK5V11hsQ/5QtsUeLHV3OsAn4yW5/3dEQD/UddRU08ePN+1
 2VRB0EwkLAdfMWW7TfiNZ+yhuoiL/AA=
 =4mhY
 -----END PGP SIGNATURE-----

Merge tag 'mm-stable-2025-10-01-19-00' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm

Pull MM updates from Andrew Morton:

 - "mm, swap: improve cluster scan strategy" from Kairui Song improves
   performance and reduces the failure rate of swap cluster allocation

 - "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

 - "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

 - "execute PROCMAP_QUERY ioctl under per-vma lock" from Suren
   Baghdasaryan reduces mmap_lock contention during reads of
   /proc/pid/maps

 - "mm/mincore: minor clean up for swap cache checking" from Kairui Song
   performs some cleanup in the swap code

 - "mm: vm_normal_page*() improvements" from David Hildenbrand provides
   code cleanup in the pagemap code

 - "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

 - "kho: fixes and cleanups" from Mike Rapoport adds a few touchups to
   the recently added Kexec Handover feature

 - "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

 - "mm/swapfile.c and swap.h cleanup" from Chris Li cleans up some swap
   code

 - "selftests/mm: Fix false positives and skip unsupported tests" from
   Donet Tom fixes a few things in our selftests code

 - "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

 - "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

 - "Tiny optimization for large read operations" from Chi Zhiling
   improves the efficiency of the pagecache read path

 - "Better split_huge_page_test result check" from Zi Yan improves our
   folio splitting selftest code

 - "test that rmap behaves as expected" from Wei Yang adds some rmap
   selftests

 - "remove write_cache_pages()" from Christoph Hellwig removes that
   function and converts its two remaining callers

 - "selftests/mm: uffd-stress fixes" from Dev Jain fixes some UFFD
   selftests issues

 - "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

 - "mm/pageblock: improve readability of some pageblock handling" from
   Wei Yang provides some readability improvements to the page allocator
   code

 - "mm/damon: support ARM32 with LPAE" from SeongJae Park teaches DAMON
   to understand arm32 highmem

 - "tools: testing: Use existing atomic.h for vma/maple tests" from
   Brendan Jackman performs some code cleanups and deduplication under
   tools/testing/

 - "maple_tree: Fix testing for 32bit compiles" from Liam Howlett fixes
   a couple of 32-bit issues in tools/testing/radix-tree.c

 - "kasan: unify kasan_enabled() and remove arch-specific
   implementations" from Sabyrzhan Tasbolatov moves KASAN arch-specific
   initialization code into a common arch-neutral implementation

 - "mm: remove zpool" from Johannes Weiner removes zspool - an
   indirection layer which now only redirects to a single thing
   (zsmalloc)

 - "mm: task_stack: Stack handling cleanups" from Pasha Tatashin makes a
   couple of cleanups in the fork code

 - "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

 - "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

 - "mm: hugetlb: cleanup hugetlb folio allocation" from Kefeng Wang does
   some tidying in the hugetlb folio allocation code

 - "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

 - "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()

 - "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

 - "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

 - "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

 - "Some ptdesc cleanups" from Matthew Wilcox utilizes the new memdesc
   layer to clean up the ptdesc code a little

 - "Fix va_high_addr_switch.sh test failure" from Chunyu Hu fixes some
   issues in our 5-level pagetable selftesting code

 - "Minor fixes for memory allocation profiling" from Suren Baghdasaryan
   addresses a couple of minor issues in relatively new memory
   allocation profiling feature

 - "Small cleanups" from Matthew Wilcox has a few cleanups in
   preparation for more memdesc work

 - "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

 - "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

 - "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

 - "mm/damon: misc fixups and improvements for 6.18" from SeongJae Park
   is a bunch of small and unrelated fixups for DAMON

 - "mm/damon: define and use DAMON initialization check function" from
   SeongJae Park implement reliability and maintainability improvements
   to a recently-added bug fix

 - "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

 - "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

 - "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

 - "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

 - "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

 - "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

* tag 'mm-stable-2025-10-01-19-00' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm: (372 commits)
  mm: swap: check for stable address space before operating on the VMA
  mm: convert folio_page() back to a macro
  mm/khugepaged: use start_addr/addr for improved readability
  hugetlbfs: skip VMAs without shareable locks in hugetlb_vmdelete_list
  alloc_tag: fix boot failure due to NULL pointer dereference
  mm: silence data-race in update_hiwater_rss
  mm/memory-failure: don't select MEMORY_ISOLATION
  mm/khugepaged: remove definition of struct khugepaged_mm_slot
  mm/ksm: get mm_slot by mm_slot_entry() when slot is !NULL
  hugetlb: increase number of reserving hugepages via cmdline
  selftests/mm: add fork inheritance test for ksm_merging_pages counter
  mm/ksm: fix incorrect KSM counter handling in mm_struct during fork
  drivers/base/node: fix double free in register_one_node()
  mm: remove PMD alignment constraint in execmem_vmalloc()
  mm/memory_hotplug: fix typo 'esecially' -> 'especially'
  mm/rmap: improve mlock tracking for large folios
  mm/filemap: map entire large folio faultaround
  mm/fault: try to map the entire file folio in finish_fault()
  mm/rmap: mlock large folios in try_to_unmap_one()
  mm/rmap: fix a mlock race condition in folio_referenced_one()
  ...
2025-10-02 18:18:33 -07:00
Linus Torvalds 24d9e8b3c9 slab updates for 6.18
-----BEGIN PGP SIGNATURE-----
 
 iQFPBAABCAA5FiEEe7vIQRWZI0iWSE3xu+CwddJFiJoFAmja74IbFIAAAAAABAAO
 bWFudTIsMi41KzEuMTEsMiwyAAoJELvgsHXSRYiacR4H/04aBsr7LZnTJVeZLQwK
 HKoOwXBqiQyqPdjKXGKnp7Mh9gRp2W3V11VsYTuDJNUS+Vz5YXW0z8cRnUfZ3SYs
 l+GZC3vZeAy2EVJE1U6Mb673hU8vziI80IO2q/tGzaj9a+wC3L0lemc+YFQTwG+u
 pMtt8zU2vHRjgkx8TNNqJBBOLLDV+RzIl8pqXVnh4eju6x6ZdreGnjXaePYMdjG0
 fXLf9XwIeWREqbfeOCEOB50Ts71kkdiOeskwnJyfCTDT8WTu3zC/dICqfh66e3Gg
 8hQKvMsuKpm/FwbtgdB0WvaDjENH6PmY+ubLYVxwvNpcsTSqfe0IYGm+HpUP+TPf
 m+Y=
 =w+JL
 -----END PGP SIGNATURE-----

Merge tag 'slab-for-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab

Pull slab updates from Vlastimil Babka:

 - 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)

* tag 'slab-for-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/vbabka/slab: (40 commits)
  slab: Introduce kmalloc_nolock() and kfree_nolock().
  slab: Reuse first bit for OBJEXTS_ALLOC_FAIL
  slab: Make slub local_(try)lock more precise for LOCKDEP
  mm: Introduce alloc_frozen_pages_nolock()
  mm: Allow GFP_ACCOUNT to be used in alloc_pages_nolock().
  locking/local_lock: Introduce local_lock_is_locked().
  maple_tree: Convert forking to use the sheaf interface
  maple_tree: Add single node allocation support to maple state
  maple_tree: Prefilled sheaf conversion and testing
  tools/testing: Add support for prefilled slab sheafs
  maple_tree: Replace mt_free_one() with kfree()
  maple_tree: Use kfree_rcu in ma_free_rcu
  testing/radix-tree/maple: Hack around kfree_rcu not existing
  tools/testing: include maple-shim.c in maple.c
  maple_tree: use percpu sheaves for maple_node_cache
  mm, vma: use percpu sheaves for vm_area_struct cache
  tools/testing: Add support for changes to slab for sheaves
  slab: allow NUMA restricted allocations to use percpu sheaves
  tools/testing/vma: Implement vm_refcnt reset
  slab: skip percpu sheaves for remote object freeing
  ...
2025-10-02 15:58:05 -07:00
Linus Torvalds 07fdad3a93 Networking changes for 6.18.
Core & protocols
 ----------------
 
  - Improve drop account scalability on NUMA hosts for RAW and UDP sockets
    and the backlog, almost doubling the Pps capacity under DoS.
 
  - Optimize the UDP RX performance under stress, reducing contention,
    revisiting the binary layout of the involved data structs and
    implementing NUMA-aware locking. This improves UDP RX performance by
    an additional 50%, even more under extreme conditions.
 
  - Add support for PSP encryption of TCP connections; this mechanism has
    some similarities with IPsec and TLS, but offers superior HW offloads
    capabilities.
 
  - Ongoing work to support Accurate ECN for TCP. AccECN allows more than
    one congestion notification signal per RTT and is a building block for
    Low Latency, Low Loss, and Scalable Throughput (L4S).
 
  - Reorganize the TCP socket binary layout for data locality, reducing
    the number of touched cachelines in the fastpath.
 
  - Refactor skb deferral free to better scale on large multi-NUMA hosts,
    this improves TCP and UDP RX performances significantly on such HW.
 
  - Increase the default socket memory buffer limits from 256K to 4M to
    better fit modern link speeds.
 
  - Improve handling of setups with a large number of nexthop, making dump
    operating scaling linearly and avoiding unneeded synchronize_rcu() on
    delete.
 
  - Improve bridge handling of VLAN FDB, storing a single entry per bridge
    instead of one entry per port; this makes the dump order of magnitude
    faster on large switches.
 
  - Restore IP ID correctly for encapsulated packets at GSO segmentation
    time, allowing GRO to merge packets in more scenarios.
 
  - Improve netfilter matching performance on large sets.
 
  - Improve MPTCP receive path performance by leveraging recently
    introduced core infrastructure (skb deferral free) and adopting recent
    TCP autotuning changes.
 
  - Allow bridges to redirect to a backup port when the bridge port is
    administratively down.
 
  - Introduce MPTCP 'laminar' endpoint that con be used only once per
    connection and simplify common MPTCP setups.
 
  - Add RCU safety to dst->dev, closing a lot of possible races.
 
  - A significant crypto library API for SCTP, MPTCP and IPv6 SR, reducing
    code duplication.
 
  - Supports pulling data from an skb frag into the linear area of an XDP
    buffer.
 
 Things we sprinkled into general kernel code
 --------------------------------------------
 
  - Generate netlink documentation from YAML using an integrated
    YAML parser.
 
 Driver API
 ----------
 
  - Support using IPv6 Flow Label in Rx hash computation and RSS queue
    selection.
 
  - Introduce API for fetching the DMA device for a given queue, allowing
    TCP zerocopy RX on more H/W setups.
 
  - Make XDP helpers compatible with unreadable memory, allowing more
    easily building DevMem-enabled drivers with a unified XDP/skbs
    datapath.
 
  - Add a new dedicated ethtool callback enabling drivers to provide the
    number of RX rings directly, improving efficiency and clarity in RX
    ring queries and RSS configuration.
 
  - Introduce a burst period for the health reporter, allowing better
    handling of multiple errors due to the same root cause.
 
  - Support for DPLL phase offset exponential moving average, controlling
    the average smoothing factor.
 
 Device drivers
 --------------
 
  - Add a new Huawei driver for 3rd gen NIC (hinic3).
 
  - Add a new SpacemiT driver for K1 ethernet MAC.
 
  - Add a generic abstraction for shared memory communication devices
    (dibps)
 
  - Ethernet high-speed NICs:
    - nVidia/Mellanox:
      - Use multiple per-queue doorbell, to avoid MMIO contention issues
      - support adjacent functions, allowing them to delegate their
        SR-IOV VFs to sibling PFs
      - support RSS for IPSec offload
      - support exposing raw cycle counters in PTP and mlx5
      - support for disabling host PFs.
    - Intel (100G, ice, idpf):
      - ice: support for SRIOV VFs over an Active-Active link aggregate
      - ice: support for firmware logging via debugfs
      - ice: support for Earliest TxTime First (ETF) hardware offload
      - idpf: support basic XDP functionalities and XSk
    - Broadcom (bnxt):
      - support Hyper-V VF ID
      - dynamic SRIOV resource allocations for RoCE
    - Meta (fbnic):
      - support queue API, zero-copy Rx and Tx
      - support basic XDP functionalities
      - devlink health support for FW crashes and OTP mem corruptions
      - expand hardware stats coverage to FEC, PHY, and Pause
    - Wangxun:
      - support ethtool coalesce options
      - support for multiple RSS contexts
 
  - Ethernet virtual:
    - Macsec:
      - replace custom netlink attribute checks with policy-level checks
    - Bonding:
      - support aggregator selection based on port priority
    - Microsoft vNIC:
      - use page pool fragments for RX buffers instead of full pages to
        improve memory efficiency
 
  - Ethernet NICs consumer, and embedded:
    - Qualcomm: support Ethernet function for IPQ9574 SoC
    - Airoha: implement wlan offloading via NPU
    - Freescale
      - enetc: add NETC timer PTP driver and add PTP support
      - fec: enable the Jumbo frame support for i.MX8QM
    - Renesas (R-Car S4): support HW offloading for layer 2 switching
      - support for RZ/{T2H, N2H} SoCs
    - Cadence (macb): support TAPRIO traffic scheduling
    - TI:
      - support for Gigabit ICSS ethernet SoC (icssm-prueth)
    - Synopsys (stmmac): a lot of cleanups
 
  - Ethernet PHYs:
    - Support 10g-qxgmi phy-mode for AQR412C, Felix DSA and Lynx PCS
      driver
    - Support bcm63268 GPHY power control
    - Support for Micrel lan8842 PHY and PTP
    - Support for Aquantia AQR412 and AQR115
 
  - CAN:
    - a large CAN-XL preparation work
    - reorganize raw_sock and uniqframe struct to minimize memory usage
    - rcar_canfd: update the CAN-FD handling
 
  - WiFi:
    - extended Neighbor Awareness Networking (NAN) support
    - S1G channel representation cleanup
    - improve S1G support
 
  - WiFi drivers:
    - Intel (iwlwifi):
      - major refactor and cleanup
    - Broadcom (brcm80211):
      - support for AP isolation
    - RealTek (rtw88/89) rtw88/89:
      - preparation work for RTL8922DE support
    - MediaTek (mt76):
      - HW restart improvements
      - MLO support
    - Qualcomm/Atheros (ath10k_
      - GTK rekey fixes
 
  - Bluetooth drivers:
    - btusb: support for several new IDs for MT7925
    - btintel: support for BlazarIW core
    - btintel_pcie: support for _suspend() / _resume()
    - btintel_pcie: support for Scorpious, Panther Lake-H484 IDs
 
 Signed-off-by: Paolo Abeni <pabeni@redhat.com>
 -----BEGIN PGP SIGNATURE-----
 
 iQJGBAABCAAwFiEEg1AjqC77wbdLX2LbKSR5jcyPE6QFAmjdBdsSHHBhYmVuaUBy
 ZWRoYXQuY29tAAoJECkkeY3MjxOkWnAP/2Jz0ExnYMDxLxkkKqMte+3JNeF/KNjB
 zVIslYN/5ekkd1TMXyDLFlWHqUOUMSF9+cK5ZRMHG6/lzOueSzFuuuDFsWs6Kf2f
 q7Q9MzlXhR9++YCsdES1uS5x3PPjMInzo2ZivMFa6fUDLLFSzeAOKL9k+RS0EggU
 VlXv2Wkm73R0O6KAssgDsHke9cnNz+F0DzhQ0S3qkyZF9tS5NrDeUl7fZ47XZgwb
 ZuXdEzKmTTepo2XvZGxJoF2D7nekWFlHhLjEPpDJtET19nwhukCry41/FplJwlKR
 dWsYkqLkrOEQKFQ+q++/5c3BgFOG+IrQLbP5bGQF1tZRMl4Dqp9PDxK5fKJfccbS
 0VY3Y2qWOSYejT2Ji2kEHR5E5rPyFm3Y5A4Rnpz0yEHj14vL2v4zf7CZRkCyyDfD
 doIZXFGkM0+N7QeXLEN833cje9zjaXuP9GAE+2bb+wAWAZAqof4KX8JgHh+y5Rwm
 pvUtvFxmEtntlMwNBap8aT3FquGtfZncU8pzAE5kvWjuMvyF0NVWiE5rB2kSQM/X
 NLmUdvDyjwwJqthXAJG0fl+a0mNJ/kOAqSOKJDJrfKDGWa+ovwY0iY06SpK0wIbO
 Wz7tpMk5MSlYXW8xWMlbyhvvU6T9xuoQ2KV4QTdMxc6Ir3sNX6YkQr+gjQjxB0gx
 ST2QF6lZeWFh
 =w2Kz
 -----END PGP SIGNATURE-----

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

Pull networking updates from Paolo Abeni:
 "Core & protocols:

   - Improve drop account scalability on NUMA hosts for RAW and UDP
     sockets and the backlog, almost doubling the Pps capacity under DoS

   - Optimize the UDP RX performance under stress, reducing contention,
     revisiting the binary layout of the involved data structs and
     implementing NUMA-aware locking. This improves UDP RX performance
     by an additional 50%, even more under extreme conditions

   - Add support for PSP encryption of TCP connections; this mechanism
     has some similarities with IPsec and TLS, but offers superior HW
     offloads capabilities

   - Ongoing work to support Accurate ECN for TCP. AccECN allows more
     than one congestion notification signal per RTT and is a building
     block for Low Latency, Low Loss, and Scalable Throughput (L4S)

   - Reorganize the TCP socket binary layout for data locality, reducing
     the number of touched cachelines in the fastpath

   - Refactor skb deferral free to better scale on large multi-NUMA
     hosts, this improves TCP and UDP RX performances significantly on
     such HW

   - Increase the default socket memory buffer limits from 256K to 4M to
     better fit modern link speeds

   - Improve handling of setups with a large number of nexthop, making
     dump operating scaling linearly and avoiding unneeded
     synchronize_rcu() on delete

   - Improve bridge handling of VLAN FDB, storing a single entry per
     bridge instead of one entry per port; this makes the dump order of
     magnitude faster on large switches

   - Restore IP ID correctly for encapsulated packets at GSO
     segmentation time, allowing GRO to merge packets in more scenarios

   - Improve netfilter matching performance on large sets

   - Improve MPTCP receive path performance by leveraging recently
     introduced core infrastructure (skb deferral free) and adopting
     recent TCP autotuning changes

   - Allow bridges to redirect to a backup port when the bridge port is
     administratively down

   - Introduce MPTCP 'laminar' endpoint that con be used only once per
     connection and simplify common MPTCP setups

   - Add RCU safety to dst->dev, closing a lot of possible races

   - A significant crypto library API for SCTP, MPTCP and IPv6 SR,
     reducing code duplication

   - Supports pulling data from an skb frag into the linear area of an
     XDP buffer

  Things we sprinkled into general kernel code:

   - Generate netlink documentation from YAML using an integrated YAML
     parser

  Driver API:

   - Support using IPv6 Flow Label in Rx hash computation and RSS queue
     selection

   - Introduce API for fetching the DMA device for a given queue,
     allowing TCP zerocopy RX on more H/W setups

   - Make XDP helpers compatible with unreadable memory, allowing more
     easily building DevMem-enabled drivers with a unified XDP/skbs
     datapath

   - Add a new dedicated ethtool callback enabling drivers to provide
     the number of RX rings directly, improving efficiency and clarity
     in RX ring queries and RSS configuration

   - Introduce a burst period for the health reporter, allowing better
     handling of multiple errors due to the same root cause

   - Support for DPLL phase offset exponential moving average,
     controlling the average smoothing factor

  Device drivers:

   - Add a new Huawei driver for 3rd gen NIC (hinic3)

   - Add a new SpacemiT driver for K1 ethernet MAC

   - Add a generic abstraction for shared memory communication
     devices (dibps)

   - Ethernet high-speed NICs:
      - nVidia/Mellanox:
         - Use multiple per-queue doorbell, to avoid MMIO contention
           issues
         - support adjacent functions, allowing them to delegate their
           SR-IOV VFs to sibling PFs
         - support RSS for IPSec offload
         - support exposing raw cycle counters in PTP and mlx5
         - support for disabling host PFs.
      - Intel (100G, ice, idpf):
         - ice: support for SRIOV VFs over an Active-Active link
           aggregate
         - ice: support for firmware logging via debugfs
         - ice: support for Earliest TxTime First (ETF) hardware offload
         - idpf: support basic XDP functionalities and XSk
      - Broadcom (bnxt):
         - support Hyper-V VF ID
         - dynamic SRIOV resource allocations for RoCE
      - Meta (fbnic):
         - support queue API, zero-copy Rx and Tx
         - support basic XDP functionalities
         - devlink health support for FW crashes and OTP mem corruptions
         - expand hardware stats coverage to FEC, PHY, and Pause
      - Wangxun:
         - support ethtool coalesce options
         - support for multiple RSS contexts

   - Ethernet virtual:
      - Macsec:
         - replace custom netlink attribute checks with policy-level
           checks
      - Bonding:
         - support aggregator selection based on port priority
      - Microsoft vNIC:
         - use page pool fragments for RX buffers instead of full pages
           to improve memory efficiency

   - Ethernet NICs consumer, and embedded:
      - Qualcomm: support Ethernet function for IPQ9574 SoC
      - Airoha: implement wlan offloading via NPU
      - Freescale
         - enetc: add NETC timer PTP driver and add PTP support
         - fec: enable the Jumbo frame support for i.MX8QM
      - Renesas (R-Car S4):
         - support HW offloading for layer 2 switching
         - support for RZ/{T2H, N2H} SoCs
      - Cadence (macb): support TAPRIO traffic scheduling
      - TI:
         - support for Gigabit ICSS ethernet SoC (icssm-prueth)
      - Synopsys (stmmac): a lot of cleanups

   - Ethernet PHYs:
      - Support 10g-qxgmi phy-mode for AQR412C, Felix DSA and Lynx PCS
        driver
      - Support bcm63268 GPHY power control
      - Support for Micrel lan8842 PHY and PTP
      - Support for Aquantia AQR412 and AQR115

   - CAN:
      - a large CAN-XL preparation work
      - reorganize raw_sock and uniqframe struct to minimize memory
        usage
      - rcar_canfd: update the CAN-FD handling

   - WiFi:
      - extended Neighbor Awareness Networking (NAN) support
      - S1G channel representation cleanup
      - improve S1G support

   - WiFi drivers:
      - Intel (iwlwifi):
         - major refactor and cleanup
      - Broadcom (brcm80211):
         - support for AP isolation
      - RealTek (rtw88/89) rtw88/89:
         - preparation work for RTL8922DE support
      - MediaTek (mt76):
         - HW restart improvements
         - MLO support
      - Qualcomm/Atheros (ath10k):
         - GTK rekey fixes

   - Bluetooth drivers:
      - btusb: support for several new IDs for MT7925
      - btintel: support for BlazarIW core
      - btintel_pcie: support for _suspend() / _resume()
      - btintel_pcie: support for Scorpious, Panther Lake-H484 IDs"

* tag 'net-next-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1536 commits)
  net: stmmac: Add support for Allwinner A523 GMAC200
  dt-bindings: net: sun8i-emac: Add A523 GMAC200 compatible
  Revert "Documentation: net: add flow control guide and document ethtool API"
  octeontx2-pf: fix bitmap leak
  octeontx2-vf: fix bitmap leak
  net/mlx5e: Use extack in set rxfh callback
  net/mlx5e: Introduce mlx5e_rss_params for RSS configuration
  net/mlx5e: Introduce mlx5e_rss_init_params
  net/mlx5e: Remove unused mdev param from RSS indir init
  net/mlx5: Improve QoS error messages with actual depth values
  net/mlx5e: Prevent entering switchdev mode with inconsistent netns
  net/mlx5: HWS, Generalize complex matchers
  net/mlx5: Improve write-combining test reliability for ARM64 Grace CPUs
  selftests/net: add tcp_port_share to .gitignore
  Revert "net/mlx5e: Update and set Xon/Xoff upon MTU set"
  net: add NUMA awareness to skb_attempt_defer_free()
  net: use llist for sd->defer_list
  net: make softnet_data.defer_count an atomic
  selftests: drv-net: psp: add tests for destroying devices
  selftests: drv-net: psp: add test for auto-adjusting TCP MSS
  ...
2025-10-02 15:17:01 -07:00
Linus Torvalds f79e772258 [GIT PULL for v6.18] media updates
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE+QmuaPwR3wnBdVwACF8+vY7k4RUFAmjdReIACgkQCF8+vY7k
 4RUyzxAAmqaYUomji7+Imoy/M9lFE5EBwC5HAZ2wfS9c8l7sYw9kZEaoq+JOapKB
 EU+dLr/judjpntmIOYqGPBgbVdzalGEvYsZ2KgVbygZS5JgF0K+Yb4ary3t+wN+H
 43pGExsdRdwZhVU02xkSOohBcvWTEtWCjypdRSxSs03oLQtJ7AOcSNvsD25DTSNC
 05l3Fr/5Ckjr9PpjjYaTX1SdRyPWoRD536yeGbbRo3ZTCGG8dFXwqZdhAqrMfFmb
 dAVttiTvMBHY/4LdA7YFLW/Ww3ty9uMgwv7D2LYCBPwKr01W32x4e0hZjQNjltlk
 omcw13oKMDhWm7bsB4ja2X3DjFLZnFcULyAtdhgR/+5748fIL82pp16XR80Zbweb
 UgO5WsUCQbYAfKdiu6CG/amwG1yHJW/2fRh6xD8WEKcsLjnIFhPN4rTsLXo6IeMY
 KVru2OOfXJUdo6fMfHk7EZElWGMS9H1iQy64v3eJe1bAIa0tMZKhwxrpAJTk1Ykf
 fvWdqdp761c1+P53is/LHtt7fqCN6aHsDcwXTCsJGH1YI4b/qxXjcgPMyedf6kRu
 GY+soXWcpldhxrR4yblMFhaJGFgIdFmnYDHWWzMxgQ0a8ch0ORf8aGlF5kT5SP+9
 VPnZqY+EECrHqvI3DU4CaHNbZFXp6RKW+2ZkXFpIRH12v1aARmE=
 =Fuey
 -----END PGP SIGNATURE-----

Merge tag 'media/v6.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media

Pull media updates from Mauro Carvalho Chehab:

 - Added a new V4L2 clock helper

 - New camera sensor drivers

 - iris: Enable H.264/H.265 encoder support and fixes in iris driver
   common code

 - camss: add support for new SoC flavors

 - venus: add new SoC support

 - tc358743: support more infoframe types

 - Various fixes, driver improvements and cleanups

* tag 'media/v6.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (439 commits)
  media: venus: pm_helpers: add fallback for the opp-table
  media: qcom: camss: vfe: Fix BPL alignment for QCM2290
  media: tuner: xc5000: Fix use-after-free in xc5000_release
  media: i2c: tc358743: Fix use-after-free bugs caused by orphan timer in probe
  media: b2c2: Fix use-after-free causing by irq_check_work in flexcop_pci_remove
  media: vsp1: Export missing vsp1_isp_free_buffer symbol
  media: renesas: vsp1: Convert to SYSTEM_SLEEP/RUNTIME_PM_OPS()
  media: renesas: ceu: Convert to RUNTIME_PM_OPS()
  media: renesas: fdp1: Convert to RUNTIME_PM_OPS()
  media: renesas: rcar-vin: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  media: renesas: rcar_drif: Convert to DEFINE_SIMPLE_DEV_PM_OPS()
  media: uvcvideo: Mark invalid entities with id UVC_INVALID_ENTITY_ID
  media: uvcvideo: Support UVC_CROSXU_CONTROL_IQ_PROFILE
  media: uvcvideo: Run uvc_ctrl_init_ctrl for all controls
  media: uvcvideo: Shorten the transfer size non compliance message
  media: uvcvideo: Do not re-reference dev->udev
  media: uvcvideo: Use intf instead of udev for printks
  media: uvcvideo: Move video_device under video_queue
  media: uvcvideo: Drop stream->mutex
  media: uvcvideo: Move MSXU_CONTROL_METADATA definition to header
  ...
2025-10-02 13:13:26 -07:00
Linus Torvalds 58809f614e 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
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEEKbZHaGwW9KfbeusDHTzWXnEhr4FAmjcpjkACgkQDHTzWXnE
 hr7Q7g/5AcxXqLUx7wvmDga9TpzIjDD+C+MOt568RpFQ9cYprI+/86ma7ELCpuNe
 dVgeobxQb/jyhf4acdBU+t5aZz+j8VPhPtIPrPY2kOVDuL1NfeQNS8VmGNpFhR+0
 6hqVrtfvbYdLBrAHrU/V/RwZlBJvI/D/I2QGuvZZwWzCBgYd4u4bGuRyBCvGDxOD
 CTPaEqYyzjvpVuzu7AGQk655WkZQnyPmiezIl2lit1meEMMMv80HePkyWHclZo7Q
 hMqsEasSp5w5Q5EpYqVr1z5IdBAV1O53oor9W573J3kEoB4o1zEsTPfLO4N1dgXo
 bfvc24uW3zyChWY2hWyRKvOzvAoClnjfY6whv9NRP0Qi4UjzhLlNOpmhm9cst/J+
 uj2Nn8UJtyvFJbTmDvoocpgdhq2mkGKdIVhVQ6tG7PjihFmyQRF7PJZjb+0Vee7L
 53F0c4d6HiBI4DHa+lH6fgQUBspIvSfmcnR0ACg29NByib+JEoPSPb4ET+uZ8lLd
 IbQvNiCdnUduYDCKfo5ea/FesP8AXy1KfSa+z7oEEFYHbbkc7PSztUagEyZdS/yS
 FnnYqmo/DidmyM4nxDQUII+UDqjng7fo+l4BzIhL12pR693KzCf0mexMr6SA24ny
 gasN97923OTle1J9xrPrKavkx6WjswZCvOaG7ZbnJB47ydJVu5w=
 =ZVKY
 -----END PGP SIGNATURE-----

Merge tag 'drm-next-2025-10-01' of https://gitlab.freedesktop.org/drm/kernel

Pull drm updates from Dave Airlie:
 "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"

* tag 'drm-next-2025-10-01' of https://gitlab.freedesktop.org/drm/kernel: (1455 commits)
  drm/amd: Add name to modes from amdgpu_connector_add_common_modes()
  drm/amd: Drop some common modes from amdgpu_connector_add_common_modes()
  drm/amdgpu: update MODULE_PARM_DESC for freesync_video
  drm/amd: Use dynamic array size declaration for amdgpu_connector_add_common_modes()
  drm/amd/display: Share dce100_validate_global with DCE6-8
  drm/amd/display: Share dce100_validate_bandwidth with DCE6-8
  drm/amdgpu: Fix fence signaling race condition in userqueue
  amd/amdkfd: enhance kfd process check in switch partition
  amd/amdkfd: resolve a race in amdgpu_amdkfd_device_fini_sw
  drm/amd/display: Reject modes with too high pixel clock on DCE6-10
  drm/amd: Drop unnecessary check in amdgpu_connector_add_common_modes()
  drm/amd/display: Only enable common modes for eDP and LVDS
  drm/amdgpu: remove the redeclaration of variable i
  drm/amdgpu/userq: assign an error code for invalid userq va
  drm/amdgpu: revert "rework reserved VMID handling" v2
  drm/amdgpu: remove leftover from enforcing isolation by VMID
  drm/amdgpu: Add fallback to pipe reset if KCQ ring reset fails
  accel/habanalabs: add Infineon version check
  accel/habanalabs/gaudi2: read preboot status after recovering from dirty state
  accel/habanalabs: add HL_GET_P_STATE passthrough type
  ...
2025-10-02 12:47:25 -07:00
Linus Torvalds 05a54fa773 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
 -----BEGIN PGP SIGNATURE-----
 
 iQJCBAABCAAsFiEEIXTw5fNLNI7mMiVaLtJE4w1nLE8FAmjby2wOHHRpd2FpQHN1
 c2UuZGUACgkQLtJE4w1nLE+MKQ//cD8GYtfavLC6/mpW2jftcm08Zhzxi8AyuVzC
 0Wr2kwdNvK1F6zhzkXOx6TEQz0PAXzdVsqkmxsBEHGKHxGVNYr5wQ2ITqkm9eR6h
 el2JhajzLM988kMgJi/hGsTPxz2wJk4wuhUT3kST5GHpecPC/X/3r4WRIpMBoDBA
 y9KjEGJoSZCg7uBVoWBDRSHRpvbgmKrp4QpMCfcZ+DGy8fA3t+WGL1py9xxYQYug
 nGf4Q6Qto9Gj/lVefhm85vd1B+AHN4AgS21KLAyOGBIpu7kPmw1ujG/A8tsEbhaU
 DHSZusqqsWEHIy2XYBoVOeMaYcB94Ik3A4snzUe5/TbQkmM4MCQbhJ0euiGNHAzB
 e/mNUP0lFbX595gAK8AVsVnvz7Jzw00ov9b4w66g5Xq/EjM5pb0R8RyPooEujbw2
 ZbNI5SHuJ1i7v3Kqfoh6pUPPu2d4dlLxY68xDAID/DvP2DHcjYyiVE+RjLX/4b7D
 RzDKPqt0Pmckwx0FQyRuGCQWnqyoQ93bp84R29PxfT15Lot6gHdJh84guYqMLnWH
 B7VdV++O9UeS+6DmZfveDTvU+NcuRCGnnaadyJeuqB9qEqqbrXsTzr4XCZE1Hwrs
 WY9QmQeVYU4SPlT6r22Q19dQLToFRQoemHMTc4Q+hRx7YAKebynXQIzM1s3d+D/X
 NviZ8nk=
 =3Dqh
 -----END PGP SIGNATURE-----

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

Pull sound updates from Takashi Iwai:
 "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"

* tag 'sound-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (454 commits)
  ALSA: usb-audio: don't hardcode gain for output channel of Presonus Studio
  ALSA: usb-audio: add the initial mix for Presonus Studio 1824c
  ALSA: doc: improved docs about quirk_flags in snd-usb-audio
  ALSA: usb-audio: make param quirk_flags change-able in runtime
  ALSA: usb-audio: improve module param quirk_flags
  ALSA: usb-audio: add two-way convert between name and bit for QUIRK_FLAG_*
  ALSA: usb-audio: fix race condition to UAF in snd_usbmidi_free
  ALSA: usb-audio: add mono main switch to Presonus S1824c
  ALSA: compress: document 'chan_map' member in snd_dec_opus
  ASoC: cs35l56: Add support for CS35L56 B2 silicon
  ASoC: cs35l56: Set fw_regs table after getting REVID
  ALSA: hda/realtek: Add quirk for HP Spectre 14t-ea100
  ASoc: tas2783A: Fix an error code in probe()
  ASoC: tlv320aic3x: Fix class-D initialization for tlv320aic3007
  ASoC: qcom: sc8280xp: use sa8775p/ subdir for QCS9100 / QCS9075
  ASoC: stm32: sai: manage context in set_sysclk callback
  ASoC: renesas: msiof: ignore 1st FSERR
  ASoC: renesas: msiof: Add note for The possibility of R/L opposite Capture
  ASoC: renesas: msiof: setup both (Playback/Capture) in the same time
  ASoC: renesas: msiof: tidyup DMAC stop timing
  ...
2025-10-02 11:37:19 -07:00
Linus Torvalds e1b1d03cee for-6.18/block-20250929
-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmjbLCgQHGF4Ym9lQGtl
 cm5lbC5kawAKCRD301j7KXHgpoY0D/9J+11BC88pBxCrLKv/V2TwCNokRMi0dU3L
 r3EUdA46k0oXmvb6ueZqIcfY2e+IX7rdQkaRbh1zRdsNejqHo4548C3ePWGdBAcM
 OdNEGfpehO0aD0td1+mK/NxoJMLhbs5QraPanz+SOkGZOKeF+vGCga5PUDivsr5J
 16T9yb7i+isENLdAc2RJbZVyAphqHQlo5GHi5ZIKOVi5cNt8GU/q2sQl7NYmGvHd
 aq37svvZHFOhLRajP959Fw9WOxEYITewzQ4UYf1FZjUodJUxO+vCnP0ooBQRlyu8
 1B4PYWwSE+Vn3GkQE0Om+mzo9AVPOiLmoAWGxdgJBMyEkZndocr46XEslXOufQ1Z
 T3Gu19G6jCxcyByNVhjVnaajYKmvSQAy1w75m4XlfqTRm4f9Om+LAJavUk3RuaOL
 7lXKQ7Ql1/Tby9Jmf8afjYYXXotNDNku6rz2P3qtOwAA26mNJfgVt0rO+8XGRDe9
 ioLbCkTjslYMc/Oh4jSsbrspsVALbaQMq/Dmah8k0EWb4QAHVgCJyGBoff3hOboI
 jD6B1enaKOQVgcjWcjm/FjOk3jv2h3v4X26YWQZTvEc/1PnSnST78Zi/ePhzDdmt
 sBALUAS37TfTgNMzrhbHl5Zs13k0C0XyANuayuKuo5hlNnC1wbdap+5FZJOmpuOB
 YT+VkYnaOA==
 =kOmc
 -----END PGP SIGNATURE-----

Merge tag 'for-6.18/block-20250929' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux

Pull block updates from Jens Axboe:

 - NVMe pull request via Keith:
     - FC target fixes (Daniel)
     - Authentication fixes and updates (Martin, Chris)
     - Admin controller handling (Kamaljit)
     - Target lockdep assertions (Max)
     - Keep-alive updates for discovery (Alastair)
     - Suspend quirk (Georg)

 - MD pull request via Yu:
     - Add support for a lockless bitmap.

       A key feature for the new bitmap are that the IO fastpath is
       lockless. If a user issues lots of write IO to the same bitmap
       bit in a short time, only the first write has additional overhead
       to update bitmap bit, no additional overhead for the following
       writes.

       By supporting only resync or recover written data, means in the
       case creating new array or replacing with a new disk, there is no
       need to do a full disk resync/recovery.

 - Switch ->getgeo() and ->bios_param() to using struct gendisk rather
   than struct block_device.

 - Rust block changes via Andreas. This series adds configuration via
   configfs and remote completion to the rnull driver. The series also
   includes a set of changes to the rust block device driver API: a few
   cleanup patches, and a few features supporting the rnull changes.

   The series removes the raw buffer formatting logic from
   `kernel::block` and improves the logic available in `kernel::string`
   to support the same use as the removed logic.

 - floppy arch cleanups

 - Reduce the number of dereferencing needed for ublk commands

 - Restrict supported sockets for nbd. Mostly done to eliminate a class
   of issues perpetually reported by syzbot, by using nonsensical socket
   setups.

 - A few s390 dasd block fixes

 - Fix a few issues around atomic writes

 - Improve DMA interation for integrity requests

 - Improve how iovecs are treated with regards to O_DIRECT aligment
   constraints.

   We used to require each segment to adhere to the constraints, now
   only the request as a whole needs to.

 - Clean up and improve p2p support, enabling use of p2p for metadata
   payloads

 - Improve locking of request lookup, using SRCU where appropriate

 - Use page references properly for brd, avoiding very long RCU sections

 - Fix ordering of recursively submitted IOs

 - Clean up and improve updating nr_requests for a live device

 - Various fixes and cleanups

* tag 'for-6.18/block-20250929' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux: (164 commits)
  s390/dasd: enforce dma_alignment to ensure proper buffer validation
  s390/dasd: Return BLK_STS_INVAL for EINVAL from do_dasd_request
  ublk: remove redundant zone op check in ublk_setup_iod()
  nvme: Use non zero KATO for persistent discovery connections
  nvmet: add safety check for subsys lock
  nvme-core: use nvme_is_io_ctrl() for I/O controller check
  nvme-core: do ioccsz/iorcsz validation only for I/O controllers
  nvme-core: add method to check for an I/O controller
  blk-cgroup: fix possible deadlock while configuring policy
  blk-mq: fix null-ptr-deref in blk_mq_free_tags() from error path
  blk-mq: Fix more tag iteration function documentation
  selftests: ublk: fix behavior when fio is not installed
  ublk: don't access ublk_queue in ublk_unmap_io()
  ublk: pass ublk_io to __ublk_complete_rq()
  ublk: don't access ublk_queue in ublk_need_complete_req()
  ublk: don't access ublk_queue in ublk_check_commit_and_fetch()
  ublk: don't pass ublk_queue to ublk_fetch()
  ublk: don't access ublk_queue in ublk_config_io_buf()
  ublk: don't access ublk_queue in ublk_check_fetch_buf()
  ublk: pass q_id and tag to __ublk_check_and_get_req()
  ...
2025-10-02 10:16:56 -07:00
Linus Torvalds 5832d26433 for-6.18/io_uring-20250929
-----BEGIN PGP SIGNATURE-----
 
 iQJEBAABCAAuFiEEwPw5LcreJtl1+l5K99NY+ylx4KYFAmjbLEcQHGF4Ym9lQGtl
 cm5lbC5kawAKCRD301j7KXHgpnEUD/4/FgfQP2LFS/88BBF5ukZjRySe4wmyyZ2Q
 MFh2ehdxzkZxVXjbeA2wRAXdqjw2MbNhx8tzU9VrW7rweNDZxHbwi6jJIP7OAjxE
 4ZP0goAQj7P0TFyXC2KGj7k6dP20FkAltx5gGLVwsuOWDDrQKp2EykAcRnGYAD4W
 3yf+nojVr2bjHyO7dx8dM7jUDjMg7J8nmHD6zgHOlHRLblWwfzw907bhz+eBX/FI
 9kYvtX2c9MgY4Isa+43rZd5qvj9S3Cs8PD6tFPbq+n+3l7yWgMBTu/y+SNI8hupT
 W7CqjPcpvppFHhPkcXDA3yARnW7ccEx5aiQuvUCmRUioHtGwXvC63HMp8OjcQspV
 NNoIHYFsi1alzYq2kJLxY1IleWZ8j0hUkSSU8u7al8VIvtD43LGkv51xavxQUFjg
 BO9mLyS51H2agffySs4vhHJE82lZizvmh/RJfSJ0ezALzE2k42MrximX1D1rBJE6
 KPOhCiPt/jqpQMyqDYnY10FgTXQVwgPIVH1JLpo611tPFHlGW8Y4YxxR1Xduh5JX
 jbGLEjVREsDZ7EHrimLNLmJRAQpyQujv/yhf7k96gWBelVwVuISQLI4Ca5IeVQyk
 9yifgLXNGddgAwj0POMFeKXSm2We9nrrPDYLCKrsBMSN96/3SLveJC7fkW88aUZr
 ye4/K8Y3vA==
 =uc/3
 -----END PGP SIGNATURE-----

Merge tag 'for-6.18/io_uring-20250929' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux

Pull io_uring updates from Jens Axboe:

 - Store ring provided buffers locally for the users, rather than stuff
   them into struct io_kiocb.

   These types of buffers must always be fully consumed or recycled in
   the current context, and leaving them in struct io_kiocb is hence not
   a good ideas as that struct has a vastly different life time.

   Basically just an architecture cleanup that can help prevent issues
   with ring provided buffers in the future.

 - Support for mixed CQE sizes in the same ring.

   Before this change, a CQ ring either used the default 16b CQEs, or it
   was setup with 32b CQE using IORING_SETUP_CQE32. For use cases where
   a few 32b CQEs were needed, this caused everything else to use big
   CQEs. This is wasteful both in terms of memory usage, but also memory
   bandwidth for the posted CQEs.

   With IORING_SETUP_CQE_MIXED, applications may use request types that
   post both normal 16b and big 32b CQEs on the same ring.

 - Add helpers for async data management, to make it harder for opcode
   handlers to mess it up.

 - Add support for multishot for uring_cmd, which ublk can use. This
   helps improve efficiency, by providing a persistent request type that
   can trigger multiple CQEs.

 - Add initial support for ring feature querying.

   We had basic support for probe operations, but the API isn't great.
   Rather than expand that, add support for QUERY which is easily
   expandable and can cover a lot more cases than the existing probe
   support. This will help applications get a better idea of what
   operations are supported on a given host.

 - zcrx improvements from Pavel:
        - Improve refill entry alignment for better caching
        - Various cleanups, especially around deduplicating normal
          memory vs dmabuf setup.
        - Generalisation of the niov size (Patch 12). It's still hard
          coded to PAGE_SIZE on init, but will let the user to specify
          the rx buffer length on setup.
        - Syscall / synchronous bufer return. It'll be used as a slow
          fallback path for returning buffers when the refill queue is
          full. Useful for tolerating slight queue size misconfiguration
          or with inconsistent load.
        - Accounting more memory to cgroups.
        - Additional independent cleanups that will also be useful for
          mutli-area support.

 - Various fixes and cleanups

* tag 'for-6.18/io_uring-20250929' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux: (68 commits)
  io_uring/cmd: drop unused res2 param from io_uring_cmd_done()
  io_uring: fix nvme's 32b cqes on mixed cq
  io_uring/query: cap number of queries
  io_uring/query: prevent infinite loops
  io_uring/zcrx: account niov arrays to cgroup
  io_uring/zcrx: allow synchronous buffer return
  io_uring/zcrx: introduce io_parse_rqe()
  io_uring/zcrx: don't adjust free cache space
  io_uring/zcrx: use guards for the refill lock
  io_uring/zcrx: reduce netmem scope in refill
  io_uring/zcrx: protect netdev with pp_lock
  io_uring/zcrx: rename dma lock
  io_uring/zcrx: make niov size variable
  io_uring/zcrx: set sgt for umem area
  io_uring/zcrx: remove dmabuf_offset
  io_uring/zcrx: deduplicate area mapping
  io_uring/zcrx: pass ifq to io_zcrx_alloc_fallback()
  io_uring/zcrx: check all niovs filled with dma addresses
  io_uring/zcrx: move area reg checks into io_import_area
  io_uring/zcrx: don't pass slot to io_zcrx_create_area
  ...
2025-10-02 09:56:23 -07:00
Linus Torvalds 77633c77ee bitmap-for-6.18
Bits-related paches for 6.17:
  - FIELD_PREP_WM16() consolidation (Nicolas);
  - bitmaps for Rust (Burak);
  - __fls() fix for arc (Kees).
 -----BEGIN PGP SIGNATURE-----
 
 iQGzBAABCgAdFiEEi8GdvG6xMhdgpu/4sUSA/TofvsgFAmja3TMACgkQsUSA/Tof
 vshf2wv/fuqPq6ZQZGxrC+YKGrTKjAx6sFpYLqZoCgp1K4zgwFwYO3RG1KwlEsS5
 a+OAOeR7y73JfKHHBd1WBFnZFz/Vv8A18ah0XDKko/Ufy7jSHJ0Nu1RAofSGjqUW
 Pv34NCAmcvMB+gg4oDtmHlx/4FFFsSCqi4PdYTrnRMst7gEdhrQH95WL/DrhVnKt
 fen6NAsNLtlgJXCTghp8dU4ZkZ+V1iez4i81oxoWpPVxAptS2nrsCrkUzA1l1OpK
 X/OKW/I3O6vjmRNHW6Bq1WzgIlxyOrqb8iYAI8QLYSeuviLcbpGwQbfwD3IgsQjP
 TuRvfSVEiX2YZEbYn15VSb+hD9+IUi+XonJzTTNoKpIhINMkj/Z0jApMkGqQgcII
 IhyN+BNB2R9zqbatLkXwEQpuLFM7rxHRR03O0xfoDG6m9vOx9+LFlM/BqzJ7FWzQ
 kCRbrjSuoiIGFb1a8wqhZDh1jbgX8kj0t3cYsyWhA82Jt7XMckbTrWRICWSOfvXb
 QAJd72xT
 =Z/BH
 -----END PGP SIGNATURE-----

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

Pull bitmap updates from Yury Norov:

 - FIELD_PREP_WM16() consolidation (Nicolas)

 - bitmaps for Rust (Burak)

 - __fls() fix for arc (Kees)

* tag 'bitmap-for-6.18' of https://github.com/norov/linux: (25 commits)
  rust: add dynamic ID pool abstraction for bitmap
  rust: add find_bit_benchmark_rust module.
  rust: add bitmap API.
  rust: add bindings for bitops.h
  rust: add bindings for bitmap.h
  phy: rockchip-pcie: switch to FIELD_PREP_WM16 macro
  clk: sp7021: switch to FIELD_PREP_WM16 macro
  PCI: dw-rockchip: Switch to FIELD_PREP_WM16 macro
  PCI: rockchip: Switch to FIELD_PREP_WM16* macros
  net: stmmac: dwmac-rk: switch to FIELD_PREP_WM16 macro
  ASoC: rockchip: i2s-tdm: switch to FIELD_PREP_WM16_CONST macro
  drm/rockchip: dw_hdmi: switch to FIELD_PREP_WM16* macros
  phy: rockchip-usb: switch to FIELD_PREP_WM16 macro
  drm/rockchip: inno-hdmi: switch to FIELD_PREP_WM16 macro
  drm/rockchip: dw_hdmi_qp: switch to FIELD_PREP_WM16 macro
  phy: rockchip-samsung-dcphy: switch to FIELD_PREP_WM16 macro
  drm/rockchip: vop2: switch to FIELD_PREP_WM16 macro
  drm/rockchip: dsi: switch to FIELD_PREP_WM16* macros
  phy: rockchip-emmc: switch to FIELD_PREP_WM16 macro
  drm/rockchip: lvds: switch to FIELD_PREP_WM16 macro
  ...
2025-10-02 08:57:03 -07:00
Linus Torvalds d7a018eb76 Kernel Concurrency Sanitizer (KCSAN) updates for v6.18
- Replace deprecated strcpy() with strscpy()
 
 This change has had 6 weeks of linux-next exposure.
 -----BEGIN PGP SIGNATURE-----
 
 iIcEABYKAC8WIQR7t4b/75lzOR3l5rcxsLN3bbyLnwUCaNpmMxEcZWx2ZXJAZ29v
 Z2xlLmNvbQAKCRAxsLN3bbyLnxmiAP0cwJKy4B307v7TJUCrvXVqXJtyuGmdBdKv
 j2MOuvt4ygD9HIVd/pFeFkjH0MVNuSbYNl1ICb/UK+vx/5MA/doXPAM=
 =jiYN
 -----END PGP SIGNATURE-----

Merge tag 'kcsan-20250929-v6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/melver/linux

Pull Kernel Concurrency Sanitizer (KCSAN) update from Marco Elver:

 - Replace deprecated strcpy() with strscpy()

* tag 'kcsan-20250929-v6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/melver/linux:
  kcsan: test: Replace deprecated strcpy() with strscpy()
2025-10-02 08:31:44 -07:00
Linus Torvalds 7f70725741 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>
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQR74yXHMTGczQHYypIdayaRccAalgUCaNrp6QAKCRAdayaRccAa
 ljxRAP4hYocKXeWsiJzkTB199P4QUGWf220a9elBmtdJEed07gD/VBnCbSOxG3RO
 vS8qbJHwxUFL7a+mDV8RIVXSt99NpAg=
 =psG/
 -----END PGP SIGNATURE-----

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

Pull Kbuild updates from Nathan Chancellor:

 - 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

* tag 'kbuild-6.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kbuild/linux: (47 commits)
  modpost: Initialize builtin_modname to stop SIGSEGVs
  Documentation: kbuild: note CONFIG_DEBUG_EFI in reproducible builds
  kbuild: vmlinux.unstripped should always depend on .vmlinux.export.o
  modpost: Create modalias for builtin modules
  modpost: Add modname to mod_device_table alias
  scsi: Always define blogic_pci_tbl structure
  kbuild: extract modules.builtin.modinfo from vmlinux.unstripped
  kbuild: keep .modinfo section in vmlinux.unstripped
  kbuild: always create intermediate vmlinux.unstripped
  s390: vmlinux.lds.S: Reorder sections
  KMSAN: Remove tautological checks
  objtool: Drop noinstr hack for KCSAN_WEAK_MEMORY
  lib/Kconfig.debug: Drop CLANG_VERSION check from DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT
  riscv: Remove ld.lld version checks from many TOOLCHAIN_HAS configs
  riscv: Unconditionally use linker relaxation
  riscv: Remove version check for LTO_CLANG selects
  powerpc: Drop unnecessary initializations in __copy_inst_from_kernel_nofault()
  mips: Unconditionally select ARCH_HAS_CURRENT_STACK_POINTER
  arm64: Remove tautological LLVM Kconfig conditions
  ARM: Clean up definition of ARM_HAS_GROUP_RELOCS
  ...
2025-10-01 20:58:51 -07:00
Linus Torvalds c0f53f0d2e 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
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPZKym/RZuOCGeA/kCwJExA0NQxwFAmjbD5YACgkQCwJExA0N
 QxzUPw//U/sUb/+3eAOvF3A698j54u7Phtm9VTzyXdGmZ3tXDsnkP1spRoK32F5d
 kO2qhTIGPoo8FKS8CDL8a8UUr3TvqEd7+8Hcv37s/JluYCDnLuRJ87XTAXoH2vWy
 LkLD41Gt2BySH//99ciBB+N3DuAKc/+Ln5YXgPTIkzOEm+8a6Ux0lW5RjF+RzkH9
 jGXyoSFdeQcWKEz/CJ9Mp7gwgwig9KTAIL62hB69aP35Wjbw+le1POCs6bo4UuzU
 A+XdNit6Hau/JKS+Sw2/lpMcMz+Aev4gdFo2FukPuJSLJMR7KVNyiCVuIHIVI1oC
 v4yj5/QfUgZzWojweI9IVvt4BCuiSh3ke26cxO+xYSWTIlSbBDpAYRe3AVSp5xGq
 aPhaviqlgDLzxVuXTmGCyrxhpybgxGOQGmo6NulJ8wGaQ1GLllptB6hKnKrLBTrp
 jIwKUVBcl/xIeP4sd8vIvTNTyL56/XJYnouZYF+IXkX/8BY9L4OJycjPNgvZ0+IK
 LsTVXb2gdMghEGUFR2XNwoQljpyPSUFFcqoteOCaVhHaeD0CEAGBVSQNa7m3MtkO
 0q6pu/XfQAziVd6/dllDGueWTjzqvNChTipSe9dSgolZgKrvc2t4bw48rB+oORPe
 f/cBIWjpyZlwpggb8aSC4KAIkTG8ugz4EIOV6t3a7IAx6K71zwQ=
 =Z4UE
 -----END PGP SIGNATURE-----

Merge tag 'linux_kselftest-next-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest

Pull kselftest updates from Shuah Khan:

 - Fix 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

* tag 'linux_kselftest-next-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
  MAINTAINERS: add myself and Barry to dma_map_benchmark maintainers
  selftests/kexec: Ignore selftest binary
  selftests: always install UAPI headers to the correct directory
  selftests/kselftest_harness: Add harness-selftest.expected to TEST_FILES
  selftests: watchdog: skip ping loop if WDIOF_KEEPALIVEPING not supported
2025-10-01 20:41:10 -07:00
Linus Torvalds 30bbcb4470 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
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEPZKym/RZuOCGeA/kCwJExA0NQxwFAmjbB0QACgkQCwJExA0N
 QxxpUQ/8CslEjTv2+/LA122eGDtg8np61W1MTNEQslYyiobhZ9CXeFw4yJlTTb0w
 hShFK1pGAWgkVCVKIJOaeItY0hF3BIxyVtlQxDUKvukpMnLvZRI0KhG7p8aYnCq+
 jfQRy4gqwjaHyLQekQ1v6vRdHdTfh5mB6OUOCYa7QPQuKhOkBOaq2ZJ+9eFnkPXl
 KUGTcC3pL0jQQmaSgo7zFUbdGSq0JZkNbpMj0fAYB0zs+MSpfkAnQYEw3qaxU1/Z
 lu+CQdom+77Kt0r7UyEb6xUBeRveqYAWv6oFKq3CBzhlEGCkqVv6zgNg48qMC0QO
 cVW0E61u8bVAalhb7hOT3QsEp1k01Lr2N9/VBLP4LRb2HMlD2qlXDo6ftBjNgx/y
 m5Kukh1wQoOTaTJekdDMlaRXwApdn3MegheXE83n4dr44C5oyhlR8fFk/0Y6gSEU
 RKUg8ZwUNUhCdw4VgBn8zoSkK18D74feRoustmuMS00I/8to3iGvQ7kn3nz2fPMb
 AaZ6a2K95gk9TrD4UZdHF1aPHDudn3e8g6LdSOV/NoRNI9H+fXfhvxcLwW8WCqOw
 u5qfTxNUk4mPQrCs9hcDnWm9Ppuu5YeY989rKkA7j4z71dhyMOPynpOM+vXRijB8
 9zRcvyls87tgDAquIZvTp6Q/oEmi60OF40DRC9MjgOw0Iw7feIc=
 =VfHu
 -----END PGP SIGNATURE-----

Merge tag 'linux_kselftest-kunit-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest

Pull kunit updates from Shuah Khan:

 - New parameterized test features

   KUnit parameterized tests supported two primary methods for getting
   parameters:

    - Defining custom logic within a generate_params() function.

    - 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

 - Fix issues in kunit build artifacts cleanup

 - Fix parsing skipped test problem in kselftest framework

 - Enable PCI on UML without triggering WARN()

 - a few other fixes and adds support for new configs such as MIPS

* tag 'linux_kselftest-kunit-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest:
  kunit: Extend kconfig help text for KUNIT_UML_PCI
  rust: kunit: allow `cfg` on `test`s
  kunit: qemu_configs: Add MIPS configurations
  kunit: Enable PCI on UML without triggering WARN()
  Documentation: kunit: Document new parameterized test features
  kunit: Add example parameterized test with direct dynamic parameter array setup
  kunit: Add example parameterized test with shared resource management using the Resource API
  kunit: Enable direct registration of parameter arrays to a KUnit test
  kunit: Pass parameterized test context to generate_params()
  kunit: Introduce param_init/exit for parameterized test context management
  kunit: Add parent kunit for parameterized test context
  kunit: tool: Accept --raw_output=full as an alias of 'all'
  kunit: tool: Parse skipped tests from kselftest.h
  kunit: Always descend into kunit directory during build
2025-10-01 19:15:11 -07:00
Linus Torvalds d2b2fea350 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.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjdrC0ACgkQmmx57+YA
 GNmOuQ//XvHAW5q/kBgoIxNaEAwEJn+6AnjGE/HWkyIPDEBJGOIAo02h/1BIXsIX
 PRGVYL/WOnhMMYAjPAGqFXF7kYjFmZx1/thFVsjVnPtkqR7AapEamLjSSmjXQTmp
 N0kUseD6Uv1X2IxVHcuTvFoZ/Z+fuz7RvmLtNhZ5DFnFJ4cHX2l8gEvOc1po5SX6
 +Q6fwtwMhMWa57N+E90UcWJFPetZ6UUN6dIidAdDYp+lBwP2HHsvm0tzr95Rw3a1
 ugAkcdSj67UyucNf3ECQ/JTtckPJBoxGSAOOpbT1f+SdO4zIHCY3TsOM7bt7Vvqp
 58GbyJ4f8sKN2LwjvBrvn8qNRRzuHfTYYK66D4ahy9zvPgYYWkTKJRLSI6HEkv1j
 cbSWUkV0C/e1CBbTQLoGzpjKEFPHefODU0n35sG60Tf8nG2fue2wCMCCjMnbyeEP
 eA+dEDxM7xvXPcNDdEKqKCLCV+zm2D+CqlfdIcwvrjF2x5dt/P+zFoLO0qIN8DE7
 GAMrKfjw5X5o4pe/9SD8E0hyVZnjWrZ0oc7IGT2zdAFNm/vlJ/xBuOlC8ZNNtnaJ
 DcAkADUKiudd5HYlC3bTThBVhEITfTacfF1qBy4T/jFzbk1l5yfQjwn+O9o71CkL
 j5blsdlrLOTkWfFaOq4Z2IBGWUif2K3cd/ata7J4+FX/MN2TLVM=
 =Vx5p
 -----END PGP SIGNATURE-----

Merge tag 'asm-generic-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic

Pull asm-generic updates from Arnd Bergmann:
 "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"

* tag 'asm-generic-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/asm-generic:
  once: fix race by moving DO_ONCE to separate section
  asm-generic/io.h: Skip trace helpers if rwmmio events are disabled
2025-10-01 17:47:16 -07:00
Linus Torvalds 42cbaeec98 ARM: soc updates for 6.18
The at91 power management code and the TI AM33 platform each get
 a few updates for robustness, the other changes are just minor
 cleanups.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjdp18ACgkQmmx57+YA
 GNn2nQ//WvLwHjOdFrVfLjjpYXhNIZ859FQJwU1EIcq98B6Fa9CW8Ei0SjNP1Gxy
 L7PZpD4/Q/eFBLiyIJgNMWs40PUy0CpkE1MTc68nFuGxF77Msy8bN+cRLf+pl6/Y
 PK/s9At9Ss8JnMXsjAaRTaPuOHizdUGSyeQx4HEjQp5b1ml6kfhJo7e2DOQPEiHN
 lTpR/h26vN2AjUwVjZHwp9rdsOlwFaTEPuYlm+wI4OvtHXpaAYQTz3dbMRoofQDM
 d//5ci7gyaDsZJ8VAcUGFJfHYmKWjCejeezJfZNc87dW0cyvaP4jJBoKbHTNcKE7
 rfFXvKT7a0bWywru7o+mUNes5u+NFw3AKFULSOlglut9yQZT2IxS60Ut9K4SOw9Q
 oB+r+8icQh/7TIXC7xm2zRorIa51ZY5OMUVKBNgvyNxK2JQFuQLbKeqcnQbtEoz+
 ePfpjKlaM9Id2gUzEZc71s4nTFS3k+EguYMKqE53XbP8HGYeJvaAqFnqeycAVFrR
 BX/TBacF4lKLxWQ8skO75LtKoVZPwZvUWwEF6ZDjjLS2W7ojrLlv4RsqxU03b83z
 u4FrBZqD4qg0cMEfFAFlpeUSM4tLSKordPudYn2cZ6qI5rDpfYcnACN1FpyVfqjX
 TdcH+ts50IXmpowHvprJ3ZancvF4z6Ik6PC8kEGMI0N5mW+3i/E=
 =lbsd
 -----END PGP SIGNATURE-----

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

Pull ARM SoC updates from Arnd Bergmann:
 "The at91 power management code and the TI AM33 platform each get a few
  updates for robustness, the other changes are just minor cleanups"

* tag 'soc-arm-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  ARM: versatile: clock: convert from round_rate() to determine_rate()
  ARM: rockchip: remove REGULATOR conditional to PM
  ARM: at91: pm: Remove 2.5V regulator
  ARM: OMAP2+: clock: convert from round_rate() to determine_rate()
  ARM: OMAP1: clock: convert from round_rate() to determine_rate()
  ARM: mach-hpe: Rework support and directory structure
  arm: omap2: use string choices helper
  ARM: OMAP2+: pm33xx-core: ix device node reference leaks in amx3_idle_init
  ARM: OMAP2+: use IS_ERR_OR_NULL() helper
  ARM: AM33xx: Implement TI advisory 1.0.36 (EMU0/EMU1 pins state on reset)
  ARM: at91: pm: save and restore ACR during PLL disable/enable
  ARM: at91: pm: fix MCKx restore routine
  ARM: at91: pm: fix .uhp_udp_mask specification for current SoCs
  ARM: shmobile: rcar-gen2: Use SZ_256K definition
2025-10-01 17:41:15 -07:00
Linus Torvalds 38057e3236 soc: driver updates for 6.18
Lots of platform specific updates for Qualcomm SoCs, including a
 new TEE subsystem driver for the Qualcomm QTEE firmware interface.
 
 Added support for the Apple A11 SoC in drivers that are shared with the
 M1/M2 series, among more updates for those.
 
 Smaller platform specific driver updates for Renesas, ASpeed, Broadcom,
 Nvidia, Mediatek, Amlogic, TI, Allwinner, and Freescale SoCs.
 
 Driver updates in the cache controller, memory controller and reset
 controller subsystems.
 
 SCMI firmware updates to add more features and improve robustness.
 This includes support for having multiple SCMI providers in a single
 system.
 
 TEE subsystem support for protected DMA-bufs, allowing hardware to
 access memory areas that managed by the kernel but remain inaccessible
 from the CPU in EL1/EL0.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjdpaoACgkQmmx57+YA
 GNnBXA//QgmFXYGG7QfB825mt0orKZxpfpLcwvqO7hkWgbXtl7Gokw2lGYN6bwLu
 zvY4MQ/bVoZ8R5uTVmuaSHBRsttSen8mBf+V0vzsBM/DRRVxvIN/7TESrY3J7Dtx
 J5syHKIBiUtdkDebWWC6jIElczIBItsd03Ln4Xjjt8Vas5YOO4n44zFrPo+FwlN/
 I6D2K86AiNZTtUCDMtB6VfJ6YtjYBWcWnJm7FXw/vE8FAXdZUnNWnZ8hbdQ5GaME
 JZGepUhONaOMUoGNZNaDGw511RdPhYzPjj9rCsIx2qdsRO9/4tJ8ccpW2aUMYh8c
 nA6w8Hj8jCwco6aYYrDUDV9uRtURDrmyJgTJBNLU05e/L+MuJ3IZNlzHFWlsxIAE
 vhyTdmg/P04ClQyixCl67IH/66F/0smX9C+1761LrD7GTdfR92KPl5W6q+DPBg/x
 yf+s2p3+f7ItV5XobKOrbf3w0xazeDb5o/EK8BufMx9vSe9bpzJ0gOf0CmNXEpyZ
 owAhbh6wXX1YwPcyA9LHv6gthyJwc/3fLu49ggMZP2rU01ccKOYn9H0cr7C8NVmy
 wEpJR0lp5aSw2oRkPkxB6sFmUohcpr8/OXGGJuvCXkYsUY1BEup4lewvbIWK4WoE
 c84kbbaHsjgFhe3IRlQw3G4KLYQT3jRtF7fH+gPx556BcI6K+lg=
 =mcZR
 -----END PGP SIGNATURE-----

Merge tag 'soc-drivers-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull SoC driver updates from Arnd Bergmann:
 "Lots of platform specific updates for Qualcomm SoCs, including a new
  TEE subsystem driver for the Qualcomm QTEE firmware interface.

  Added support for the Apple A11 SoC in drivers that are shared with
  the M1/M2 series, among more updates for those.

  Smaller platform specific driver updates for Renesas, ASpeed,
  Broadcom, Nvidia, Mediatek, Amlogic, TI, Allwinner, and Freescale
  SoCs.

  Driver updates in the cache controller, memory controller and reset
  controller subsystems.

  SCMI firmware updates to add more features and improve robustness.
  This includes support for having multiple SCMI providers in a single
  system.

  TEE subsystem support for protected DMA-bufs, allowing hardware to
  access memory areas that managed by the kernel but remain inaccessible
  from the CPU in EL1/EL0"

* tag 'soc-drivers-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (139 commits)
  soc/fsl/qbman: Use for_each_online_cpu() instead of for_each_cpu()
  soc: fsl: qe: Drop legacy-of-mm-gpiochip.h header from GPIO driver
  soc: fsl: qe: Change GPIO driver to a proper platform driver
  tee: fix register_shm_helper()
  pmdomain: apple: Add "apple,t8103-pmgr-pwrstate"
  dt-bindings: spmi: Add Apple A11 and T2 compatible
  serial: qcom-geni: Load UART qup Firmware from linux side
  spi: geni-qcom: Load spi qup Firmware from linux side
  i2c: qcom-geni: Load i2c qup Firmware from linux side
  soc: qcom: geni-se: Add support to load QUP SE Firmware via Linux subsystem
  soc: qcom: geni-se: Cleanup register defines and update copyright
  dt-bindings: qcom: se-common: Add QUP Peripheral-specific properties for I2C, SPI, and SERIAL bus
  Documentation: tee: Add Qualcomm TEE driver
  tee: qcom: enable TEE_IOC_SHM_ALLOC ioctl
  tee: qcom: add primordial object
  tee: add Qualcomm TEE driver
  tee: increase TEE_MAX_ARG_SIZE to 4096
  tee: add TEE_IOCTL_PARAM_ATTR_TYPE_OBJREF
  tee: add TEE_IOCTL_PARAM_ATTR_TYPE_UBUF
  tee: add close_context to TEE driver operation
  ...
2025-10-01 17:32:51 -07:00
Linus Torvalds f8912147db soc: defconfig updates for 6.18
Only a small set up updates, enabling a few drivers for Artpec, THead,
 Renesas and Broadcom chips, and cleaning out some Qualcomm options that
 were removed previously.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjdp7EACgkQmmx57+YA
 GNlYTQ//VRqGV2EDRxxg2tXv/fnSx5E4EFQgcsgBpbrmAghrZKfCfBcASb4AOZwr
 3jBZU//0FM68hkVorNukBmKw1owRNPwYQt/rGso1zQvE5MJspcSvzquhmODWTSqc
 yfVnpgYd/fG6z8CJPdVpWslOJF7QkpY0+SmLxl7EdrekBSYGKNsXZnlRERCRAjqu
 5JVmWesxGiXcrzw/cHGMe8lMKqtbjtUxQlCEEVeCX+PEhbTAy+qx/e7UGe2NHTa6
 2DuqG+TpI/BKY1KVU8lLjl+1b3SkjnhOYfJrGNeG8f75BLzyN0YFPFOHLCfMVQlY
 6Zj1d7gJqcqCsIFK0nbdnNKLnwOSwcAgd4aCUBv6LJ7IjoM8N3wwEpy6DLqeAXL8
 jvYUODxxznJb9EAX3PTWi7AzifyzmS3d13PQ7Kh442ch1d+JShoOtIAeMqhGDQwi
 9qjsRs1nZIMWFXfVqmaR9AMLSw9lw8R1bhmcIF8DsnRRONFIrmpZbuK81szphJrl
 l+DfvwxtU9+mV+rBkiWSRQ2OICEMnppqbss6I/WnXJmnWa0kFCjYYKQ4Cc+WLUBt
 sExtjjiZ3qw/ra7bw6rgrbfxCNfokYGPu2JoC84vg50mGfIaZz2fRXaLa4lyqlvt
 74cONUXeQhhIYf/YnKiUb5HIsnCI260/a815alesvpSCjJay8zw=
 =sxZp
 -----END PGP SIGNATURE-----

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

Pull SoC defconfig updates from Arnd Bergmann:
 "Only a small set up updates, enabling a few drivers for Artpec, THead,
  Renesas and Broadcom chips, and cleaning out some Qualcomm options
  that were removed previously"

* tag 'soc-defconfig-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  ARM: configs: u8500: Set NFC_SHDLC as built-in
  riscv: defconfig: Enable MMP_PDMA support for SpacemiT K1 SoC
  riscv: defconfig: run savedefconfig to reorder it
  ARM: defconfig: Remove obsolete CONFIG_USB_EHCI_MSM
  arm64: defconfig: Enable Marvell WiFi-Ex USB driver
  arm64: defconfig: Enable BCM2712 on-chip pin controller driver
  arm64: defconfig: Enable Axis ARTPEC SoC
  ARM: s3c6400_defconfig: Drop MTD_NAND_S3C2410
  ARM: defconfig: pxa: Remove duplicate CONFIG_USB_GPIO_VBUS entry
  ARM: defconfig: cleanup orphaned CONFIGs
  arm64: defconfig: enable i.MX91 pinctrl
  arm64: defconfig: Enable X1P42100 GPUCC driver
  arm64: defconfig: Enable QCS615 clock controllers
  arm64: defconfig: Enable the RZ/V2H(P) RSPI driver
  arm64: defconfig: Enable Renesas RZ/T2H serial SCI
2025-10-01 17:25:57 -07:00
Linus Torvalds 0f048c878e soc: dt changes for 6.18
There are five sets of new SoCs that get added in existing families,
 all of them being either upgrades or cut-down versions of the older chips:
 
  - Apple M2 Pro, M2 Max and M2 Ultra, used in the 2022/2023 generation of
    high-end workstations and laptops from Apple.  Linux has been working
    on these for a while but stil requires patches.
 
  - Axis Artpec8 is an Armv8 chip based on Samsung Exynos design,
    unlike the earlier Armv7 Artpec6 from the same company that
    was part of a separate family of chips.
 
  - NXP i.MX91 is a cut-down version of i.MX93, using only a single
    Cortex-A55 core.
 
  - Qualcomm Lemans Auto is a variant of the Lemans SoC that was
    originally merged under the sa8775p name, the differences
    being mostly the firmware configuration of the platform.
 
  - Four new Renesas SoCs RZ/T2H (r9a09g077m44), RZ/N2H (r9a09g087m44),
    RZ/T2H (r9a09g077), and RZ/N2H (r9a09g087) are all industrial bedded
    SoCs based on Cortex-A55 cores
 
 In total, there are 65 new machines, including:
 
  - Industrial embedded system and single-board computers based on NXP,
    Allwinner, TI, Rockchips, Marvell, Xilinx Spacemit, Starfive chips.
 
  - Reference boards for the newly added Renesas, Qualcomm, NXP and Axis
    ARMv8 chips as well as Microchip's MPFS RISC-V SoC
 
  - Laptops and Workstations using Apple M2 and Qualcomm Snapdragon
    X1 chips.
 
  - Several Samsung phones using Qualcomm Snapdragon chips
 
  - Set-top boxes based on Allwinner H313
 
  - Five BMC boards using 32-bit ASpeed SoCs
 
  - Three network routers using IXP4xx (ARMv5!) and Broadcom bcm4708
    (ARMv7) SoCs
 
 Two machines get phased out because they were available only in small
 quantities but never made it into products: one STi407 based reference
 board, and a Snapdragon 845 based Chromebook.
 
 Aside from the newly added machines, a lot of work went into
 improving hardware support on the existing machines and cleaning
 up contents for validation.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjdn9oACgkQmmx57+YA
 GNnHwg//RBWBI+6Wj8DP9vkz+0/UKNNPVPZNIwL3+X9zWBnQ/nRDj8U6Z8q8uqeP
 42M+kWTt6WwgHLYItcKa7o1YTdkq1cNuxSt4QIliWxcy58RnsJUbfYErmB6ouM3I
 yUbJNJdarQAkewypsZ6TYA1z/fMPK8uWLSCvEpIsfxMn6GV9bKOaCSDCM1htDwYV
 /CXiJEP4ytlpOXz1JkrQ8yljiEX5mBTe4Gfc70FKS+9UMdOwx74od8cUwmptw2ej
 g/LiDPbKWJ3OLUeUBxZiJW6PDEH0MjBmXTamZo56cniSP3ZJ5H4T//ZEqYspYR+f
 Dcj9AjtT0QHOpLnrTPsTmXHme/oGodmgEXuooSJxEEfFSv0fxfjNXHOR6gUoSSLz
 cCe6wcu4nBLmAK0QqI8oMJO4Ey6NE74Kz4kJwad2Oe7Aee7eCnjX6ZwyB4sJvBtf
 ii401i3GYdOWV0DkgAAqREMNPbUZH9WWdCYd/izI3fO1TooBptaPWRo60rrIpx3M
 u1ntYyj1PFrnYadESATgmmj+3PE7mRaL6prvCtI19vt12qQONDVzoFgzjxh+I7tV
 8PQTb3QbciZuMiX36GNgt5OLz9KqE31xtZtxo/+a8CNOzuZu8UwonpkMkkrwGMRU
 /3jjZvuiRBh2xW32yqszAFw0JII+2cGPQUG5dcoijcEqWorKMto=
 =9OtD
 -----END PGP SIGNATURE-----

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

Pull SoC dt updates from Arnd Bergmann:
 "There are five sets of new SoCs that get added in existing families,
  all of them being either upgrades or cut-down versions of the older
  chips:

   - Apple M2 Pro, M2 Max and M2 Ultra, used in the 2022/2023 generation
     of high-end workstations and laptops from Apple. Linux has been
     working on these for a while but stil requires patches.

   - Axis Artpec8 is an Armv8 chip based on Samsung Exynos design,
     unlike the earlier Armv7 Artpec6 from the same company that was
     part of a separate family of chips.

   - NXP i.MX91 is a cut-down version of i.MX93, using only a single
     Cortex-A55 core.

   - Qualcomm Lemans Auto is a variant of the Lemans SoC that was
     originally merged under the sa8775p name, the differences being
     mostly the firmware configuration of the platform.

   - Four new Renesas SoCs RZ/T2H (r9a09g077m44), RZ/N2H (r9a09g087m44),
     RZ/T2H (r9a09g077), and RZ/N2H (r9a09g087) are all industrial
     bedded SoCs based on Cortex-A55 cores

  In total, there are 65 new machines, including:

   - Industrial embedded system and single-board computers based on NXP,
     Allwinner, TI, Rockchips, Marvell, Xilinx Spacemit, Starfive chips.

   - Reference boards for the newly added Renesas, Qualcomm, NXP and
     Axis ARMv8 chips as well as Microchip's MPFS RISC-V SoC

   - Laptops and Workstations using Apple M2 and Qualcomm Snapdragon X1
     chips.

   - Several Samsung phones using Qualcomm Snapdragon chips

   - Set-top boxes based on Allwinner H313

   - Five BMC boards using 32-bit ASpeed SoCs

   - Three network routers using IXP4xx (ARMv5!) and Broadcom bcm4708
     (ARMv7) SoCs

  Two machines get phased out because they were available only in small
  quantities but never made it into products: one STi407 based reference
  board, and a Snapdragon 845 based Chromebook.

  Aside from the newly added machines, a lot of work went into improving
  hardware support on the existing machines and cleaning up contents for
  validation"

* tag 'soc-dt-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (931 commits)
  arm64: dts: apm-shadowcat: Drop "apm,xgene2-pcie" compatible
  arm64: dts: apm-shadowcat: Move slimpro nodes out of "simple-bus" node
  ARM: dts: microchip: sam9x7: Add qspi controller
  arm64: dts: qcom: Add MST pixel streams for displayport
  arm64: dts: qcom: sm6350: correct DP compatibility strings
  arm64: dts: qcom: monaco-evk: Enable Adreno 623 GPU
  arm64: dts: qcom: qcs8300-ride: Enable Adreno 623 GPU
  arm64: dts: qcom: qcs8300: Add gpu and gmu nodes
  arm64: dts: allwinner: h313: Add Amediatech X96Q
  dt-bindings: arm: sunxi: Add Amediatech X96Q
  arm64: dts: apple: t8015: Add SPMI node
  arm64: dts: apple: t8012: Add SPMI node
  arm64: dts: apple: Add J180d (Mac Pro, M2 Ultra, 2023) device tree
  arm64: dts: rockchip: Add devicetree for the ROC-RK3588-RT
  dt-bindings: arm: rockchip: Add Firefly ROC-RK3588-RT
  arm64: dts: rockchip: update pinctrl names for Radxa E52C
  arm64: dts: rockchip: remove vcc_3v3_pmu regulator for Radxa E52C
  arm64: dts: apple: Add J474s, J475c and J475d device trees
  arm64: dts: apple: Add J414 and J416 Macbook Pro device trees
  arm64: dts: apple: Add initial t6020/t6021/t6022 DTs
  ...
2025-10-01 17:19:38 -07:00
Linus Torvalds a8253f8077 soc: new SoC support for 6.18
Pinkesh Vaghela adds support for the ESWIN EIC7700 SoC, as
 described in [1]:
 
  "Add support for ESWIN EIC7700 SoC consisting of SiFive Quad-Core
   P550 CPU cluster and the first development board that uses it, the
   SiFive HiFive Premier P550.
 
   This patch series adds initial device tree and also adds ESWIN
   architecture support.
 
   Boot-tested using intiramfs with Linux v6.17-rc3 on HiFive Premier
   P550 board using U-Boot 2024.01 and OpenSBI 1.4."
 
 [1] https://lore.kernel.org/linux-riscv/20250825132427.1618089-1-pinkesh.vaghela@einfochips.com/
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmjdpqUACgkQmmx57+YA
 GNlh3g//QmkkOnHUZvbUNNhf3WMulaVFA7K8pX6DB+ZI8WJSY3asJsKKUfgx5EhO
 Dml85lMYI4RUtia6TkSQ9RgG7ECmrcn07RWEqUR5MNeAYh2+lcVHn6dEO6vSmllG
 yxXH1AcqRm1CP9nKnz8g5yRcrndfPVKGl8oIENlyfnGoBmrdPanKElXvx6krzexw
 J8h/BJo29TntCqUCDsw9/N+5xA9lUVHS7v7alF01M10w48nDaEg8l/X7QxUhxhKl
 Knd9o8abNzxt2au8AunS91rJhZCxm17Gnwsg3R3ij+Ws+Dgao3aWpYRVRIE2ND7m
 6YhWIK+IeuMI48dnZ+QzKbNhwvF/RLUOt3P8zNGyRxDGh8azLUCp3BXtt8FSrJ2n
 /mSCrQyB2BnQHJs4cD6I2+shHWVpMJ9mf0lmQZBINamTkXFqIoIisGih/YDdX9x3
 5BDG4D9mNFAP+qzLcrHq0WNGfHZHbhk06sw0YEv6AhgRgeKqRIjbWUn+8l7EnQts
 8E8vZc+Ztd61hxLP3XD5Ads01kDz5nAU/7IJ6l+0r7qp+S6GxjKkaPXsvrdSscTn
 bACIgw5hsFr5t9rleyTcyS5XeqGwt778jA4mjC8PFLmXKqf0vpuCAOCSFjk7euea
 pMJjeyH6khA0VXCDvgolCF+O3STVY3RtqefEwJaOmBtQaycmNZ8=
 =DONh
 -----END PGP SIGNATURE-----

Merge tag 'soc-newsoc-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc

Pull new SoC support from Arnd Bergmann:
 "Pinkesh Vaghela adds support for the ESWIN EIC7700 SoC consisting of
  SiFive Quad-Core P550 CPU cluster and the first development board that
  uses it, the SiFive HiFive Premier P550 [1].

  This adds initial device tree and also adds ESWIN architecture
  support.

  Boot-tested using intiramfs with Linux v6.17-rc3 on HiFive Premier
  P550 board using U-Boot 2024.01 and OpenSBI 1.4"

Link: https://lore.kernel.org/linux-riscv/20250825132427.1618089-1-pinkesh.vaghela@einfochips.com/ [1]

* tag 'soc-newsoc-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc:
  riscv: dts: eswin: add HiFive Premier P550 board device tree
  riscv: dts: add initial support for EIC7700 SoC
  dt-bindings: interrupt-controller: Add ESWIN EIC7700 PLIC
  dt-bindings: riscv: Add SiFive HiFive Premier P550 board
  riscv: Add Kconfig option for ESWIN platforms
  dt-bindings: riscv: Add SiFive P550 CPU compatible
2025-10-01 17:10:27 -07:00
Linus Torvalds 9792d660a4 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
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEktVUI4SxYhzZyEuo+vtdtY28YcMFAmjatrgACgkQ+vtdtY28
 YcMyOBAAlZW1GqpFbfh0TBGL3HTOdBgEqBdBvoVigkzQxpIpgGHBfQiyY2z5WUru
 TzgQ2fK+hBHRx/7KsizpxHNWX5LWX9pUbVmJsDqBMlIAqtNnJGqKDjXibCYdtonf
 IsK8Ow48LHfVPcGPixaFhbvoxIL7hg8b+4OgVPjUN3Bbj6Tsh+bi+SzH0bJhWmLD
 842jqUeymxeeYZBW4lKvjWKK6QWU+zwtCeuZfzMC/iOn9YB8x8FqGhFG951aSA8g
 kgdi36tOyYAmGj6kbTTOlUFrmHC5qQbXQUv8evhz7h4pw0xPXPkg0Foe7WfJBFq3
 CnfHuhmFadwfUI6K4WAK/TfM9QEi9fm+Nu0sv/q4s6YHlfGGuA9AVgRRWLhC9aAr
 CDp73jF4/aXWmUe5MZZiee1aHSbl9DzdDx+UEpjX3V8I2DiRyFXTuy9p5shkmH7D
 mUX+GdRf4cF+uxwWz4/G4XTHkFMgpoUJBoz8Hwn10JG1//+Na1FBrPHx2jeRyTpb
 HLXf7G8MIrpVUT2FkurVFV1QSWB9VB3Lm9wwT7KbAaEA82n8OYI7sM/ZABFOEMCD
 /ZnwdOjq3izUcrejwr6iP436gHBvwId1IyVQFtY+dDcgS1neZ9LMqsvcDS2GAW30
 P8wkt5ogiu0zIc6ysgKMCW9VV3Fh9ZcplMhylTqDrpV+A0O+QbQ=
 =pcE2
 -----END PGP SIGNATURE-----

Merge tag 'devicetree-for-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux

Pull devicetree updates from Rob Herring:
 "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 multiple text board 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"

* tag 'devicetree-for-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (81 commits)
  dt-bindings: arm: altera: Drop socfpga-sdram-edac.txt
  dt-bindings: gpu: Convert nvidia,gk20a to DT schema
  dt-bindings: rng: sparc_sun_oracle_rng: convert to DT schema
  dt-bindings: vendor-prefixes: update regex for properties without a prefix
  dt-bindings: display: bridge: convert megachips-stdpxxxx-ge-b850v3-fw.txt to yaml
  scripts: dt_to_config: fix grammar and a typo in --help text
  dt-bindings: fix spelling, typos, grammar, duplicated words
  docs: dt: fix grammar and spelling
  of: base: Add of_get_next_child_with_prefix() stub
  dt-bindings: trivial-devices: Add compatible string synaptics,synaptics_i2c
  dt-bindings: soc: mediatek: pwrap: Add power-domains property
  dt-bindings: pinctrl: mt65xx: Allow gpio-line-names
  dt-bindings: media: Convert MediaTek mt8173-vpu bindings to DT schema
  dt-bindings: arm: mediatek: Support mt8183-audiosys variant
  dt-bindings: mailbox: mediatek,gce-mailbox: Make clock-names optional
  dt-bindings: regulator: mediatek,mt6331: Add missing compatible
  dt-bindings: regulator: mediatek,mt6331: Fix various regulator names
  dt-bindings: regulator: mediatek,mt6332-regulator: Add missing compatible
  dt-bindings: pinctrl: mediatek,mt7622-pinctrl: Add missing base reg
  dt-bindings: pinctrl: mediatek,mt7622-pinctrl: Add missing pwm_ch7_2
  ...
2025-10-01 16:58:24 -07:00
Linus Torvalds f13ee7cc2d Thermal control updates for 6.18-rc1
- 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)
 -----BEGIN PGP SIGNATURE-----
 
 iQFGBAABCAAwFiEEcM8Aw/RY0dgsiRUR7l+9nS/U47UFAmjamT4SHHJqd0Byand5
 c29ja2kubmV0AAoJEO5fvZ0v1OO1BOwH/3ZL/GN+iJ7oFU/jOW4EktnLowCMgIKF
 DURhmrZRoqJzZUY8PXysUekXYmniT6Itzv2h4psKMihn/khtapmkRkE23exmR9Gy
 h5V4Nxbx4Ero6YfZ3KT4+AY1x2eRO6aDY29EdIAVeWacwOleTPhUvP70d5dZTHdy
 QYi21qZarrkG3uiiNrBfgRW2IAcvQ37G1dy6fxJrURhUG3E9u2P9C9REBwQfkxBj
 LxaV42oiQNU0S5+r4/0f1UbqR88FTh/X4xmpEFHK+zWewKYdYhXHBdCYlcegH7oO
 WwQW8u3ofR/COpFNPdWrpDb9fYia0fbcJ131CVmAy8RySVd4dBAPKDM=
 =okDy
 -----END PGP SIGNATURE-----

Merge tag 'thermal-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull thermal control updates from Rafael Wysocki:
 "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)"

* tag 'thermal-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (37 commits)
  thermal/drivers/renesas/rzg3e: Fix add thermal driver for the Renesas RZ/G3E SoC
  dt-bindings: thermal: qcom-tsens: Document the Glymur temperature Sensor
  thermal/drivers/renesas/rzg3e: Add thermal driver for the Renesas RZ/G3E SoC
  dt-bindings: thermal: r9a09g047-tsu: Document the TSU unit
  thermal/drivers/thermal-generic-adc: Add temperature sensor channel
  dt-bindings: thermal: rockchip: Tighten grf requirements
  thermal/drivers/rockchip: Shut up GRF warning
  thermal/drivers/rockchip: Unify struct rockchip_tsadc_chip format
  thermal/drivers/renesas/rzg3s: Add thermal driver for the Renesas RZ/G3S SoC
  dt-bindings: thermal: r9a08g045-tsu: Document the TSU unit
  thermal/drivers/k3_j72xx_bandgap: Register sensors with hwmon
  thermal/drivers/rcar_gen3: Fix mapping SoCs to generic Gen4 entry
  thermal/drivers/tegra: Add Tegra114 specific SOCTHERM driver
  dt-bindings: thermal: add Tegra114 soctherm header
  thermal/drivers/tegra/soctherm-fuse: Prepare calibration for Tegra114 support
  dt-bindings: thermal: Document Tegra114 SOCTHERM Thermal Management System
  thermal/drivers/rcar_gen3: Document Gen4 support in Kconfig entry
  thermal/drivers/rcar_gen3: Fix comment typo
  drivers/thermal/qcom/lmh: Fix incorrect error message
  thermal/drivers/qcom/lmh: Add missing IRQ includes
  ...
2025-10-01 16:33:14 -07:00
Linus Torvalds 679a16399a ACPI updates for 6.18-rc1
- 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 dissasebling 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 thremal 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)
 -----BEGIN PGP SIGNATURE-----
 
 iQFGBAABCAAwFiEEcM8Aw/RY0dgsiRUR7l+9nS/U47UFAmjaj3ESHHJqd0Byand5
 c29ja2kubmV0AAoJEO5fvZ0v1OO1mKgH/A5eTwqfiQFvkhgQU/mP9v8Y0yV8p0qE
 W6xtzixsplk2bpV6IPcG8KA13EZMDGwkU+5xq2Jpsi/tipV58eyWv/i7TNaWNasM
 QaX7mVik/QOw2hb6Jdef2RdgJOwj1J6UimR+i58HNX0hlBTPsMyqY0yHf6gXDzNM
 CzS/A9kJUSvpCHav2tPoCr19ZLm+2GbgLoomGlqaM/Mxb6VyD7WnDeUYY2hOeZ4q
 pFabFcEMjB7SOHv5sDLCKzy/r9+AspM9GVRgLKiJkMv/DQ4YWJd4ZRarFQWD48ff
 sMX/DEg4M+YsaGCyHKLujloDpMnmg3MQYdvtmaf/Anf4VM/fkZPDkCY=
 =YK1m
 -----END PGP SIGNATURE-----

Merge tag 'acpi-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull ACPI updates from Rafael Wysocki:
 "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 dissasebling 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 thremal 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)"

* tag 'acpi-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (50 commits)
  ACPI: debug: fix signedness issues in read/write helpers
  ACPI: processor: Do not expose global variable acpi_idle_driver
  ACPI: SPCR: Support Precise Baud Rate field
  ACPI: processor: idle: Redefine two functions as void
  ACPI: processor: Update cpuidle driver check in __acpi_processor_start()
  ACPI: processor: idle: Rearrange declarations in header file
  ACPI: processor: Remove unused empty stubs of some functions
  ACPI: property: Adjust failure handling in acpi_nondev_subnode_extract()
  ACPI: property: Do not pass NULL handles to acpi_attach_data()
  ACPI: property: Add code comments explaining what is going on
  ACPI: property: Disregard references in data-only subnode lists
  ACPI: property: Fix buffer properties extraction for subnodes
  ACPI: SPCR: Add support for DBG2 RISC-V SBI port subtype
  ACPI: APEI: EINJ: Allow more types of addresses except MMIO
  ACPI: APEI: Remove redundant assignments in erst_dbg_{ioctl|write}()
  ACPICA: acpidump: fix return values in ap_is_valid_checksum()
  ACPICA: ACPI_TYPE_ANY does not include the package type
  ACPICA: CEDT: Add Back-Invalidate restriction to CXL Window
  ACPICA: Fix largest possible resource descriptor index
  ACPICA: Update version to 20250807
  ...
2025-10-01 16:24:50 -07:00
Linus Torvalds 991053178e Power management updates for 6.18-rc1
- 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 Özkan)
 
  - 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 funtion
    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)
 -----BEGIN PGP SIGNATURE-----
 
 iQFGBAABCAAwFiEEcM8Aw/RY0dgsiRUR7l+9nS/U47UFAmjafbMSHHJqd0Byand5
 c29ja2kubmV0AAoJEO5fvZ0v1OO174EH/jAm4GBn1sbjMt0CybSHTTP9iryTiN6m
 cXML5OpMoLbTnngfXjbEe9t52Fc0YV4awCG/S8Ufbut6ubWOEaVzInlw3zQAeE7c
 V91ioxKrodrykpBxn5UFyCxpT2NZWteWl5rOEPeN7j+hqS4I4GTO0HsSo+E+1Y9F
 DKELrbkLsn7rHy+ZvrOhcvq1IZE8gvINuji0QEf1cZz1VrgrLbQHUFqySpCUJw3F
 /MfnA3l0kA2TXQ+UpDWJw8l1weZpXpOPJiyhYQKKeYHVA4osBwiFA/9pq+8Xb/AJ
 GORHIl9y3x+JDXkEYyqmLn0k4FbHCX+4p5tpV9YDHebtP8dTLJBDF5Q=
 =d4BP
 -----END PGP SIGNATURE-----

Merge tag 'pm-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm

Pull power management updates from Rafael Wysocki:
 "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 Özkan)

   - 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
     funtion 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)"

* tag 'pm-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm: (86 commits)
  PM: hibernate: Combine return paths in power_down()
  PM: hibernate: Restrict GFP mask in power_down()
  PM: hibernate: Fix pm_hibernation_mode_is_suspend() build breakage
  PM: runtime: Documentation: ABI: Document time units for *_time
  tools/power x86_energy_perf_policy.8: Emphasize preference for SW interfaces
  tools/power x86_energy_perf_policy: Add make snapshot target
  tools/power x86_energy_perf_policy: Prefer driver HWP limits
  tools/power x86_energy_perf_policy: EPB access is only via sysfs
  tools/power x86_energy_perf_policy: Prepare for MSR/sysfs refactoring
  tools/power x86_energy_perf_policy: Enhance HWP enable
  tools/power x86_energy_perf_policy: Enhance HWP enabled check
  tools/power x86_energy_perf_policy: Fix incorrect fopen mode usage
  tools/power turbostat: Fix incorrect sorting of PMT telemetry
  drm/amd: Fix hybrid sleep
  PM: hibernate: Add pm_hibernation_mode_is_suspend()
  PM: hibernate: Fix hybrid-sleep
  tools/cpupower: Fix incorrect size in cpuidle_state_disable()
  tools/power/x86/amd_pstate_tracer: Fix python gnuplot package names
  cpufreq: Replace pointer subtraction with iteration macro
  cpuidle: Fail cpuidle device registration if there is one already
  ...
2025-10-01 16:08:37 -07:00
Linus Torvalds 080ffb4bec 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
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEBqsFVZXh8s/0O5JiY6TcMGxwOjIFAmjdnOAACgkQY6TcMGxw
 OjJQTw//dec41U3YLDmZ5N31HuC5jerJYt4svKLuX05UUAR3lNq02kj7VzVYxw7l
 9g6raFCqkxtYvfbZJ2kp9ulafwftjRRFLvz5MRdZ61c01gS8/0sqMAcTXzPaYvfO
 Vj0YeVXFk+8Z4dFidjkNnktwz/5jH9y0LQec+1e/Fk5gwwtC+TzaP+VUAGPdgMG1
 7LMLlW5caxHymNT/U+z9gaVl8UmT/n/dsEW4BdLvpj9hRW4kxq/QRj9Y4fqyeEcN
 ULhdBKNHU+vC+lY/ylkOf/JtASSmRngX1swpajj6YlUKbvdKrZvw36MAZZ36ahLp
 qMsUi0E0BRLzFXv8kpNwhQ9Zfbu+KXMcxqqzrm/wyslo55E/x58HUxSIIJjocJRL
 WqBpg/3DljP3knyiizhGLXX/Lv3XhtpYW3u9KHKvhaNk6RmrPGmElCum8K0w1Ekl
 rZemVC1eHWxRkKIj0Zjgm5wBaTfD1+71UaHRPnFA2eO8R62JydyjEKn+ECnpG9HE
 cH61PbMsJPJQeO8Ty10hu0qaAy1s8zoMoKssokppyLrXhmrg6XUyeQ4LEmpHKBo4
 hyCc83Af0bT+QO/+I7EVBLyJfA2HwCfEMCgJBG5hyARmGbMFzpkydounIOq9I2+w
 5cxeyZm3SYBL+GWJhkZ78ikabdIjowM1lFpERVOrkyZ62GHJV9E=
 =uCC1
 -----END PGP SIGNATURE-----

Merge tag 'i3c/for-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux

Pull i3c updates from Alexandre Belloni:
 "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"

* tag 'i3c/for-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/i3c/linux: (22 commits)
  i3c: fix big-endian FIFO transfers
  i3c: master: adi: fix number of bytes written to fifo
  i3c: Remove superfluous FIXME
  i3c: master: adi: fix header location
  i3c: dw: Add shutdown support to dw_i3c_master driver
  i3c: renesas: Simplify return statement in 'renesas_i3c_daa'
  dt-bindings: i3c: renesas,i3c: Add RZ/V2H(P) and RZ/V2N support
  i3c: master: svc: Recycle unused IBI slot
  i3c: master: svc: Use manual response for IBI events
  i3c: master: Add driver for Analog Devices I3C Controller IP
  dt-bindings: i3c: Add adi-i3c-master
  i3c: Fix default I2C adapter timeout value
  i3c: mipi-i3c-hci: Convert remaining DBG() prints to dev_dbg()
  i3c: mipi-i3c-hci: Remove function enter DBG() printouts
  i3c: mipi-i3c-hci: Uniform ring number printouts
  i3c: mipi-i3c-hci: Remove nonexistent ring interrupt
  i3c: mipi-i3c-hci: Change interrupt status prints to dev_dbg()
  i3c: mipi-i3c-hci: Use own DMA bounce buffer management for I2C transfers
  i3c: mipi-i3c-hci: Use physical device pointer with DMA API
  i3c: mipi-i3c-hci: Use core helpers for DMA mapping and bounce buffering
  ...
2025-10-01 15:50:27 -07:00
Linus Torvalds cf8da11679 i2c-for-6.18-rc1
Mostly DT bindings additions this time because Andi was super busy and I
 also could only partly cover it.
 
 - new ids for qcom-cci, mt65xx, exynos5, apple, tegra20, k1, i801
 - drop support for already removed S3C2410
 - introduce and use fwnode_for_each_child_node_scoped()
 - mmt65xx: improve write-then-read transactions
 - k1: various fixes around bus errors and resets
 - usual share of cleanups, minor improvements, PM fixes...
 
 at24 updates
 
 - add the compatible for Giantec GT24C256C to the device-tree bindings
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEOZGx6rniZ1Gk92RdFA3kzBSgKbYFAmjbjqQACgkQFA3kzBSg
 Kbb2txAAiFWIRAXs3pQ724LjwXtorURZlIHSvEeU+Uruo12wYyj5LqpoKLI/Nqd5
 dT88Z4gFIyQ/thXuxJbBizu7yQx3i+KLgVBB2y2Yl4QVRJZ0Xo6ooyFwHekcStzs
 9qKEx69HFDTn+yRhWZZEvwrTZ0pIvoTG4AhxGrSq13B47pdQzhghbyOEGCNhPOn5
 2r28U/euBIL2CQBzF2mGOrfM/SuFN4zZPhS5t/lrf5UHC5xnSXbbES+3TVuZWOop
 8PBypVSBtI9ILGMVg/bl0GBQwkUhPDm5eX0eyCOf9ZYbpdtB7bT7j72ZgRVDkMPk
 4Imol4uyw1OHzaTyRC4wUSMQwRu6xk9k2896xzyD5CQmVjWH50CfTX5XlIY1FnmT
 AfhbJfG1O3zOPY3r4AusKnp2RZMcU0jXwEkT0UYR7SQP9/sb+O05pL0RYdXBLG9s
 ulEm+K1NnwERXctIQ/zHtIJekQam9gVwDIYSxPZFCVEAQPvZLoWEeKLV4rPQ+OLK
 f5XE0/ceesmKo3+vVNk9tTCHE/lrYLQ1mpVP//wCKqa9ZRUnQpxbEC4qIdwCEMQ/
 3rOVN1+jNpWuqfshowhLCGE7N7g3lLYuO/Hl4Xt9sgD4ftqPlwZFFvq9cXL1wtnD
 B5yTG1/zjuO3uSXr2dLOwUXOp/OII8q6i9uJ7+ZqIlvnZScH+PQ=
 =LsC5
 -----END PGP SIGNATURE-----

Merge tag 'i2c-for-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux

Pull i2c updates from Wolfram Sang:
 "Mostly DT bindings additions this time because Andi was super busy and
  I also could only partly cover it.

   - new ids for qcom-cci, mt65xx, exynos5, apple, tegra20, k1, i801

   - drop support for already removed S3C2410

   - introduce and use fwnode_for_each_child_node_scoped()

   - mmt65xx: improve write-then-read transactions

   - k1: various fixes around bus errors and resets

   - usual share of cleanups, minor improvements, PM fixes...

  at24 updates:

   - add the compatible for Giantec GT24C256C to the device-tree
     bindings"

* tag 'i2c-for-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux: (33 commits)
  i2c: i801: Add support for Intel Wildcat Lake-U
  dt-bindings: i2c: i2c-mt65xx: Add MediaTek MT8196/6991 compatibles
  i2c: designware: Add disabling clocks when probe fails
  i2c: designware: Fix clock issue when PM is disabled
  i2c: busses: Fix some spelling errors
  i2c: mux: Simplify boolean assignment in i2c_mux_alloc
  i2c: designware: use dev_err_probe() when probing platform device
  i2c: designware: convert to dev_err_probe() on request IRQ error
  i2c: spacemit: ensure SDA is released after bus reset
  i2c: spacemit: check SDA instead of SCL after bus reset
  i2c: spacemit: disable SDA glitch fix to avoid restart delay
  i2c: spacemit: remove stop function to avoid bus error
  i2c: spacemit: ensure bus release check runs when wait_bus_idle() fails
  i2c: mediatek: fix potential incorrect use of I2C_MASTER_WRRD
  i2c: boardinfo: Annotate code used in init phase only
  dt-bindings: i2c: i2c-mt65xx: Document MediaTek MT6878 I2C
  dt-bindings: i2c: samsung,s3c2410-i2c: Drop S3C2410
  i2c: s3c2410: Drop S3C2410 OF support
  dt-bindings: i2c: spacemit,k1-i2c: Minor whitespace cleanup in example
  dt-bindings: i2c: exynos5: add samsung,exynos8890-hsi2c compatible
  ...
2025-10-01 15:11:00 -07:00
Brian Masney 65d2419f93
ARM: versatile: clock: convert from round_rate() to determine_rate()
The round_rate() clk ops is deprecated, so migrate this driver from
round_rate() to determine_rate() using the Coccinelle semantic patch
on the cover letter of this series.

Signed-off-by: Brian Masney <bmasney@redhat.com>
Acked-by: Sudeep Holla <sudeep.holla@arm.com>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20251001061100.372737-1-linus.walleij@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-10-01 23:49:09 +02:00
Jihed Chaibi 1f76c941c2
ARM: configs: u8500: Set NFC_SHDLC as built-in
The CONFIG_NFC_SHDLC=m setting in u8500_defconfig causes a Kconfig
warning because the NFC_SHDLC symbol does not support being built
as a module.

Change the selection from 'm' to 'y' to build the driver in-kernel.

Fixes: 344cad0660 ("ARM: configs: Update U8500 defconfig")
Signed-off-by: Jihed Chaibi <jihed.chaibi.dev@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Link: https://lore.kernel.org/r/20250930122709.28987-1-linus.walleij@linaro.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2025-10-01 23:48:45 +02:00
Linus Torvalds 5fb0249319 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.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEElDRnuGcz/wPCXQWMQRCzN7AZXXMFAmjcI6IACgkQQRCzN7AZ
 XXMFYxAApJr9Rlqh3WlOzvAa2kVrGev0m3S2I0SiQUAIy2TwfMBGBRjDTOQJ+db/
 ZazjsTyL+ObuCRmWJpoqlRThEB9oh5xgqN5OHCSIBQXqnjCzG9jnw+s50dGl5r77
 vX5RtS5OxPgqe2ay9DY9SA8Ix0G5Yxdq9eP2MfeX45zjAfGWGq6bJT+Llkpf5y8L
 a1k1EQmQbogw6DLLmpiSUA2qtFitGdB9rLkk/inYWZHq6g8qva4eoVdE+PhzG1ky
 DrkXaJF3+hC/fBBGk4yrzHfnLL7pqIzyhN3on5Xy9lMfytU8bxGESZck1BxaauHZ
 63w8kEfGOsOztbKQ9VLAzDg9Jd+t7fVMmQw5kXT53TEhB0hfX0SbiK2I8UAF3vkV
 dCe6AWD2Zzz5XlDJpl5vOOYr9lSmuVCZuaIdvgoyLk4BJSLau+24Rme9gqfulT92
 /z2mxCHO6CIzIgH4ILiyM90pIE4OCXp0II7SinZ34alO8ZoMyFHAT2Sqa736WdlQ
 PVfBRBIIJF02os3bcudXpwCD7Xn0ksE5UwVgdDSIk9MKdRI5ZGdbt0y9HUrnfTDk
 5hFH3rbm8Vdk65UHcgIiYTN9C9JlbPscNyQG0z4a1OUr2O4wurr0eFBn+kFpluRn
 ZQBQwjxtEqedsunb5W5Ny79srN6okddpzCIUSQDL20Uw69zy9L0=
 =DZy/
 -----END PGP SIGNATURE-----

Merge tag 'pinctrl-v6.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl

Pull pin control updates from Linus Walleij:
 "We have GPIO awareness in the pin control core and an interesting
  AAEON driver.

  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"

* tag 'pinctrl-v6.18-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (75 commits)
  pinctrl: use more common syntax for compound literals
  pinctrl: Simplify printks with pOF format
  pinctrl: qcom: Add SDM660 LPASS LPI TLMM
  dt-bindings: pinctrl: qcom: Add SDM660 LPI pinctrl
  pinctrl: qcom: lpass-lpi: Add ability to use custom pin offsets
  pinctrl: qcom: Add glymur pinctrl driver
  dt-bindings: pinctrl: qcom: Add Glymur pinctrl
  pinctrl: qcom: sm8250: Add egpio support
  pinctrl: generic: rename PIN_CONFIG_OUTPUT to LEVEL
  pinctrl: keembay: fix double free in keembay_build_functions()
  pinctrl: spacemit: fix typo in PRI_TDI pin name
  pinctrl: eswin: Fix regulator error check and Kconfig dependency
  pinctrl: bcm: Add STB family pin controller driver
  dt-bindings: pinctrl: Add support for Broadcom STB pin controller
  pinctrl: qcom: make the pinmuxing strict
  pinctrl: qcom: mark the `gpio` and `egpio` pins function as non-strict functions
  pinctrl: qcom: add infrastructure for marking pin functions as GPIOs
  pinctrl: allow to mark pin functions as requestable GPIOs
  pinctrl: qcom: use generic pin function helpers
  pinctrl: make struct pinfunction a pointer in struct function_desc
  ...
2025-10-01 13:14:48 -07:00
Linus Torvalds 524c4a5daf Bug fixes and enhancements for IPMI
This request fixes a number of small bugs, but has some more major
 changes:
 
 Loongson-2K BMC support is added.  This is an MFD device and is
 dependent on the changes coming from that tree.  There is a
 conflict in the MAINTAINERS file and the MFD tree changes must be
 there before this is applied.
 
 The way the driver handles BMCs that have become non-functional
 has been completely redone.  A number of changes in the past have
 attempted to handle various issues around this, but nothing has
 been very good.  After working with some people on this, the
 code has been reworked to disable the driver and fail all
 pending operations if the BMC becomes non functional. It will
 retry the BMC once a second to see if it's back up.
 
 -corey
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE/Q1c5nzg9ZpmiCaGYfOMkJGb/4EFAmjaykUACgkQYfOMkJGb
 /4G+9g//RTekqxKa4xH/1Q+WxUmYhISYKVdDIx3bhNw6O6o5NWDwve3bQu7V88a3
 6LAazFRkS4jAN7wEWEV88MoO/EscPNSxWmxwZRjuQ/cCmnrqYn614K4b6IQ3io4C
 0bxvHQ7X7kHedWUQvjKMtG6KYmBYMZtT7Ed5aEB4OlgtpFQLLmHDuQCMRIiGQPlr
 9Gp62xngzp4FXotclZCLSAvHATMI7+eIuuBfGEXcrK0hT9PH+h2sImvesN250z8Z
 s4RWmSSrTGYYmCnz1waZAsVUH0dMGvnrJwWYuz2Nz/zxnWiNOhuVs3BrhalVrz51
 tDBKERnOpkPTtktI/imW7+A9JgEdcGPL210X2mEcjkb9jv8EFonqfybbODbkadKr
 k8SV+7fyoKAIsbpRzXeJ6x59WGR2Ts2NmVoU1iGTP7DKhQ7X4xtE3U1J/7uGf+aI
 GldgOnWMAiHXoIT8wyF2okFJjpct0rme6683Tm9ICapseO++BBAgGooz5pTu4nNz
 VsxGvVdD6r9lZ+U7UAaa/1OlAE7jW/INuEnASQTqFWeILY4UkU+CnMnc4vs/YQqJ
 SLoxT1zNOmKC0eDhZWneNL98N/jdKIlGcD6FoRfAwsSPW4MD+oRyWtqKiACiRJjv
 Ka0RGJNKvg71xWdUclZtR6p4FNr0fbtYaNX1e/wTIp0gya7HXZQ=
 =mDVO
 -----END PGP SIGNATURE-----

Merge tag 'for-linus-6.18-1' of https://github.com/cminyard/linux-ipmi

Pull IPMI updates from Corey Minyard:
 "Bug fixes and enhancements for IPMI

  This fixes a number of small bugs, but has some more major changes:

   - Loongson-2K BMC support is added. This is an MFD device and is
     dependent on the changes coming from that tree.

     The way the driver handles BMCs that have become non-functional has
     been completely redone. A number of changes in the past have
     attempted to handle various issues around this, but nothing has
     been very good. After working with some people on this, the code
     has been reworked to disable the driver and fail all pending
     operations if the BMC becomes non functional. It will retry the BMC
     once a second to see if it's back up"

* tag 'for-linus-6.18-1' of https://github.com/cminyard/linux-ipmi:
  ipmi: Add Loongson-2K BMC support
  ipmi:si: Gracefully handle if the BMC is non-functional
  ipmi: Rename "user_data" to "recv_msg" in an SMI message
  ipmi: Allow an SMI sender to return an error
  ipmi:si: Move flags get start to its own function
  ipmi:si: Merge some if statements
  ipmi: Set a timer for maintenance mode
  ipmi: Add a maintenance mode sysfs file
  ipmi: Disable sysfs access and requests in maintenance mode
  ipmi: Differentiate between reset and firmware update in maintenance
  dt-bindings: ipmi: aspeed,ast2400-kcs-bmc: Add missing "clocks" property
  ipmi: Rework user message limit handling
  Revert "ipmi: fix msg stack when IPMI is disconnected"
  ipmi:msghandler:Change seq_lock to a mutex
2025-10-01 13:10:30 -07:00
Linus Torvalds 3ee22ad492 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
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE72YNB0Y/i3JqeVQT2O7X88g7+poFAmjcV2cACgkQ2O7X88g7
 +pol1RAAkGjNlitEnD+j5HB3i2ROjVg1oOd/iBiIwZ9wEpOemy/bNEpt9M69U4jJ
 IRKPJcnjOf37koWegyIoQ/te1qAdiXZm7oc/SIN63hn0U+nb2HB8TDVP7J9nzG3b
 qTTViSOciJfpmwn7P/jFehY3oL29eMELamMn5AnVx5jCH0Baiw4qQSRCG81s40hK
 6+WdLXhcQBeTzwj69FvTgdQ1McIiAgciGEN+3t5vB/3D4gstMV22DyrKuJOX9NNk
 4wdSb5t3O+JuQ819T02O4ovyp1JHC0CPm/Si2n+TRBWmXEWJu/so18SQvT1u9SYb
 /9p83bZJLRF7icWRGXHvM/eqV/K+G5MMHLKY+5tEG4gFLnKZl3WaTG1gAuoTNqx0
 unR95ipWbQjy7z90QGlxF1+Ui3ScdwHic2fZ3DW0Bl2aIXARCJ0jOU0ShZAPS7Ff
 NvVDoj/2/IQSzl0UJDb2uyW5S3Vl94f8z1w3xDmV3atA9ccioyTibTjiULPw42C4
 GVtRHJFjQW2FVQ+rIvnjc3BHn2i6Tqj0qVHQQUH8xL17TXg2cK6KkTIB3LuyFKai
 ol74I6VUsEKLZbKM0s+7Dyukwf+YlgpQpG7M+B1v7MQbPMHdiG3WUAF8JHud2/Dz
 6Tiq/IGzwbse0DzVSiC3KT3CX/DohkFKLYdRkTBmd38aVV/i6b4=
 =UcWZ
 -----END PGP SIGNATURE-----

Merge tag 'for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply

Pull power supply and reset updates from Sebastian Reichel:
 "Power-supply core:
   - introduce adc-battery-helper for capacity estimation based on
     simple ADC readings of battery voltage and current
   - add new properties for battery internal resistance and 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
       - add support for state of health and internal resistance
   - max77705_charger:
       - big driver cleanup
       - add support for setting charge current
   - misc minor fixes and cleanups"

* tag 'for-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply: (38 commits)
  power: supply: qcom_battmgr: handle charging state change notifications
  power: supply: max77705_charger: use REGMAP_IRQ_REG_LINE macro
  power: supply: max77705_charger: rework interrupts
  power: supply: max77705_charger: add writable properties
  power: supply: max77705_charger: return error when config fails
  power: supply: max77705_charger: use regfields for config registers
  power: supply: max77705_charger: refactoring: rename charger to chg
  mfd: max77705: max77705_charger: move active discharge setting to mfd parent
  power: supply: max77976_charger: fix constant current reporting
  power: supply: qcom_battmgr: Add charge control support
  dt-bindings: soc: qcom,pmic-glink: Add charge limit nvmem properties
  power: supply: qcom_battmgr: update compats for SM8550 and X1E80100
  power: supply: qcom_battmgr: Add state_of_health property
  power: supply: qcom_battmgr: Add resistance power supply property
  power: supply: core: Add state_of_health power supply property
  power: supply: core: Add resistance power supply property
  power: supply: rx51: remove redundant condition checks
  dt-bindings: power: supply: bq24190: document charge enable pin
  dt-bindings: power: supply: bq27xxx: document optional interrupt
  power: supply: intel_dc_ti_battery: Drop no longer relevant comment
  ...
2025-10-01 13:02:59 -07:00
Linus Torvalds dba8acc3ef HSI changes for the 6.18 series
* Remove redundant pm_runtime_mark_last_busy() calls
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEE72YNB0Y/i3JqeVQT2O7X88g7+poFAmjcS64ACgkQ2O7X88g7
 +ppamA//e+7dlQrKfeACk39Ys/uFGRB7q01TcIIShLpK6+IKOIK8jqW+Imk1vsoN
 ZZMmpLCmgkFnDyL8gTIsvu1a/vCH3iSUKR29Sn33OqpdLqEzbSM8X2oGhPWlcJxi
 WBWf9TY5zG0K78SDmZpC+BvzG3SFMPYGeC2vPBmeeO7zE56zuJcWQJv5CnRN1qMr
 Eg4SDWWgcP37X6SUlgh5ufev4OzUfdPKvE1GC4b9GLUXwkm6ne/+ppIlThu7P37Y
 EuweNdEZazwaObiFgbisqI2DZRvFHNIbeTc/GS0l+kZXmndVV1eROrDzg38sbbSq
 Js6EAbBDkiZwXH+M84Y4KG3mkrN65kUUD39FQ6oMUd5X+syFtSqpfKuc89JRuftV
 IlYm4YUMwkomY92d2nad3CpsOmJWvC7jRDjwRiUvJ78tWiu//iZCcS/7Admo+of0
 k1HN/NQI6tsCF+o5Kyp4s4sN3wjKNfQ6+ynFTC7j75ZsmGBiKnaINPWMFE5o5auL
 uxgc9uh4jRP2fZHv9MTYfXTJHbJQyOR2Dgktl0diODpEAxpA3wn0ogEfpICrnc4a
 /aAyX++7hj2py4Dn6ThygEp1UZDlatK7aS08wFsxBvdfA2GHRfmGrsaOkBhblgSW
 t9u++c33Emfrr0ZGEGLChtBzPi87zNUPrwDXx1BIaBZ+uEGQVbY=
 =Xphr
 -----END PGP SIGNATURE-----

Merge tag 'hsi-for-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi

Pull HSI update from Sebastian Reichel:

 - Remove redundant pm_runtime_mark_last_busy() calls

* tag 'hsi-for-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-hsi:
  HSI: omap_ssi_port: Remove redundant pm_runtime_mark_last_busy() calls
2025-10-01 13:00:33 -07:00
Linus Torvalds f07c3695bf 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
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQQE66IEYNDXNBPeGKSsLtaWM8LwEwUCaNqKwQAKCRCsLtaWM8Lw
 E8J0APwNtyOFP/r/ojGG8QezyDtxd67LPoU5ocLxEMsAUltE9QD+LMhtMkGXzz2r
 Xfg54jwiEi52Y4eQ9r9UZhN78kmW8gw=
 =tKD2
 -----END PGP SIGNATURE-----

Merge tag 'firewire-updates-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394

Pull firewire updates from Takashi Sakamoto:
 "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"

* tag 'firewire-updates-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394: (43 commits)
  firewire: core: fix undefined reference error in ARM EABI
  Revert "firewire: core: disable bus management work temporarily during updating topology"
  Revert "firewire: core: shrink critical section of fw_card spinlock in bm_work"
  firewire: core: suppress overflow warning when computing jiffies from isochronous cycle
  firewire: core: minor code refactoring to delete useless local variable
  firewire: core; eliminate pick_me goto label
  firewire: core: code refactoring to split contention procedure for bus manager
  firewire: core: code refactoring for the case of generation mismatch
  firewire: core: use switch statement to evaluate transaction result to CSR_BUS_MANAGER_ID
  firewire: core: remove useless generation check
  firewire: core: use struct_size and flex_array_size in ioctl_add_descriptor
  firewire: core: shrink critical section of fw_card spinlock in bm_work
  firewire: core: disable bus management work temporarily during updating topology
  firewire: core: schedule bm_work item outside of spin lock
  firewire: core: annotate fw_destroy_nodes with must-hold-lock
  firewire: core: use spin lock specific to timer for split transaction
  firewire: core: use spin lock specific to transaction
  firewire: core: use spin lock specific to topology map
  firewire: core: maintain phy packet receivers locally in cdev layer
  firewire: core: use scoped_guard() to manage critical section to update topology
  ...
2025-10-01 12:52:43 -07:00
Linus Torvalds d3479214c0 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.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAmjdMyMACgkQUa+KL4f8
 d2EDFw/+PxZ6X6FRcAxLPSKjbzes7amyFIidWIyJ1OVDEoY39sFlWkHtnApTKvEf
 TyMkxyuGjxAGHsNG27JnJhcHuuaaS8bT0rm+dxoIgpLOXR1ySLlxDoKVIxggXjye
 1UMwrWo9tk5NHXSRMGWgREXqM6FqOAmK0jplLPBGagnExfhecQkm+mX7S96DwG/h
 FHirlcXMUrAZfXRdZeo8WOcLREtz/xTh6nPaihTjWxDk1RjXKykWD8AYw/ID24+R
 6Vzng6MQ5MWC+fU6OfAGOuZQ+yECS2J3mfO5k1rv1OxUr1Wqm/CnvGxayiP654VI
 NXVxkFSjL8R6pjONtFdPR8oegttiKj3x4mQNmQ1RQxd3lL44JElPUdEAc+Xfqjdf
 YdUo1D1LtRHNAuiLJGvWKiIh6RT9whFY3ZxGY3Q8qTk6/slsU2/m+wuSVaMCI4uI
 v9sfh8xCoA4GbAoF0SEYpqyzfZqFSsmNxLHHkmf41cgWutwgcGwjP5VFOobRxY5U
 Um6V6NUSgr7Y8ju4tmTK717bBMvGCS+70KUbC/tvzr85b89Y8HNEoUhgZC/M7AU+
 /bUytzsFUOAxog0UB08xo8DEIYIaB04o7KQRE0gUUb9K3kpr9MQpWectR2921wIN
 FC8tndjHjLkTfWW9DcsSbwkZW+K65uanqQE9OGaVG8QcZut2rG8=
 =ztY1
 -----END PGP SIGNATURE-----

Merge tag 'backlight-next-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight

Pull backlight updates from Lee Jones:
 "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"

* tag 'backlight-next-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/backlight:
  backlight: rt4831: Include <linux/mod_devicetable.h>
  backlight: rave-sp: Include <linux/of.h> and <linux/mod_devicetable.h>
  backlight: led_bl: Include <linux/of.h>
  backlight: ktd2801: Include <linux/mod_devicetable.h>
  backlight: jornada720: Include <linux/io.h>
  backlight: da9052_bl: Include <linux/mod_devicetable.h>
  backlight: as3711_bl: Include <linux/of.h>
  backlight: apple_dwi_bl: Include <linux/mod_devicetable.h>
  backlight: Include <linux/of.h>
  video: backlight: lp855x_bl: Set correct EPROM start for LP8556
  backlight: led_bl: Use devm_kcalloc() for array space allocation
  backlight: mp3309c: Initialize backlight properties without memset
  backlight: mp3309c: Drop pwm_apply_args()
2025-10-01 12:46:26 -07:00
Linus Torvalds b386ef6286 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.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAmjdMwsACgkQUa+KL4f8
 d2HF0w//WClcR5G6MS8jzcPNi0//uXbl8VaUOyQRnaK86QyZ9oqmi4LiC3VwDzwu
 mg51w5srYUaBxtKLYnNeufh8fCXDdwXgnM5K8e9vnyZiFu570CMPrPlfLdOcFmtc
 dPa5m6F+Rjuy2AK+7mrexkoQLIPpfWjWm2nHyBK1eXC+3ca8e7i+F7kMDYyyncST
 tpOtYEhLGrUFkcl+HbI/bkxsJAD2hBDv6OjIfJkrlDHtKdtQ/bPUe5W7zr0rYI0q
 P4vb5UiR7xjkJnUa5Pk70nTXmWaJSPwD5dK6bjTs4eBbVAzDe6JgPhPRKPDJoFBo
 ehwl0eoHYnhMnCWpu+jQdPItFrFO9ySDjtW+wAkE0CMoVxczhjsekFEDJG8JKLaY
 2Nq9F7uHrhhaj3jQLP11TpLqlFrohuoUpS4IvtLPMs+KnWGNNfVaE19pq1Ix10oh
 l7W1wOcdt7gVaKzm5ieaC9V+OqgPIG/qrfOduKerebpMxtzDyIRp6SwWk/T+wYa4
 lKFM2WTlcpfsLBxNVlrBx8TVlYm9Oy6GCJXqGSmDwm3P0z8HlLCXWy/osVVg6Q0v
 LUQ4/9zf4AnCZRi+RdXGVwXY+XUYA0F4oIFc2Ig0KDas3JAH5E7ts6gz/7dKPdM5
 e4A9bP8/AmndoerK6H3joycqoSeh5wvE9Q0Ue3/HbUDCe4G8kxc=
 =zBjw
 -----END PGP SIGNATURE-----

Merge tag 'leds-next-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds

Pull LED updates from Lee Jones:
 "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"

* tag 'leds-next-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/leds:
  dt-bindings: leds: as3645: Convert to DT schema
  leds: led-class: Add Device Tree support to led_get()
  dt-bindings: leds: Unify 'leds' property
  dt-bindings: leds: Add generic LED consumer documentation
  leds: is31fl319x: Use devm_mutex_init()
  leds: leds-lp55xx: Use correct address for memory programming
  dt-bindings: leds: issi,is31fl319x: Drop 'db' suffix duplicating dtschema
  leds: qnap-mcu: Add support for the red and green status LEDs
  leds: qnap-mcu: Fix state numbering for USB LED
  leds: flash: leds-qcom-flash: Add a separate register map for PMI8998
  leds: flash: leds-qcom-flash: Update torch current clamp setting
  leds: max77705: Function return instead of variable assignment
  leds: Kconfig: Fix spelling mistake "limitiation" -> "limitation"
  leds: leds-is31fl32xx: Add support for is31fl3236a
2025-10-01 12:42:13 -07:00
Linus Torvalds b4918003cf 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.
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEdrbJNaO+IJqU8IdIUa+KL4f8d2EFAmjdMogACgkQUa+KL4f8
 d2FYEA/+J3U3bzH0JdjGVscQD1vLq+PjT0MsYoNLHSNG55H0Q9FhEv2SVmnRG8LR
 DPvYXqpLHcHTGpPdCK7RX6FhSmXMFqXiWFbn9/lQE/+MX41U0B9E7rbRVCH8m+Vw
 TAOvR86DEcTZFq3BEPDfjc4Q0ZPHKpyo/HOW739frmwC/a66K6G70vKmO+LJlqMk
 asBAZUfRs14iaZte8LDKfcYcvC4NrJqtLD9lxPiuGxapMCGvJ+uReo+44A0F+wb8
 UNq+cwdFK2rqPAur5ehe8C6s9IsANF4+OmAbbmqxfkbroiSYR7I2SeUhgxU/b8Om
 9v+NqfC7Xsb8lcTJ/c0qCW8NfBtOlqer1lEHGTU91fTCAhACb4j7OuJtnTusp9Nk
 W9Z9QcfOv/Mt7I/SUw9n8SQdHgPt9tQa6iqcGrYGp3enm8BISeb2jTTgrkDcCkKb
 UTH8xVmxFgda08RCmPDPvrK0ebQ6gQzdq4g5vN3or1tFIKQHplorbvaAQtCBK02h
 8ef33KrQ4HLV/NjijYrnFhrhj0WYBwmRb8vr43t4wvUdvlOSuK+VswKGIMhQabT3
 uU+YjtCt19siOIx47XZVpj1gKTr24OoK2B+U8zy5oHj7abrRNkseZ8NMeu0vGzCn
 p+ThEq+dxGD0mskaufdbJhejjumgCFaYNElWNHJQUGhMxHM5vQE=
 =h21C
 -----END PGP SIGNATURE-----

Merge tag 'mfd-next-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd

Pull MFD updates from Lee Jones:
 "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"

* tag 'mfd-next-6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/lee/mfd: (69 commits)
  mfd: simple-mfd-i2c: Add compatible string for LX2160ARDB
  mfd: simple-mfd-i2c: Keep compatible strings in alphabetical order
  dt-bindings: mfd: twl: Add missing sub-nodes for TWL4030 & TWL603x
  dt-bindings: watchdog: Add SMARC-sAM67 support
  dt-bindings: mfd: tps6594: Allow gpio-line-names
  mfd: intel-lpss: Add Intel Wildcat Lake LPSS PCI IDs
  mfd: 88pm886: Add GPADC cell
  mfd: vexpress-sysreg: Use more common syntax for compound literals
  mfd: rz-mtu3: Fix MTU5 NFCR register offset
  mfd: max77705: Setup the core driver as an interrupt controller
  mfd: cs42l43: Remove IRQ masking in suspend
  mfd: cs42l43: Move IRQ enable/disable to encompass force suspend
  mfd: ls2kbmc: Add Loongson-2K BMC reset function support
  mfd: ls2kbmc: Introduce Loongson-2K BMC core driver
  mfd: bd71828, bd71815: Prepare for power-supply support
  dt-bindings: mfd: aspeed: Add AST2700 SCU compatibles
  dt-bindings: mfd: Convert aspeed,ast2400-p2a-ctrl to DT schema
  dt-bindings: mfd: fsl,mc13xxx: Add buttons node
  dt-bindings: mfd: fsl,mc13xxx: Convert txt to DT schema
  mfd: macsmc: Add "apple,t8103-smc" compatible
  ...
2025-10-01 12:04:12 -07:00
Linus Torvalds 2d27453624 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
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCgA1FiEEugLDXPmKSktSkQsV/iaEJXNYjCkFAmjafZQXHHVsZi5oYW5z
 c29uQGxpbmFyby5vcmcACgkQ/iaEJXNYjCmSng//QMGmS6uWiPeVG237VwtZ0qir
 XB7N4H0ig0wa/Qxqc9soXrBDmlKKVFaf/VvZOsqKHy3QjDGV+i6a2WVj+rao4vzi
 /M3jmJK+vKGjNah/jbZEu7hUMY22buiPiRbUUv3UUmpBTxqXdsyTX+hmHJdiRQ7B
 jC5GGPMbv1wMUj3ivkuwwlabRYFMy1QwFfDZxQzhEI4Codfs1P0nr2PFvCJ/r8nq
 TsPYkDWevxItnyxSkaDK7bK4yGFOKnnhf7aj1d4NMS6AX2FH3QPDP09rmdHwrdZb
 prgbccQusxoK2zJFwOqoTucYeNmhXgyAvuoj9kGtBkzbyTjorh2fdXwzGAnAkYqZ
 ygoIvq/lPQj6ppXd5BTfldAt69/Yyj6tyWuVMJ2EdoL0yfO2xPv0lnUdrN73ATZB
 jaRJdvF9EiGSfG2DzzK0W1CTpKvHg4pRA6InGgok1xIVM68iOwQcBDcU9D3tDkZo
 4HpuEGVJnso0q9xh0dO36HmryKsQge5jfq3mTe3Y+kHTteWYMh7VO4FhZL+AV2fp
 LDL1aLn21Q71TH+aqYA6DVn3wrXWkhg9U2Uz//SU4lv18o3Fc47GJBtbvb0nEqXX
 1BUJ5QcAeNMHo2Xm7yc5YwBpghCTCZDJOogzyXaQW0nbMvn+11X4gCREYgNBP7cv
 mrygbFCHLJDKscE0ZkY=
 =D2yD
 -----END PGP SIGNATURE-----

Merge tag 'mmc-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc

Pull MMC updates from 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
       - 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"

* tag 'mmc-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc: (77 commits)
  dt-bindings: mmc: samsung,exynos-dw-mshc: add specific compatible for exynos8890
  mmc: select REGMAP_MMIO with MMC_LOONGSON2
  mmc: add COMPILE_TEST to multiple drivers
  mmc: core: Improve RPMB frame handling code
  mmc: core: Fix variable shadowing in mmc_route_rpmb_frames()
  mmc: core: Parse and use the new max-sd-hs-hz DT property
  dt-bindings: mmc: controller: Add max-sd-hs-hz property
  mmc: sdhci-msm: Enable tuning for SDR50 mode for SD card
  dt-bindings: mmc: sdhci-msm: Document the Lemans compatible
  mmc: sh_mmcif: Remove dummy PM resume callback
  dt-bindings: mmc: sdhci-pxa: Add minItems to pinctrl-names
  mmc: sdio: Drop dev_pm_domain_detach() call
  mmc: dw_mmc-rockchip: use modern PM macros
  mmc: dw_mmc-pci: use modern PM macros
  mmc: dw_mmc-k3: use modern PM macros
  mmc: dw_mmc: exynos: use modern PM macros
  mmc: via-sdmmc: use modern PM macros
  mmc: sdhci-msm: use modern PM macros
  mmc: mtk-sd: use modern PM macros
  mmc: wmt-sdmmc: use modern PM macros
  ...
2025-10-01 11:54:40 -07:00
Linus Torvalds e93bcbaa71 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
 -----BEGIN PGP SIGNATURE-----
 
 iQJLBAABCgA1FiEEugLDXPmKSktSkQsV/iaEJXNYjCkFAmjacIIXHHVsZi5oYW5z
 c29uQGxpbmFyby5vcmcACgkQ/iaEJXNYjCk8NA/9ECu+/I22bthMdCbDhmXkmryI
 KbFqrvgxsHNBvqMnwbTkufj/ayDEgHvg2uoXrDU5YkP6UaO47m94UAoyyhn0p8QU
 tfeUE4QH1xKYTQgnZC4og5VdKGWYx/OFNTtki2AWf8Yc37crzfMC3wTsvTvtSxd8
 iA9l0FkKy4MS530kPyO5h6u7h8vWzKFYSVbzRzA1tZZ8g0nmpBRpr26DL51+vKoa
 NYHU3EZ/FTtzu9U6A0ZWmMJoc9PboCHl3WPaCrPwXtVV4K8+QqHeqh0JEBV3p9Au
 LrS+DFcIeWlKYQy4MxAUl9UU4KwHubyhwtY0nS2sp/+GiOUSkZxxu6m4PE/zZDEo
 YGibtBrZ2Qkh/5zcjN8LI2NVV7MfnEZtlTBfak72mVR/0xTcz17hNda7QC2Iki0r
 qVjNjeuwu5mZ6nAAufHz3dReULwjfKqhQbhGx1gyuBRRkxPpt/0/JmKr4g/rz3c5
 51O/o5j2k7UcTic1SBDYWADtROnIcAAaEGkfk5koRK0GHHKtuZYDcEoM5+Ls1frF
 ga+5H5DqanFfS/XUXOZ9eQNG5rScUFstwH6Hh26awjPXta7wSz6AVKJAj+X9/RKG
 4KoEL5u4q6O8kAU0Y6QxvF8h7aC0qw6rsc6rZCg2Fi1uaSDB8eqMtwR7PVU8DHYw
 AbCd7TVjrecKpJGmGK0=
 =/gH0
 -----END PGP SIGNATURE-----

Merge tag 'pmdomain-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm

Pull pmdomain updates from Ulf Hansson:

 - 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
    - 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

* tag 'pmdomain-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/linux-pm: (25 commits)
  pmdomain: thead: Fix error pointer vs NULL bug in th1520_pd_reboot_init()
  pmdomain: thead: create auxiliary device for rebooting
  driver: reset: th1520-aon: add driver for poweroff/reboot via AON FW
  pmdomain: mediatek: airoha: convert from round_rate() to determine_rate()
  pmdomain: rockchip: enable ROCKCHIP_PM_DOMAINS with ARCH_ROCKCHIP
  pmdomain: marvell: Add PXA1908 power domains
  dt-bindings: clock: marvell,pxa1908: Add syscon compatible to apmu
  pmdomain: ti-sci: Set PD on/off state according to the HW state
  pmdomain: amlogic: Add support for S6 S7 S7D power domains controller
  dt-bindings: power: add Amlogic S6 S7 S7D power domains
  pmdomain: mediatek: Convert all SoCs to new style regmap retrieval
  pmdomain: mediatek: Add support for RTFF Hardware in MT8196/MT6991
  pmdomain: mediatek: Add support for modem power sequences
  pmdomain: mediatek: Move ctl sequences out of power_on/off functions
  pmdomain: mediatek: Handle SoCs with inverted SRAM power-down bits
  pmdomain: mediatek: Refactor bus protection regmaps retrieval
  dt-bindings: power: mediatek: Document access-controllers property
  pmdomain: remove unneeded 'fast_io' parameter in regmap_config
  pmdomain: imx93-blk-ctrl: mask DSI and PXP PD domain register on i.MX91
  pmdomain: imx93-blk-ctrl: use ARRAY_SIZE() instead of hardcode number
  ...
2025-10-01 11:51:53 -07:00
Linus Torvalds ea1c6c5925 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.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmjacIwACgkQJNaLcl1U
 h9CueQf/abv7rjoK4EbGeQBp3V3lQWAmB6en8SatMGf3ff8mKwsZLsePWYqpd8ir
 e4Dk5mj+R6HYEDKdXg5SW6+5BpMyiiBkfJpUq7OMQg+86wOsBGHPuZw/65+sGc+R
 hyy6AGf0YahmPiqeQVqJubYeqwWbFFCaOBWR3Q45aWhGQhRGG04vRESks1F247cl
 EAuPhhBpS30o5NzhBanqW6s5scQ4dYFIIl/KTHZQyaRgG2lT4CvRObmhco+Yyl/O
 4Mge0h/MMBx+UliuwQaPCp72h7DfA4iTeKdsnUYcfQW/OB3DZDye9HKN29k3CZyf
 6brBp14ZZ+fvseg8GW/pAsT3YQIHwg==
 =XwEA
 -----END PGP SIGNATURE-----

Merge tag 'spi-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi

Pull spi updates from Mark Brown:
 "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"

* tag 'spi-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/spi: (74 commits)
  spi: ljca: Remove Wentong's e-mail address
  spi: rename SPI_CS_CNT_MAX => SPI_DEVICE_CS_CNT_MAX
  spi: reduce device chip select limit again
  spi: don't check spi_controller::num_chipselect when parsing a dt device
  spi: drop check for validity of device chip selects
  spi: move unused device CS initialization to __spi_add_device()
  spi: keep track of number of chipselects in spi_device
  spi: fix return code when spi device has too many chipselects
  SPI: Add virtio SPI driver
  virtio-spi: Add virtio-spi.h
  virtio: Add ID for virtio SPI
  spi: rpc-if: Add resume support for RZ/G3E
  spi: rpc-if: Drop deprecated SIMPLE_DEV_PM_OPS
  spi: spi-qpic-snand: simplify clock handling by using devm_clk_get_enabled()
  spi: spi-nxp-fspi: Add OCT-DTR mode support
  spi: spi-nxp-fspi: add the support for sample data from DQS pad
  spi: spi-nxp-fspi: Add the DDR LUT command support
  spi: spi-nxp-fspi: set back to dll override mode when clock rate < 100MHz
  spi: spi-nxp-fspi: extract function nxp_fspi_dll_override()
  spi: atmel-quadspi: Add support for sama7d65 QSPI
  ...
2025-10-01 11:46:31 -07:00
Linus Torvalds ad6657804c 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.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmjaaAQACgkQJNaLcl1U
 h9BrVQf9FfsEXB3H3+L9m0ZGfbjOuxAtz/tdQKyroHK5R0AVz9ggpzWyKjrl38p6
 fXQgWCcUdak/OjBlh/a2oiCmmJIO3KosPY34rinFErWg1vTBkjsMcT+7K9IdYTlq
 H9+gMQKBD/zViX1X+qm1rZ9BLNGYuSotvbSETYleAFv46jPYGDOlLsCo2LPHX9lh
 NLmBYZDqgtul0gl4S2n82rT2LAw9Omdy0ooNOvDQDrEQo/ovFpQ1XTScrlKLQomv
 eZ0U2zhtbGTa6s86SMG37TKAsUtPmmGpUvxApilzwLkXaO04/7Fp0944wTAlynCE
 LHSdp7rhmOBvRVczejqV83+4kAzM5Q==
 =XSA0
 -----END PGP SIGNATURE-----

Merge tag 'regulator-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator

Pull regulator updates from Mark Brown:
 "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"

* tag 'regulator-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regulator: (28 commits)
  regulator: dt-bindings: qcom,sdm845-refgen-regulator: document more platforms
  regulator: Fix MAX77838 selection
  regulator: spacemit: support SpacemiT P1 regulators
  regulator: max77838: add max77838 regulator driver
  dt-bindings: regulator: document max77838 pmic
  rust: regulator: add devm_enable and devm_enable_optional
  rust: regulator: remove Regulator<Dynamic>
  regulator: dt-bindings: rpi-panel: Split 7" Raspberry Pi 720x1280 v2 binding
  regulator: pf530x: Add a driver for the NXP PF5300 Regulator
  regulator: dt-bindings: nxp,pf530x: Add NXP PF5300/PF5301/PF5302 PMICs
  regulator: scmi: Use int type to store negative error codes
  regulator: core: Remove redundant ternary operators
  rust: regulator: use `to_result` for error handling
  regulator: consumer.rst: document bulk operations
  regulator: rt5133: Fix IS_ERR() vs NULL bug in rt5133_validate_vendor_info()
  regulator: bd718x7: Use kcalloc() instead of kzalloc()
  regulator: rt5133: Fix spelling mistake "regualtor" -> "regulator"
  regulator: remove unneeded 'fast_io' parameter in regmap_config
  regulator: rt5133: Add RT5133 PMIC regulator Support
  regulator: dt-bindings: Add Richtek RT5133 Support
  ...
2025-10-01 11:43:54 -07:00
Linus Torvalds c252b8cf12 regmap: Updates for v6.18
This just contains a few small fixes, there's been no substantial
 development on regmap this release cycle.
 -----BEGIN PGP SIGNATURE-----
 
 iQEyBAABCgAdFiEEreZoqmdXGLWf4p/qJNaLcl1Uh9AFAmjaZL0ACgkQJNaLcl1U
 h9AOrwf4r9lTbzbpwoKKZs/BUK8QvAZDgIZTjtCsEA5OScLMNeaxw/rKlsynekj4
 TwrbCQdZ0GTRH5lLSM/pThGpc7XRopRTuGAndLPczjAdnkwuUPFJiwbtCfXwO5SC
 8BTgRSIjQjko4yKbQoq5IY6kVtjGsM6bCHmHx8PZv4FJm5WK+fOsh4ggMJCJ2uVa
 WAcgYqur8CU790DDeIZjX0E6ZqgnEm7dSGicKtul75EcsNC8CqXxRb7spAfk9SLF
 FkunL5IRzjje4luVmyIHWNHoYnAmq9pMCzvTyTE3/3M7xsjkcbAN+js1z85XP+Fc
 I8Ogk6QtVNeVsy0k9hhosAEahZiL
 =XrkM
 -----END PGP SIGNATURE-----

Merge tag 'regmap-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap

Pull regmap updates from Mark Brown:
 "This just contains a few small fixes, there's been no substantial
  development on regmap this release cycle"

* tag 'regmap-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/regmap:
  regmap: use int type to store negative error codes
  regmap: Remove superfluous check for !config in __regmap_init()
  regmap: mmio: Add missing MODULE_DESCRIPTION()
2025-10-01 11:41:51 -07:00
Linus Torvalds d5f7411411 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
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEEFp3rbAvDxGAT0sefEacuoBRx13IFAmjaTpAACgkQEacuoBRx
 13Iqwg//bcAxAcYGsEzMqcid9ugu+1KFiULWhgIYi4PBeX72UR7ZtSbzQ+hwTY68
 Vs1W7eoeaglHwd46K/oXEBsnOvot/gQBjuw4QmYbO6viDWY9OuU81xppgAyw4IEx
 wBmPiRVHHRNhcAA9/lu5OkFSWeeBNqcUkWlGgyUzsIIpQnadBRYXga+qFW9mq4m5
 FMSCagsNP0tnRG4ae1Ek8SAbi3BiKaC/bpxukLVvv6Ma6CUktN2d49gW24h9NbKi
 clflMVWgWgZBgYVk7Nmz5IQwYtvQz2M3y4Mb4VsuSWXWKRjX+gJb0knmq1fa8SEn
 lx1MyhSgkpdtUx/bzLjZrPvesbiS1JnyLRAQVa+vtOU8ct2GSWjbKK9vY9w6guVT
 KlptBNxxyQQi3WVtC+lvYz303gAlm5R2veehTMkmR6PIAE+zQ3EBNstiEEQsoMb2
 npAqr/maodIo+FvUpFghSTfG2dSNRnXpRXmGzn49Y3LSjZu/7gC0B5mZYuGghK/g
 UIvo3m40G/ajTUSyWOWPViUnJPkNMiQTHiH8MrXFUO/sbCavZCC2xp37D0ezWfIx
 KRq3KPLHEL39dDvLFkpTQccOfSXch/bVFNX0X6EtfyAx4rSCphbX25IaWeuhJ9Ox
 N3bALHVs0hMvY5nq0sUDTgf8oQMbpqKdAhKnSae3SBWLhon/EaA=
 =TZ1G
 -----END PGP SIGNATURE-----

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

Pull gpio updates from Bartosz Golaszewski:
 "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.

  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"

* tag 'gpio-updates-for-v6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: (122 commits)
  gpio: mpfs: fix setting gpio direction to output
  gpio: generic: move GPIO_GENERIC_ flags to the correct header
  gpio: generic: rename BGPIOF_ flags to GPIO_GENERIC_
  gpio: nomadik: fix the debugfs helper stub
  MAINTAINERS: Add entry on MAX7360 driver
  input: misc: Add support for MAX7360 rotary
  input: keyboard: Add support for MAX7360 keypad
  gpio: max7360: Add MAX7360 gpio support
  gpio: regmap: Allow to provide init_valid_mask callback
  gpio: regmap: Allow to allocate regmap-irq device
  pwm: max7360: Add MAX7360 PWM support
  pinctrl: Add MAX7360 pinctrl driver
  mfd: Add max7360 support
  dt-bindings: mfd: gpio: Add MAX7360
  rtc: Add Nuvoton NCT6694 RTC support
  hwmon: Add Nuvoton NCT6694 HWMON support
  watchdog: Add Nuvoton NCT6694 WDT support
  can: Add Nuvoton NCT6694 CANFD support
  i2c: Add Nuvoton NCT6694 I2C support
  gpio: Add Nuvoton NCT6694 GPIO support
  ...
2025-10-01 11:34:12 -07:00
Linus Torvalds c050daf69f 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.
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCgAdFiEEP4GsaTp6HlmJrf7Tj4D7WH0S/k4FAmjaFu0ACgkQj4D7WH0S
 /k5Kdwf/escCaVLlbhgZlxFJgyJAo7KStgS7brer8nYXoBt21yyTqG0dDjObKDWz
 yqqyfSM1tQ/eIRk5Q+I0LImeEnwA5yD/JKvFPwm6QMORt+loDvRcellCBhUVkBEe
 MDmYrApVfShGe72IeBSLekvdtmd54UDFKfNzI7jrV5r5W/yQYnFTBY9W+MTYntj7
 9QPtHLH8Kw0Yak1p90ZeYCNsVD6l1dTdo0abZZuYSjj4xmG2gpNZj7z5CbRePW8X
 5JDT2XsgSMmMXlQOFgoGDEwc8qgAnlwmzWcEce1TsDZUQbFtGpzKckfF4EGo/OI4
 M8pOZBA5TgmRtvTFdwUDZrB9n1+hZw==
 =ExLO
 -----END PGP SIGNATURE-----

Merge tag 'pwm/for-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux

Pull pwm updates from Uwe Kleine-König:
 "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"

* tag 'pwm/for-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/ukleinek/linux: (30 commits)
  pwm: cros-ec: Avoid -Wflex-array-member-not-at-end warnings
  dt-bindings: pwm: samsung: add exynos8890 compatible
  dt-bindings: pwm: apple,s5l-fpwm: Add t6020-fpwm compatible
  dt-bindings: pwm: nxp,lpc1850-sct-pwm: Minor whitespace cleanup in example
  pwm: pca9586: Convert to waveform API
  pwm: pca9685: Drop GPIO support
  pwm: pca9685: Make use of register caching in regmap
  pwm: pca9685: Use bulk write to atomicially update registers
  pwm: pca9685: Don't disable hardware in .free()
  pwm: Add the S32G support in the Freescale FTM driver
  dt-bindings: pwm: fsl,vf610-ftm-pwm: Add compatible for s32g2 and s32g3
  pwm: mediatek: Lock and cache clock rate
  pwm: mediatek: Fix various issues in the .apply() callback
  pwm: mediatek: Implement .get_state() callback
  pwm: mediatek: Initialize clks when the hardware is enabled at probe time
  pwm: mediatek: Rework parameters for clk helper function
  pwm: mediatek: Introduce and use a few more register defines
  pwm: mediatek: Simplify representation of channel offsets
  pwm: tiecap: Document behaviour of hardware disable
  pwm: Provide a gpio device for waveform drivers
  ...
2025-10-01 10:33:17 -07:00
Linus Torvalds 989253cc46 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
 -----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCAAdFiEEiHPvMQj9QTOCiqgVyx8mb86fmYEFAmjZ2VAACgkQyx8mb86f
 mYHegQ//YImjHnlWcRbr8meprHHezIkGDA0nJEzjsCSD7owq00sOC4w4BGXf7MPV
 d1rK0VbAU2Up53j4xZKr7PnHzUHFil/K/9hDBHFfYd6fr570ADdMnewRmVoKuSuR
 JBeV0308y0WbeAhNOaIIcGx3/4wMgQklvUycjOZKUgBC2jY/vnuwlgrt21a4rbB/
 c5yNUEfqk9thZY/xOBbbrcvej0RXZ/naV+tRgVYQUo6Ep1CUynxOr2VCUbWxoQWh
 lnekEhJuylbIDodAZ405Cpn3AuqyVypbKBjAyGWSwl92KuoYyBGJnbk/GYokWvCH
 ftMlLF+HUbNRd75W3mwxZOuSX5tIps2NP8aQrdRdOxhF6Ln5b49R4NLI7ZqnOVzO
 syRo96J1joMIGwfRga/b8dqCLYZ45fX2VbfisdhrzZ0OM3e7yg3fVyJRbxubP+n6
 VxCQPfFUQoLKGOAiBfCA5yYCDE+qFXT1HBKORhtUF/wZnq6X7rYMtC0ci0TfcKo0
 Ar0s4xnxX2avFhySvuJL7snv01oOR/9SkCrKY4LqXETMSvNwTNQjLKGo0uly+Mxs
 bs63JFnLtA1BHXvPuFklxDMAqQ4KZZAz1AznePFV7uFRk2VRbzKf1GkS4S9jVlc+
 2/nKb2gWBVdtAqone0D0dC9EoFNZwGqCPuymyTgEkYkO0vgZ2qs=
 =jb6g
 -----END PGP SIGNATURE-----

Merge tag 'hwmon-for-v6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging

Pull hwmon updates from Guenter Roeck:
 "New drivers:

   - Kontron SMARC-sAM67

   - GPD device sensors

   - MP29502

   - 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"

* tag 'hwmon-for-v6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging: (86 commits)
  dt-bindings: hwmon: (lm75) allow interrupt for ti,tmp75
  hwmon: (mlxreg-fan) Add support for new flavour of capability register
  hwmon: (mlxreg-fan) Separate methods of fan setting coming from different subsystems
  hwmon: (cros_ec) register fans into thermal framework cooling devices
  hwmon: (cros_ec) add PWM control over fans
  platform/chrome: update pwm fan control host commands
  hwmon: add SMARC-sAM67 support
  dt-bindings: hwmon: sl28cpld: add sa67mcu compatible
  hwmon: (asus-ec-sensors) add TUF GAMING X670E PLUS WIFI
  hwmon: (dell-smm) Add support for Dell OptiPlex 7040
  hwmon: (dell-smm) Add support for automatic fan mode
  hwmon: (gpd-fan) complete Kconfig dependencies
  hwmon: (asus-ec-sensors) increase timeout for locking ACPI mutex
  hwmon: (asus-ec-sensors) add ROG STRIX X870E-E GAMING WIFI
  hwmon: (dell-smm) Move clamping of fan speed out of i8k_set_fan()
  hwmon: (dell-smm) Remove Dell Precision 490 custom config data
  hwmon: (asus-ec-sensors) add ROG STRIX X670E-E GAMING WIFI
  hwmon: (gpd-fan) Fix range check for pwm input
  hwmon: (pmbus/mp5990) add support for MP5998
  dt-bindings: trivial-devices: add mps,mp5998
  ...
2025-10-01 09:42:51 -07:00
Linus Torvalds 57cf7a603b 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.
 -----BEGIN PGP SIGNATURE-----
 
 iIkEABYKADEWIQS0yQeDP3cjLyifNRUrxTEGBto89AUCaNku+BMcdHp1bmdiaUBr
 ZXJuZWwub3JnAAoJECvFMQYG2jz0DFkA/0+FF785x38lKTlAnJMSlNcABwYzsi9Z
 b70Yc2ytNzp8AP9x5gk68EdwkLF97Mu08JvL8ZUPL6z5jQ3PPd96QDcrCg==
 =zRIv
 -----END PGP SIGNATURE-----

Merge tag 'chrome-platform-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux

Pull chrome platform updates from Tzung-Bi Shih:
 "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"

* tag 'chrome-platform-v6.18' of git://git.kernel.org/pub/scm/linux/kernel/git/chrome-platform/linux:
  Input: cros_ec_keyb - Defer probe until parent EC device is registered
  platform/chrome: cros_ec: Add a flag to track registration state
  platform/chrome: cros_ec: Separate initialization from cros_ec_register()
  platform/chrome: Centralize common cros_ec_device initialization
  platform/chrome: Centralize cros_ec_device allocation
  platform/chrome: wilco_ec: Remove redundant semicolons
  platform/chrome: cros_ec: Avoid -Wflex-array-member-not-at-end warning
  platform/chrome: cros_ec_chardev: Decouple fops from struct cros_ec_dev
  platform/chrome: cros_ec_chardev: Remove redundant struct field
2025-10-01 09:16:28 -07:00
Linus Torvalds eb3289fc47 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<Bound>
     - Implement accessors for subsystem IDs, revision, devid and resource start
     - Provide dedicated pci::Vendor and pci::Class types for vendor and class
       ID numbers
     - Implement Display to print actual vendor and class names; Debug to print
       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
 -----BEGIN PGP SIGNATURE-----
 
 iHUEABYKAB0WIQS2q/xV6QjXAdC7k+1FlHeO1qrKLgUCaNmQGwAKCRBFlHeO1qrK
 LmPzAP9msIvK8eFT4CEDK4buX1gd+VBOdy8mAjAeJ2F80FIo8wEAtOdddNaaqWVF
 m4ac2/a2bSRKMGPX+wIM7d2HGyC7sgY=
 =XbU+
 -----END PGP SIGNATURE-----

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

Pull driver core updates from Danilo Krummrich:
 "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<Bound>
      - Implement accessors for subsystem IDs, revision, devid and
        resource start
      - Provide dedicated pci::Vendor and pci::Class types for vendor
        and class ID numbers
      - Implement Display to print actual vendor and class names; Debug
        to print 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"

* tag 'driver-core-6.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core: (43 commits)
  rust: pci: display symbolic PCI vendor names
  rust: pci: display symbolic PCI class names
  rust: pci: fix incorrect platform reference in PCI driver probe doc comment
  rust: pci: fix incorrect platform reference in PCI driver unbind doc comment
  perf: make pmu_bus const
  samples: rust: Add scoped debugfs sample driver
  rust: debugfs: Add support for scoped directories
  samples: rust: Add debugfs sample driver
  rust: debugfs: Add support for callback-based files
  rust: debugfs: Add support for writable files
  rust: debugfs: Add support for read-only files
  rust: debugfs: Add initial support for directories
  driver core: auxiliary bus: Optimize logic of auxiliary_match_id()
  driver core: auxiliary bus: Drop dev_pm_domain_detach() call
  driver core: Fix order of the kernel-doc parameters
  driver core: get_dev_from_fwnode(): document potential race
  drivers: base: fix "publically"->"publicly"
  driver core/PM: Set power.no_callbacks along with power.no_pm
  driver core: faux: Set power.no_pm for faux devices
  rust: pci: inline several tiny functions
  ...
2025-10-01 08:39:23 -07:00