[packages/kernel] Up to 6.13.0
arekm
arekm at pld-linux.org
Mon Jan 20 23:15:12 CET 2025
commit 5ed629965fea7dc96c7bf77fc4c7eae2de989fd0
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Mon Jan 20 23:15:02 2025 +0100
Up to 6.13.0
kernel-aufs.patch | 641 ++++++++++++++++----------
kernel-multiarch.config | 1177 +++++++++++++++++++++++++----------------------
kernel.spec | 11 +-
3 files changed, 1013 insertions(+), 816 deletions(-)
---
diff --git a/kernel.spec b/kernel.spec
index ad373132..b57856a5 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -52,8 +52,8 @@
%endif
%define rel 1
-%define basever 6.12
-%define postver .10
+%define basever 6.13
+%define postver .0
# define this to '-%{basever}' for longterm branch
%define versuffix %{nil}
@@ -104,7 +104,7 @@ Epoch: 3
License: GPL v2
Group: Base/Kernel
Source0: https://www.kernel.org/pub/linux/kernel/v6.x/linux-%{basever}.tar.xz
-# Source0-md5: 844fae6a58c7f43af44d8cea8484b4a1
+# Source0-md5: 7a1ec5edbbdcaad287ca3c16f71abaa6
%if "%{postver}" != ".0"
Patch0: https://www.kernel.org/pub/linux/kernel/v6.x/patch-%{version}.xz
# Patch0-md5: 642e142b6cacec9e81e339af50f1868f
@@ -998,7 +998,6 @@ done
install -d $RPM_BUILD_ROOT%{_docdir}
mv $RPM_BUILD_ROOT{%{_kernelsrcdir}/Documentation,%{_docdir}/%{name}-%{version}}
-%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/dontdiff
%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/Makefile
%{__rm} $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/*/*/Makefile
%else
@@ -1278,7 +1277,6 @@ fi
%{_kernelsrcdir}/scripts/*.c
%{_kernelsrcdir}/scripts/*.h
%attr(755,root,root) %{_kernelsrcdir}/scripts/*.sh
-%{_kernelsrcdir}/scripts/selinux/genheaders/*.c
%{_kernelsrcdir}/scripts/selinux/mdp/*.c
%exclude %dir %{_kernelsrcdir}/security
%exclude %dir %{_kernelsrcdir}/security/selinux
@@ -1350,9 +1348,6 @@ fi
%exclude %{_kernelsrcdir}/scripts/*.sh
%exclude %dir %{_kernelsrcdir}/scripts/selinux
%exclude %{_kernelsrcdir}/scripts/selinux/Makefile
-%exclude %dir %{_kernelsrcdir}/scripts/selinux/genheaders
-%exclude %{_kernelsrcdir}/scripts/selinux/genheaders/Makefile
-%exclude %{_kernelsrcdir}/scripts/selinux/genheaders/*.c
%exclude %dir %{_kernelsrcdir}/scripts/selinux/mdp
%exclude %{_kernelsrcdir}/scripts/selinux/mdp/Makefile
%exclude %{_kernelsrcdir}/scripts/selinux/mdp/*.c
diff --git a/kernel-aufs.patch b/kernel-aufs.patch
index 905cd70a..b1809051 100644
--- a/kernel-aufs.patch
+++ b/kernel-aufs.patch
@@ -2,10 +2,10 @@ SPDX-License-Identifier: GPL-2.0
aufs6.x-rcN kbuild patch
diff --git a/fs/Kconfig b/fs/Kconfig
-index aae170fc2795..d5bb584649f5 100644
+index 64d420e3c475..0873506d6b97 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
-@@ -341,6 +341,7 @@ source "fs/sysv/Kconfig"
+@@ -340,6 +340,7 @@ source "fs/sysv/Kconfig"
source "fs/ufs/Kconfig"
source "fs/erofs/Kconfig"
source "fs/vboxsf/Kconfig"
@@ -14,10 +14,10 @@ index aae170fc2795..d5bb584649f5 100644
endif # MISC_FILESYSTEMS
diff --git a/fs/Makefile b/fs/Makefile
-index 61679fd587b7..b2539712b80d 100644
+index 15df0a923d3a..7584856689fb 100644
--- a/fs/Makefile
+++ b/fs/Makefile
-@@ -130,3 +130,4 @@ obj-$(CONFIG_EROFS_FS) += erofs/
+@@ -129,3 +129,4 @@ obj-$(CONFIG_EROFS_FS) += erofs/
obj-$(CONFIG_VBOXSF_FS) += vboxsf/
obj-$(CONFIG_ZONEFS_FS) += zonefs/
obj-$(CONFIG_BPF_LSM) += bpf_fs_kfuncs.o
@@ -26,12 +26,12 @@ SPDX-License-Identifier: GPL-2.0
aufs6.x-rcN base patch
diff --git a/MAINTAINERS b/MAINTAINERS
-index 21fdaa19229a..e60ed502f8ef 100644
+index 910305c11e8a..9bae532dd667 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -3666,6 +3666,19 @@ F: kernel/audit*
- F: lib/*audit.c
- K: \baudit_[a-z_0-9]\+\b
+@@ -3724,6 +3724,19 @@ S: Supported
+ F: Documentation/dev-tools/autofdo.rst
+ F: scripts/Makefile.autofdo
+AUFS (advanced multi layered unification filesystem) FILESYSTEM
+M: "J. R. Okajima" <hooanon05g at gmail.com>
@@ -50,7 +50,7 @@ index 21fdaa19229a..e60ed502f8ef 100644
M: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
R: Dave Ertman <david.m.ertman at intel.com>
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
-index 78a7bb28defe..479480f25a6c 100644
+index 8f6761c27c68..78dc1c0c6680 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -661,6 +661,26 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
@@ -81,10 +81,10 @@ index 78a7bb28defe..479480f25a6c 100644
static ssize_t loop_attr_show(struct device *dev, char *page,
diff --git a/fs/dcache.c b/fs/dcache.c
-index 0f6b16ba30d0..1ab11cad60e8 100644
+index b4d5e9e1e43d..0a6069e6d4ca 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
-@@ -1223,6 +1223,9 @@ enum d_walk_ret {
+@@ -1233,6 +1233,9 @@ enum d_walk_ret {
D_WALK_SKIP,
};
@@ -94,7 +94,7 @@ index 0f6b16ba30d0..1ab11cad60e8 100644
/**
* d_walk - walk the dentry tree
* @parent: start of walk
-@@ -1231,7 +1234,7 @@ enum d_walk_ret {
+@@ -1241,7 +1244,7 @@ enum d_walk_ret {
*
* The @enter() callbacks are called with d_lock held.
*/
@@ -104,10 +104,10 @@ index 0f6b16ba30d0..1ab11cad60e8 100644
{
struct dentry *this_parent, *dentry;
diff --git a/fs/fcntl.c b/fs/fcntl.c
-index 22dd9dcce7ec..460791727fd9 100644
+index 49884fa3c81d..065c3aa7a5dd 100644
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
-@@ -37,7 +37,7 @@
+@@ -36,7 +36,7 @@
#define SETFL_MASK (O_APPEND | O_NONBLOCK | O_NDELAY | O_DIRECT | O_NOATIME)
@@ -116,7 +116,7 @@ index 22dd9dcce7ec..460791727fd9 100644
{
struct inode * inode = file_inode(filp);
int error = 0;
-@@ -67,6 +67,8 @@ static int setfl(int fd, struct file * filp, unsigned int arg)
+@@ -66,6 +66,8 @@ static int setfl(int fd, struct file * filp, unsigned int arg)
if (filp->f_op->check_flags)
error = filp->f_op->check_flags(arg);
@@ -126,7 +126,7 @@ index 22dd9dcce7ec..460791727fd9 100644
return error;
diff --git a/fs/namespace.c b/fs/namespace.c
-index d26f5e6d2ca3..85739e2d64c0 100644
+index 23e81c2a1e3f..009c8491a01a 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -966,6 +966,12 @@ static inline int check_mnt(struct mount *mnt)
@@ -143,7 +143,7 @@ index d26f5e6d2ca3..85739e2d64c0 100644
* vfsmount lock must be held for write
*/
diff --git a/fs/splice.c b/fs/splice.c
-index 06232d7e505f..b15fd6073b6d 100644
+index 2898fa1e9e63..73b9e968b28d 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -933,7 +933,7 @@ static int warn_unsupported(struct file *file, const char *op)
@@ -156,10 +156,10 @@ index 06232d7e505f..b15fd6073b6d 100644
{
if (unlikely(!out->f_op->splice_write))
diff --git a/include/linux/fs.h b/include/linux/fs.h
-index 3559446279c1..51b64b2ad82c 100644
+index 7e29433c5ecc..b74af4ae6dd4 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -1160,6 +1160,7 @@ extern void fasync_free(struct fasync_struct *);
+@@ -1162,6 +1162,7 @@ extern void fasync_free(struct fasync_struct *);
/* can be called from interrupts */
extern void kill_fasync(struct fasync_struct **, int, int);
@@ -167,7 +167,7 @@ index 3559446279c1..51b64b2ad82c 100644
extern void __f_setown(struct file *filp, struct pid *, enum pid_type, int force);
extern int f_setown(struct file *filp, int who, int force);
extern void f_delown(struct file *filp);
-@@ -2082,6 +2083,7 @@ struct file_operations {
+@@ -2091,6 +2092,7 @@ struct file_operations {
int (*lock) (struct file *, int, struct file_lock *);
unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
int (*check_flags)(int);
@@ -176,7 +176,7 @@ index 3559446279c1..51b64b2ad82c 100644
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);
ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);
diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h
-index 217f7abf2cbf..0e17b8c23f10 100644
+index 67964dc4db95..517ef3ea8c85 100644
--- a/include/linux/lockdep.h
+++ b/include/linux/lockdep.h
@@ -210,6 +210,8 @@ static inline int lockdep_match_key(struct lockdep_map *lock,
@@ -222,7 +222,7 @@ index 9dec4861d09f..14583d846864 100644
+ loff_t *ppos, size_t len, unsigned int flags);
#endif
diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
-index 536bd471557f..34b378cf7a95 100644
+index 2d8ec0351ef9..25c1fb3172d9 100644
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -218,7 +218,7 @@ unsigned long max_lock_class_idx;
@@ -246,10 +246,10 @@ SPDX-License-Identifier: GPL-2.0
aufs6.x-rcN mmap patch
diff --git a/fs/proc/base.c b/fs/proc/base.c
-index b31283d81c52..644bd3d84cf7 100644
+index 0edf14a9840e..6114bd9c9709 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
-@@ -2270,7 +2270,7 @@ static int map_files_get_link(struct dentry *dentry, struct path *path)
+@@ -2271,7 +2271,7 @@ static int map_files_get_link(struct dentry *dentry, struct path *path)
rc = -ENOENT;
vma = find_exact_vma(mm, vm_start, vm_end);
if (vma && vma->vm_file) {
@@ -275,7 +275,7 @@ index c6e7ebc63756..d7ccfd909764 100644
ino = inode->i_ino;
}
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
-index e52bd96137a6..9494d69abaad 100644
+index 38a5a3e9cba2..1e187843db7b 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -264,7 +264,8 @@ static void get_vma_name(struct vm_area_struct *vma,
@@ -298,7 +298,7 @@ index e52bd96137a6..9494d69abaad 100644
dev = inode->i_sb->s_dev;
ino = inode->i_ino;
-@@ -3006,7 +3008,7 @@ static int show_numa_map(struct seq_file *m, void *v)
+@@ -3008,7 +3010,7 @@ static int show_numa_map(struct seq_file *m, void *v)
struct proc_maps_private *proc_priv = &numa_priv->proc_maps;
struct vm_area_struct *vma = v;
struct numa_maps *md = &numa_priv->md;
@@ -324,10 +324,10 @@ index bce674533000..b12b5a75c799 100644
ino = inode->i_ino;
pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT;
diff --git a/include/linux/mm.h b/include/linux/mm.h
-index 61fff5d34ed5..94b66987b4bb 100644
+index 338a76ce9083..cb68469c46f6 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
-@@ -2469,6 +2469,43 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping,
+@@ -2480,6 +2480,43 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping,
static inline struct vm_area_struct *vma_lookup(struct mm_struct *mm,
unsigned long addr);
@@ -372,10 +372,10 @@ index 61fff5d34ed5..94b66987b4bb 100644
void *buf, int len, unsigned int gup_flags);
extern int access_remote_vm(struct mm_struct *mm, unsigned long addr,
diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
-index 6e3bdf8e38bc..c70247dc7102 100644
+index 7361a8f3ab68..c7a9e7ea36f7 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
-@@ -572,6 +572,9 @@ struct vm_region {
+@@ -554,6 +554,9 @@ struct vm_region {
unsigned long vm_top; /* region allocated to here */
unsigned long vm_pgoff; /* the offset in vm_file corresponding to vm_start */
struct file *vm_file; /* the backing file or NULL */
@@ -385,7 +385,7 @@ index 6e3bdf8e38bc..c70247dc7102 100644
int vm_usage; /* region usage count (access under nommu_region_sem) */
bool vm_icache_flushed : 1; /* true if the icache has been flushed for
-@@ -747,6 +750,9 @@ struct vm_area_struct {
+@@ -729,6 +732,9 @@ struct vm_area_struct {
unsigned long vm_pgoff; /* Offset (within vm_file) in PAGE_SIZE
units */
struct file * vm_file; /* File we map to (can be NULL). */
@@ -396,10 +396,10 @@ index 6e3bdf8e38bc..c70247dc7102 100644
#ifdef CONFIG_ANON_VMA_NAME
diff --git a/kernel/fork.c b/kernel/fork.c
-index 22f43721d031..03abd72b3353 100644
+index 9b301180fd41..d843da822c9e 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
-@@ -730,7 +730,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
+@@ -732,7 +732,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
if (file) {
struct address_space *mapping = file->f_mapping;
@@ -409,19 +409,19 @@ index 22f43721d031..03abd72b3353 100644
if (vma_is_shared_maywrite(tmp))
mapping_allow_writable(mapping);
diff --git a/mm/Makefile b/mm/Makefile
-index d5639b036166..bb57f616f032 100644
+index dba52bb0da8a..cb956783721a 100644
--- a/mm/Makefile
+++ b/mm/Makefile
-@@ -145,3 +145,4 @@ obj-$(CONFIG_GENERIC_IOREMAP) += ioremap.o
+@@ -146,3 +146,4 @@ obj-$(CONFIG_GENERIC_IOREMAP) += ioremap.o
obj-$(CONFIG_SHRINKER_DEBUG) += shrinker_debug.o
obj-$(CONFIG_EXECMEM) += execmem.o
obj-$(CONFIG_TMPFS_QUOTA) += shmem_quota.o
+obj-y += prfile.o
diff --git a/mm/filemap.c b/mm/filemap.c
-index 56fa431c52af..d55fe4e7bcfd 100644
+index f61cf51c2238..124d00dd1a35 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
-@@ -3707,7 +3707,7 @@ vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf)
+@@ -3708,7 +3708,7 @@ vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf)
vm_fault_t ret = VM_FAULT_LOCKED;
sb_start_pagefault(mapping->host->i_sb);
@@ -431,34 +431,27 @@ index 56fa431c52af..d55fe4e7bcfd 100644
if (folio->mapping != mapping) {
folio_unlock(folio);
diff --git a/mm/mmap.c b/mm/mmap.c
-index 79d541f1502b..50430bfa4d82 100644
+index d32b7e701058..4b986ceac077 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
-@@ -1484,7 +1484,7 @@ static unsigned long __mmap_region(struct file *file, unsigned long addr,
- * and cause general protection fault
- * ultimately.
- */
-- fput(vma->vm_file);
-+ vma_fput(vma);
- vm_area_free(vma);
- vma = merge;
- /* Update vm_flags to pick up the change. */
-@@ -1654,6 +1654,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
+@@ -1399,6 +1399,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
unsigned long ret = -EINVAL;
struct file *file;
vm_flags_t vm_flags;
-+ struct file *prfile;
++ struct file *prfile = NULL; /* aufs */
pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/mm/remap_file_pages.rst.\n",
current->comm, current->pid);
-@@ -1696,14 +1697,16 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
+@@ -1441,14 +1442,18 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
/* Save vm_flags used to calculate prot and flags, and recheck later. */
vm_flags = vma->vm_flags;
- file = get_file(vma->vm_file);
+ vma_get_file(vma);
+ file = vma->vm_file;
++#if 1 /* IS_ENABLED(CONFIG_AUFS_FS) */
+ prfile = vma->vm_prfile;
++#endif
mmap_read_unlock(mm);
@@ -470,7 +463,7 @@ index 79d541f1502b..50430bfa4d82 100644
return ret;
}
-@@ -1711,7 +1714,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
+@@ -1456,7 +1461,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
/* OK security check passed, take write lock + let it rip. */
if (mmap_write_lock_killable(mm)) {
@@ -479,10 +472,11 @@ index 79d541f1502b..50430bfa4d82 100644
return -EINTR;
}
-@@ -1753,9 +1756,25 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
+@@ -1498,9 +1503,27 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
ret = do_mmap(vma->vm_file, start, size,
prot, flags, 0, pgoff, &populate, NULL);
++#if 1 /* IS_ENABLED(CONFIG_AUFS_FS) */
+ if (!IS_ERR_VALUE(ret) && file && prfile) {
+ struct vm_area_struct *new_vma;
+
@@ -492,6 +486,7 @@ index 79d541f1502b..50430bfa4d82 100644
+ if (prfile)
+ get_file(prfile);
+ }
++#endif
+
out:
mmap_write_unlock(mm);
@@ -506,7 +501,7 @@ index 79d541f1502b..50430bfa4d82 100644
mm_populate(ret, populate);
if (!IS_ERR_VALUE(ret))
diff --git a/mm/nommu.c b/mm/nommu.c
-index e9b5f527ab5b..0f069bf29964 100644
+index 9cb6e99215e2..5add36afa978 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -512,7 +512,7 @@ static void __put_nommu_region(struct vm_region *region)
@@ -642,10 +637,10 @@ index 000000000000..8f820a235364
+}
+#endif /* !CONFIG_MMU */
diff --git a/mm/vma.c b/mm/vma.c
-index 7621384d64cf..3bb41fe6ac48 100644
+index bb2119e5a0d0..ab30ebc7f55d 100644
--- a/mm/vma.c
+++ b/mm/vma.c
-@@ -248,7 +248,7 @@ static void vma_complete(struct vma_prepare *vp, struct vma_iterator *vmi,
+@@ -299,7 +299,7 @@ static void vma_complete(struct vma_prepare *vp, struct vma_iterator *vmi,
if (vp->file) {
uprobe_munmap(vp->remove, vp->remove->vm_start,
vp->remove->vm_end);
@@ -654,7 +649,7 @@ index 7621384d64cf..3bb41fe6ac48 100644
}
if (vp->remove->anon_vma)
anon_vma_merge(vp->vma, vp->remove);
-@@ -328,7 +328,7 @@ void remove_vma(struct vm_area_struct *vma, bool unreachable)
+@@ -379,7 +379,7 @@ void remove_vma(struct vm_area_struct *vma, bool unreachable)
might_sleep();
vma_close(vma);
if (vma->vm_file)
@@ -663,7 +658,7 @@ index 7621384d64cf..3bb41fe6ac48 100644
mpol_put(vma_policy(vma));
if (unreachable)
__vm_area_free(vma);
-@@ -405,7 +405,7 @@ static int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma,
+@@ -456,7 +456,7 @@ static int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma,
goto out_free_mpol;
if (new->vm_file)
@@ -672,7 +667,7 @@ index 7621384d64cf..3bb41fe6ac48 100644
if (new->vm_ops && new->vm_ops->open)
new->vm_ops->open(new);
-@@ -1671,7 +1671,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
+@@ -1762,7 +1762,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
if (anon_vma_clone(new_vma, vma))
goto out_free_mempol;
if (new_vma->vm_file)
@@ -681,7 +676,7 @@ index 7621384d64cf..3bb41fe6ac48 100644
if (new_vma->vm_ops && new_vma->vm_ops->open)
new_vma->vm_ops->open(new_vma);
if (vma_link(mm, new_vma))
-@@ -1684,7 +1684,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
+@@ -1775,7 +1775,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
vma_close(new_vma);
if (new_vma->vm_file)
@@ -694,10 +689,10 @@ SPDX-License-Identifier: GPL-2.0
aufs6.x-rcN standalone patch
diff --git a/fs/dcache.c b/fs/dcache.c
-index 1ab11cad60e8..3a01c42c6639 100644
+index 0a6069e6d4ca..7d0493ea306d 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
-@@ -1333,6 +1333,7 @@ void d_walk(struct dentry *parent, void *data,
+@@ -1343,6 +1343,7 @@ void d_walk(struct dentry *parent, void *data,
seq = 1;
goto again;
}
@@ -705,7 +700,7 @@ index 1ab11cad60e8..3a01c42c6639 100644
struct check_mount {
struct vfsmount *mnt;
-@@ -2899,6 +2900,7 @@ void d_exchange(struct dentry *dentry1, struct dentry *dentry2)
+@@ -2911,6 +2912,7 @@ void d_exchange(struct dentry *dentry1, struct dentry *dentry2)
write_sequnlock(&rename_lock);
}
@@ -714,7 +709,7 @@ index 1ab11cad60e8..3a01c42c6639 100644
/**
* d_ancestor - search for an ancestor
diff --git a/fs/exec.c b/fs/exec.c
-index 6c53920795c2..22e10087e34f 100644
+index 98cb7ba9983c..fe9c0e99ab60 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -114,6 +114,7 @@ bool path_noexec(const struct path *path)
@@ -726,10 +721,10 @@ index 6c53920795c2..22e10087e34f 100644
#ifdef CONFIG_USELIB
/*
diff --git a/fs/fcntl.c b/fs/fcntl.c
-index 460791727fd9..75ab59a3df36 100644
+index 065c3aa7a5dd..efe86e98015e 100644
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
-@@ -90,6 +90,7 @@ int setfl(int fd, struct file * filp, unsigned int arg)
+@@ -89,6 +89,7 @@ int setfl(int fd, struct file * filp, unsigned int arg)
out:
return error;
}
@@ -738,10 +733,10 @@ index 460791727fd9..75ab59a3df36 100644
/*
* Allocate an file->f_owner struct if it doesn't exist, handling racing
diff --git a/fs/file_table.c b/fs/file_table.c
-index eed5ffad9997..2f6bead42478 100644
+index 976736be47cb..4ba889801c2f 100644
--- a/fs/file_table.c
+++ b/fs/file_table.c
-@@ -228,6 +228,7 @@ struct file *alloc_empty_file(int flags, const struct cred *cred)
+@@ -247,6 +247,7 @@ struct file *alloc_empty_file(int flags, const struct cred *cred)
}
return ERR_PTR(-ENFILE);
}
@@ -750,7 +745,7 @@ index eed5ffad9997..2f6bead42478 100644
/*
* Variant of alloc_empty_file() that doesn't check and modify nr_files.
diff --git a/fs/namespace.c b/fs/namespace.c
-index 85739e2d64c0..8aa96de6c151 100644
+index 009c8491a01a..770fe1d2ca2d 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -971,6 +971,7 @@ int is_current_mnt_ns(struct vfsmount *mnt)
@@ -798,7 +793,7 @@ index 18446b7b0d49..09138e0b8a6a 100644
/*
* Drop a reference to a group. Free it if it's through.
diff --git a/fs/open.c b/fs/open.c
-index 5da4df2f9b18..6024098fc644 100644
+index e6911101fe71..fa5a7a1e4a10 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -66,6 +66,7 @@ int do_truncate(struct mnt_idmap *idmap, struct dentry *dentry,
@@ -810,10 +805,10 @@ index 5da4df2f9b18..6024098fc644 100644
long vfs_truncate(const struct path *path, loff_t length)
{
diff --git a/fs/read_write.c b/fs/read_write.c
-index 64dc24afdb3a..ec1fd6aab175 100644
+index a6133241dfb8..5e095d512e35 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
-@@ -576,6 +576,7 @@ ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos)
+@@ -572,6 +572,7 @@ ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos)
inc_syscr(current);
return ret;
}
@@ -821,7 +816,7 @@ index 64dc24afdb3a..ec1fd6aab175 100644
static ssize_t new_sync_write(struct file *filp, const char __user *buf, size_t len, loff_t *ppos)
{
-@@ -691,6 +692,7 @@ ssize_t vfs_write(struct file *file, const char __user *buf, size_t count, loff_
+@@ -687,6 +688,7 @@ ssize_t vfs_write(struct file *file, const char __user *buf, size_t count, loff_
file_end_write(file);
return ret;
}
@@ -830,7 +825,7 @@ index 64dc24afdb3a..ec1fd6aab175 100644
/* file_ppos returns &file->f_pos or NULL if file is stream */
static inline loff_t *file_ppos(struct file *file)
diff --git a/fs/splice.c b/fs/splice.c
-index b15fd6073b6d..0fdb86c3813e 100644
+index 73b9e968b28d..7ace2e239f7a 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -940,6 +940,7 @@ ssize_t do_splice_from(struct pipe_inode_info *pipe, struct file *out,
@@ -842,7 +837,7 @@ index b15fd6073b6d..0fdb86c3813e 100644
/*
* Indicate to the caller that there was a premature EOF when reading from the
diff --git a/fs/xattr.c b/fs/xattr.c
-index 05ec7e7d9e87..e07ffa052dfb 100644
+index 02bee149ad96..71fb7d49a9c2 100644
--- a/fs/xattr.c
+++ b/fs/xattr.c
@@ -405,6 +405,7 @@ vfs_getxattr_alloc(struct mnt_idmap *idmap, struct dentry *dentry,
@@ -854,7 +849,7 @@ index 05ec7e7d9e87..e07ffa052dfb 100644
ssize_t
__vfs_getxattr(struct dentry *dentry, struct inode *inode, const char *name,
diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
-index 34b378cf7a95..df6a751298b3 100644
+index 25c1fb3172d9..312d8733e390 100644
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -239,6 +239,7 @@ inline struct lock_class *lockdep_hlock_class(struct held_lock *hlock)
@@ -875,10 +870,10 @@ index c969f1f26be5..68eb672f425d 100644
}
+EXPORT_SYMBOL_GPL(task_work_run);
diff --git a/security/security.c b/security/security.c
-index c5981e558bc2..045dd716e340 100644
+index 09664e09fec9..f4eee251c890 100644
--- a/security/security.c
+++ b/security/security.c
-@@ -1944,6 +1944,7 @@ int security_path_rmdir(const struct path *dir, struct dentry *dentry)
+@@ -1943,6 +1943,7 @@ int security_path_rmdir(const struct path *dir, struct dentry *dentry)
return 0;
return call_int_hook(path_rmdir, dir, dentry);
}
@@ -886,7 +881,7 @@ index c5981e558bc2..045dd716e340 100644
/**
* security_path_unlink() - Check if removing a hard link is allowed
-@@ -1979,6 +1980,7 @@ int security_path_symlink(const struct path *dir, struct dentry *dentry,
+@@ -1978,6 +1979,7 @@ int security_path_symlink(const struct path *dir, struct dentry *dentry,
return 0;
return call_int_hook(path_symlink, dir, dentry, old_name);
}
@@ -894,7 +889,7 @@ index c5981e558bc2..045dd716e340 100644
/**
* security_path_link - Check if creating a hard link is allowed
-@@ -1997,6 +1999,7 @@ int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
+@@ -1996,6 +1998,7 @@ int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
return 0;
return call_int_hook(path_link, old_dentry, new_dir, new_dentry);
}
@@ -902,7 +897,7 @@ index c5981e558bc2..045dd716e340 100644
/**
* security_path_rename() - Check if renaming a file is allowed
-@@ -2058,6 +2061,7 @@ int security_path_chmod(const struct path *path, umode_t mode)
+@@ -2057,6 +2060,7 @@ int security_path_chmod(const struct path *path, umode_t mode)
return 0;
return call_int_hook(path_chmod, path, mode);
}
@@ -910,7 +905,7 @@ index c5981e558bc2..045dd716e340 100644
/**
* security_path_chown() - Check if changing the file's owner/group is allowed
-@@ -2075,6 +2079,7 @@ int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
+@@ -2074,6 +2078,7 @@ int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
return 0;
return call_int_hook(path_chown, path, uid, gid);
}
@@ -918,7 +913,7 @@ index c5981e558bc2..045dd716e340 100644
/**
* security_path_chroot() - Check if changing the root directory is allowed
-@@ -2319,6 +2324,7 @@ int security_inode_permission(struct inode *inode, int mask)
+@@ -2318,6 +2323,7 @@ int security_inode_permission(struct inode *inode, int mask)
return 0;
return call_int_hook(inode_permission, inode, mask);
}
@@ -926,7 +921,7 @@ index c5981e558bc2..045dd716e340 100644
/**
* security_inode_setattr() - Check if setting file attributes is allowed
-@@ -2840,6 +2846,7 @@ int security_file_permission(struct file *file, int mask)
+@@ -2838,6 +2844,7 @@ int security_file_permission(struct file *file, int mask)
{
return call_int_hook(file_permission, file, mask);
}
@@ -934,7 +929,7 @@ index c5981e558bc2..045dd716e340 100644
/**
* security_file_alloc() - Allocate and init a file's LSM blob
-@@ -3144,6 +3151,7 @@ int security_file_truncate(struct file *file)
+@@ -3136,6 +3143,7 @@ int security_file_truncate(struct file *file)
{
return call_int_hook(file_truncate, file);
}
@@ -2925,7 +2920,7 @@ diff -urN /usr/share/empty/fs/aufs/aufs.h linux/fs/aufs/aufs.h
+#endif /* __AUFS_H__ */
diff -urN /usr/share/empty/fs/aufs/branch.c linux/fs/aufs/branch.c
--- /usr/share/empty/fs/aufs/branch.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/branch.c 2024-11-10 01:09:28.603051194 +0100
++++ linux/fs/aufs/branch.c 2025-01-20 14:58:10.216652667 +0100
@@ -0,0 +1,1427 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -3172,7 +3167,7 @@ diff -urN /usr/share/empty/fs/aufs/branch.c linux/fs/aufs/branch.c
+
+ inode = d_inode(add->path.dentry);
+ err = -ENOENT;
-+ if (unlikely(!inode->i_nlink)) {
++ if (unlikely(!vfsub_inode_nlink(inode, AU_I_UNKNOWN))) {
+ pr_err("no existence %s\n", add->pathname);
+ goto out;
+ }
@@ -3422,14 +3417,14 @@ diff -urN /usr/share/empty/fs/aufs/branch.c linux/fs/aufs/branch.c
+ bbot = au_sbbot(sb);
+ amount = bbot + 1 - bindex;
+ h_dentry = au_br_dentry(br);
-+ au_sbilist_lock();
++ au_sbilist_write_lock();
+ au_br_do_add_brp(au_sbi(sb), bindex, br, bbot, amount);
+ au_br_do_add_hdp(au_di(root), bindex, bbot, amount);
+ au_br_do_add_hip(au_ii(root_inode), bindex, bbot, amount);
+ au_set_h_dptr(root, bindex, dget(h_dentry));
+ h_inode = d_inode(h_dentry);
+ au_set_h_iptr(root_inode, bindex, au_igrab(h_inode), /*flags*/0);
-+ au_sbilist_unlock();
++ au_sbilist_write_unlock();
+}
+
+int au_br_add(struct super_block *sb, struct au_opt_add *add, int remount)
@@ -3907,11 +3902,11 @@ diff -urN /usr/share/empty/fs/aufs/branch.c linux/fs/aufs/branch.c
+ h_inode = au_igrab(hinode->hi_inode);
+ au_hiput(hinode);
+
-+ au_sbilist_lock();
++ au_sbilist_write_lock();
+ au_br_do_del_brp(sbinfo, bindex, bbot);
+ au_br_do_del_hdp(au_di(root), bindex, bbot);
+ au_br_do_del_hip(au_ii(inode), bindex, bbot);
-+ au_sbilist_unlock();
++ au_sbilist_write_unlock();
+
+ /* ignore an error */
+ au_dr_br_fin(sb, br); /* always, regardless the mount option */
@@ -4779,8 +4774,8 @@ diff -urN /usr/share/empty/fs/aufs/conf.mk linux/fs/aufs/conf.mk
+-include ${srctree}/${src}/conf_priv.mk
diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
--- /usr/share/empty/fs/aufs/cpup.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/cpup.c 2024-11-18 12:46:45.633029891 +0100
-@@ -0,0 +1,1458 @@
++++ linux/fs/aufs/cpup.c 2025-01-20 14:58:10.216652667 +0100
+@@ -0,0 +1,1459 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -4852,7 +4847,7 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
+ * todo: O_TMPFILE+linkat(AT_SYMLINK_FOLLOW) bypassing aufs may cause
+ * the incorrect link count.
+ */
-+ au_set_nlink(inode, h_inode->i_nlink);
++ vfsub_set_nlink(inode, vfsub_inode_nlink(h_inode, AU_I_BRANCH));
+
+ /*
+ * fewer nlink makes find(1) noisy, but larger nlink doesn't.
@@ -4928,7 +4923,8 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
+ attr.ia_atime = dt->dt_atime;
+ attr.ia_mtime = dt->dt_mtime;
+ attr.ia_valid = ATTR_FORCE | ATTR_MTIME | ATTR_MTIME_SET
-+ | ATTR_ATIME | ATTR_ATIME_SET;
++ | ATTR_ATIME | ATTR_ATIME_SET
++ | ATTR_CTIME;
+
+ /* no delegation since this is a directory */
+ err = vfsub_notify_change(&dt->dt_h_path, &attr, /*delegated*/NULL);
@@ -4964,7 +4960,7 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
+ h_idst = d_inode(h_path.dentry);
+ h_isrc = d_inode(h_src->dentry);
+ ia.ia_valid = ATTR_FORCE | ATTR_UID | ATTR_GID
-+ | ATTR_ATIME | ATTR_MTIME
++ | ATTR_ATIME | ATTR_MTIME | ATTR_CTIME
+ | ATTR_ATIME_SET | ATTR_MTIME_SET;
+ if (h_src_attr && h_src_attr->valid) {
+ h_st = &h_src_attr->st;
@@ -5499,7 +5495,7 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
+ if (!au_opt_test(mnt_flags, UDBA_NONE)
+ && !isdir
+ && au_opt_test(mnt_flags, XINO)
-+ && (h_inode->i_nlink == 1
++ && (vfsub_inode_nlink(h_inode, AU_I_BRANCH) == 1
+ || (h_inode->i_state & I_LINKABLE))
+ /* todo: unnecessary? */
+ /* && d_inode(cpg->dentry)->i_nlink == 1 */
@@ -5626,7 +5622,7 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
+ goto out_parent;
+ }
+
-+ if (dst_inode->i_nlink) {
++ if (vfsub_inode_nlink(dst_inode, AU_I_BRANCH)) {
+ const int do_dt = au_ftest_cpup(cpg->flags, DTIME);
+
+ h_src = au_plink_lkup(inode, cpg->bdst);
@@ -5711,7 +5707,7 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
+
+ src_inode = d_inode(h_src);
+ if (!isdir
-+ && (src_inode->i_nlink > 1
++ && (vfsub_inode_nlink(src_inode, AU_I_BRANCH) > 1
+ || src_inode->i_state & I_LINKABLE)
+ && plink)
+ au_plink_append(inode, cpg->bdst, h_dst);
@@ -6077,7 +6073,7 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
+ h_dir = au_igrab(au_h_iptr(dir, bdst));
+ h_tmpdir = h_dir;
+ pin_orig = NULL;
-+ if (!h_dir->i_nlink) {
++ if (!vfsub_inode_nlink(h_dir, AU_I_BRANCH)) {
+ wbr = au_sbr(dentry->d_sb, bdst)->br_wbr;
+ h_orph = wbr->wbr_orph;
+
@@ -7162,8 +7158,8 @@ diff -urN /usr/share/empty/fs/aufs/dcsub.c linux/fs/aufs/dcsub.c
+}
diff -urN /usr/share/empty/fs/aufs/dcsub.h linux/fs/aufs/dcsub.h
--- /usr/share/empty/fs/aufs/dcsub.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dcsub.h 2022-11-05 23:02:18.962555950 +0100
-@@ -0,0 +1,137 @@
++++ linux/fs/aufs/dcsub.h 2025-01-20 14:58:10.216652667 +0100
+@@ -0,0 +1,139 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -7193,6 +7189,7 @@ diff -urN /usr/share/empty/fs/aufs/dcsub.h linux/fs/aufs/dcsub.h
+
+#include <linux/dcache.h>
+#include <linux/fs.h>
++#include "vfsub.h"
+
+struct au_dpage {
+ int ndentry;
@@ -7233,7 +7230,8 @@ diff -urN /usr/share/empty/fs/aufs/dcsub.h linux/fs/aufs/dcsub.h
+ err = 0;
+ if (unlikely(d_unhashed(d)
+ || d_is_negative(d)
-+ || !inode->i_nlink))
++ /* to support both aufs and branches */
++ || !vfsub_inode_nlink(inode, AU_I_UNKNOWN)))
+ err = -ENOENT;
+ return err;
+}
@@ -7263,7 +7261,7 @@ diff -urN /usr/share/empty/fs/aufs/dcsub.h linux/fs/aufs/dcsub.h
+ inode = d_inode(d);
+ if (unlikely(d_unlinked(d)
+ || d_is_negative(d)
-+ || !inode->i_nlink))
++ || !vfsub_inode_nlink(inode, AU_I_UNKNOWN)))
+ err = -ENOENT;
+ }
+ return err;
@@ -7303,7 +7301,7 @@ diff -urN /usr/share/empty/fs/aufs/dcsub.h linux/fs/aufs/dcsub.h
+#endif /* __AUFS_DCSUB_H__ */
diff -urN /usr/share/empty/fs/aufs/debug.c linux/fs/aufs/debug.c
--- /usr/share/empty/fs/aufs/debug.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/debug.c 2024-11-18 12:46:45.633029891 +0100
++++ linux/fs/aufs/debug.c 2025-01-20 14:58:10.216652667 +0100
@@ -0,0 +1,448 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -7435,7 +7433,7 @@ diff -urN /usr/share/empty/fs/aufs/debug.c linux/fs/aufs/debug.c
+ }
+
+ ctime = inode_get_ctime(inode);
-+ dpri("i%d: %p, i%lu, %s, cnt %d, nl %u, 0%o, sz %llu, blk %llu,"
++ dpri("i%d: %p, i%lu, %s, cnt %d, nl %u?, 0%o, sz %llu, blk %llu,"
+ " acl %p, def_acl %p,"
+ " hn %d, ct %lld, np %lu, st 0x%x, f 0x%x, v %llu, g %x%s%.*s\n",
+ bindex, inode,
@@ -7985,8 +7983,8 @@ diff -urN /usr/share/empty/fs/aufs/debug.h linux/fs/aufs/debug.h
+#endif /* __AUFS_DEBUG_H__ */
diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
--- /usr/share/empty/fs/aufs/dentry.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dentry.c 2024-10-15 11:25:59.889776980 +0200
-@@ -0,0 +1,1175 @@
++++ linux/fs/aufs/dentry.c 2025-01-20 14:58:10.216652667 +0100
+@@ -0,0 +1,1176 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -8495,10 +8493,11 @@ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
+ if (d_really_is_positive(dentry)) {
+ inode = d_inode(dentry);
+ if (!d_is_dir(dentry)) {
-+ if (inode->i_nlink && !d_unhashed(dentry))
-+ drop_nlink(inode);
++ if (vfsub_inode_nlink(inode, AU_I_AUFS)
++ && !d_unhashed(dentry))
++ vfsub_drop_nlink(inode);
+ } else {
-+ clear_nlink(inode);
++ vfsub_clear_nlink(inode);
+ /* stop next lookup */
+ inode->i_flags |= S_DEAD;
+ }
@@ -8878,7 +8877,7 @@ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
+ */
+ if (do_udba && inode) {
+ mode = (inode->i_mode & S_IFMT);
-+ plus = (inode->i_nlink > 0);
++ plus = (vfsub_inode_nlink(inode, AU_I_AUFS) > 0);
+ ibs = au_ibtop(inode);
+ ibe = au_ibbot(inode);
+ }
@@ -8946,7 +8945,7 @@ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
+ h_cached_inode = h_inode;
+ if (h_inode && bindex != bwh) {
+ h_mode = (h_inode->i_mode & S_IFMT);
-+ h_plus = (h_inode->i_nlink > 0);
++ h_plus = (vfsub_inode_nlink(h_inode, AU_I_BRANCH) > 0);
+ }
+ if (inode && ibs <= bindex && bindex <= ibe)
+ h_cached_inode = au_h_iptr(inode, bindex);
@@ -9102,7 +9101,7 @@ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
+ if (!(flags & (LOOKUP_OPEN | LOOKUP_EMPTY))
+ && inode
+ && !(inode->i_state && I_LINKABLE)
-+ && (IS_DEADDIR(inode) || !inode->i_nlink)) {
++ && (IS_DEADDIR(inode) || !vfsub_inode_nlink(inode, AU_I_AUFS))) {
+ AuTraceErr(err);
+ goto out_inval;
+ }
@@ -9997,7 +9996,7 @@ diff -urN /usr/share/empty/fs/aufs/dinfo.c linux/fs/aufs/dinfo.c
+}
diff -urN /usr/share/empty/fs/aufs/dir.c linux/fs/aufs/dir.c
--- /usr/share/empty/fs/aufs/dir.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dir.c 2024-11-18 12:46:45.636363225 +0100
++++ linux/fs/aufs/dir.c 2025-01-20 14:58:10.216652667 +0100
@@ -0,0 +1,765 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -10027,32 +10026,32 @@ diff -urN /usr/share/empty/fs/aufs/dir.c linux/fs/aufs/dir.c
+
+void au_add_nlink(struct inode *dir, struct inode *h_dir)
+{
-+ unsigned int nlink;
++ unsigned int nlink, h_nlink;
+
+ AuDebugOn(!S_ISDIR(dir->i_mode) || !S_ISDIR(h_dir->i_mode));
+
-+ nlink = dir->i_nlink;
-+ nlink += h_dir->i_nlink - 2;
-+ if (h_dir->i_nlink < 2)
++ nlink = vfsub_inode_nlink(dir, AU_I_AUFS);
++ h_nlink = vfsub_inode_nlink(h_dir, AU_I_BRANCH);
++ nlink += h_nlink - 2;
++ if (h_nlink < 2)
+ nlink += 2;
-+ smp_mb(); /* for i_nlink */
+ /* 0 can happen in revaliding */
-+ au_set_nlink(dir, nlink);
++ vfsub_set_nlink(dir, nlink);
+}
+
+void au_sub_nlink(struct inode *dir, struct inode *h_dir)
+{
-+ unsigned int nlink;
++ unsigned int nlink, h_nlink;
+
+ AuDebugOn(!S_ISDIR(dir->i_mode) || !S_ISDIR(h_dir->i_mode));
+
-+ nlink = dir->i_nlink;
-+ nlink -= h_dir->i_nlink - 2;
-+ if (h_dir->i_nlink < 2)
++ nlink = vfsub_inode_nlink(dir, AU_I_AUFS);
++ h_nlink = vfsub_inode_nlink(h_dir, AU_I_BRANCH);
++ nlink -= h_nlink - 2;
++ if (h_nlink < 2)
+ nlink -= 2;
-+ smp_mb(); /* for i_nlink */
+ /* nlink == 0 means the branch-fs is broken */
-+ au_set_nlink(dir, nlink);
++ vfsub_set_nlink(dir, nlink);
+}
+
+loff_t au_dir_size(struct file *file, struct dentry *dentry)
@@ -10147,7 +10146,7 @@ diff -urN /usr/share/empty/fs/aufs/dir.c linux/fs/aufs/dir.c
+ au_hn_inode_lock_nested(hdir, AuLsc_I_PARENT);
+ h_dir = au_h_iptr(dir, btop);
+ ts = inode_get_mtime(h_dir);
-+ if (h_dir->i_nlink
++ if (vfsub_inode_nlink(h_dir, AU_I_BRANCH)
+ && timespec64_compare(&ts, &dt.dt_mtime) < 0) {
+ dt.dt_h_path = h_path;
+ au_dtime_revert(&dt);
@@ -10601,7 +10600,7 @@ diff -urN /usr/share/empty/fs/aufs/dir.c linux/fs/aufs/dir.c
+
+ err = 0;
+ if (!au_opt_test(au_mntflags(dentry->d_sb), UDBA_NONE)
-+ && !file_inode(h_file)->i_nlink)
++ && !vfsub_inode_nlink(file_inode(h_file), AU_I_BRANCH))
+ goto out_put;
+
+ do {
@@ -14097,7 +14096,7 @@ diff -urN /usr/share/empty/fs/aufs/fhsm.c linux/fs/aufs/fhsm.c
+}
diff -urN /usr/share/empty/fs/aufs/file.c linux/fs/aufs/file.c
--- /usr/share/empty/fs/aufs/file.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/file.c 2024-11-18 12:46:45.636363225 +0100
++++ linux/fs/aufs/file.c 2025-01-20 14:58:10.216652667 +0100
@@ -0,0 +1,858 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -14499,7 +14498,7 @@ diff -urN /usr/share/empty/fs/aufs/file.c linux/fs/aufs/file.c
+ err = au_reopen_wh(file, bcpup, hi_wh);
+
+ if (!err
-+ && (inode->i_nlink > 1
++ && (vfsub_inode_nlink(inode, AU_I_AUFS) > 1
+ || (inode->i_state & I_LINKABLE))
+ && au_opt_test(au_mntflags(cpg.dentry->d_sb), PLINK))
+ au_plink_append(inode, bcpup, au_h_dptr(cpg.dentry, bcpup));
@@ -16242,8 +16241,8 @@ diff -urN /usr/share/empty/fs/aufs/f_op.c linux/fs/aufs/f_op.c
+};
diff -urN /usr/share/empty/fs/aufs/fsctx.c linux/fs/aufs/fsctx.c
--- /usr/share/empty/fs/aufs/fsctx.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/fsctx.c 2024-11-18 12:46:45.636363225 +0100
-@@ -0,0 +1,1243 @@
++++ linux/fs/aufs/fsctx.c 2025-01-20 14:58:10.219986000 +0100
+@@ -0,0 +1,1244 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2022 Junjiro R. Okajima
@@ -16341,7 +16340,8 @@ diff -urN /usr/share/empty/fs/aufs/fsctx.c linux/fs/aufs/fsctx.c
+out:
+ inode_unlock(inode);
+ err = cvt_err(err);
-+ AuTraceErr(err);
++ if (unlikely(err))
++ pr_err("remount err %d\n", err);
+
+ return err;
+}
@@ -18339,7 +18339,7 @@ diff -urN /usr/share/empty/fs/aufs/hfsplus.c linux/fs/aufs/hfsplus.c
+}
diff -urN /usr/share/empty/fs/aufs/hnotify.c linux/fs/aufs/hnotify.c
--- /usr/share/empty/fs/aufs/hnotify.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/hnotify.c 2024-11-10 01:09:28.606384527 +0100
++++ linux/fs/aufs/hnotify.c 2025-01-20 14:58:10.219986000 +0100
@@ -0,0 +1,715 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -18662,7 +18662,7 @@ diff -urN /usr/share/empty/fs/aufs/hnotify.c linux/fs/aufs/hnotify.c
+ && a->inode
+ && a->h_inode) {
+ inode_lock_shared_nested(a->h_inode, AuLsc_I_CHILD);
-+ if (!a->h_inode->i_nlink
++ if (!vfsub_inode_nlink(a->h_inode, AU_I_BRANCH)
+ && !(a->h_inode->i_state & I_LINKABLE))
+ hn_xino(a->inode, a->h_inode); /* ignore this error */
+ inode_unlock_shared(a->h_inode);
@@ -18976,7 +18976,7 @@ diff -urN /usr/share/empty/fs/aufs/hnotify.c linux/fs/aufs/hnotify.c
+
+ /* NFS fires the event for silly-renamed one from kworker */
+ f = 0;
-+ if (!dir->i_nlink
++ if (!vfsub_inode_nlink(dir, AU_I_AUFS)
+ || (au_test_nfs(h_dir->i_sb) && (mask & FS_DELETE)))
+ f = AuWkq_NEST;
+ err = au_wkq_nowait(au_hn_bh, args, dir->i_sb, f);
@@ -19058,8 +19058,8 @@ diff -urN /usr/share/empty/fs/aufs/hnotify.c linux/fs/aufs/hnotify.c
+}
diff -urN /usr/share/empty/fs/aufs/iinfo.c linux/fs/aufs/iinfo.c
--- /usr/share/empty/fs/aufs/iinfo.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/iinfo.c 2022-11-05 23:02:18.965889284 +0100
-@@ -0,0 +1,286 @@
++++ linux/fs/aufs/iinfo.c 2025-01-20 14:58:10.219986000 +0100
+@@ -0,0 +1,287 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -19209,7 +19209,7 @@ diff -urN /usr/share/empty/fs/aufs/iinfo.c linux/fs/aufs/iinfo.c
+
+ h_i = au_hinode(iinfo, bindex)->hi_inode;
+ if (h_i
-+ && !h_i->i_nlink
++ && !vfsub_inode_nlink(h_i, AU_I_BRANCH)
+ && !(h_i->i_state & I_LINKABLE))
+ au_set_h_iptr(inode, bindex, NULL, 0);
+ }
@@ -19242,6 +19242,7 @@ diff -urN /usr/share/empty/fs/aufs/iinfo.c linux/fs/aufs/iinfo.c
+ spin_lock_init(&iinfo->ii_generation.ig_spin);
+ au_rw_init(&iinfo->ii_rwsem);
+ inode_init_once(&c->vfs_inode);
++ spin_lock_init(&c->nlink_spin);
+}
+
+void au_hinode_init(struct au_hinode *hinode)
@@ -19309,7 +19310,7 @@ diff -urN /usr/share/empty/fs/aufs/iinfo.c linux/fs/aufs/iinfo.c
+ struct au_hinode *hi;
+ struct super_block *sb;
+ aufs_bindex_t bindex, bbot;
-+ const unsigned char unlinked = !inode->i_nlink;
++ const unsigned char unlinked = !vfsub_inode_nlink(inode, AU_I_AUFS);
+
+ AuDebugOn(au_is_bad_inode(inode));
+
@@ -19348,8 +19349,8 @@ diff -urN /usr/share/empty/fs/aufs/iinfo.c linux/fs/aufs/iinfo.c
+}
diff -urN /usr/share/empty/fs/aufs/inode.c linux/fs/aufs/inode.c
--- /usr/share/empty/fs/aufs/inode.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/inode.c 2024-11-18 12:46:45.636363225 +0100
-@@ -0,0 +1,531 @@
++++ linux/fs/aufs/inode.c 2025-01-20 14:58:10.219986000 +0100
+@@ -0,0 +1,532 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -19736,7 +19737,7 @@ diff -urN /usr/share/empty/fs/aufs/inode.c linux/fs/aufs/inode.c
+ h_dentry = au_h_dptr(dentry, btop);
+ h_inode = d_inode(h_dentry);
+ h_ino = h_inode->i_ino;
-+ hlinked = !d_is_dir(h_dentry) && h_inode->i_nlink > 1;
++ hlinked = !d_is_dir(h_dentry) && vfsub_inode_nlink(h_inode, AU_I_BRANCH) > 1;
+
+new_ino:
+ /*
@@ -19789,7 +19790,8 @@ diff -urN /usr/share/empty/fs/aufs/inode.c linux/fs/aufs/inode.c
+ au_xino_write(sb, btop, h_ino, /*ino*/0);
+ /* ignore this error */
+ goto out_iput;
-+ } else if (!must_new && !IS_DEADDIR(inode) && inode->i_nlink) {
++ } else if (!must_new && !IS_DEADDIR(inode)
++ && vfsub_inode_nlink(inode, AU_I_AUFS)) {
+ /*
+ * horrible race condition between lookup, readdir and copyup
+ * (or something).
@@ -19883,8 +19885,8 @@ diff -urN /usr/share/empty/fs/aufs/inode.c linux/fs/aufs/inode.c
+}
diff -urN /usr/share/empty/fs/aufs/inode.h linux/fs/aufs/inode.h
--- /usr/share/empty/fs/aufs/inode.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/inode.h 2024-11-10 01:09:28.606384527 +0100
-@@ -0,0 +1,707 @@
++++ linux/fs/aufs/inode.h 2025-01-20 14:58:10.219986000 +0100
+@@ -0,0 +1,727 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -19913,6 +19915,7 @@ diff -urN /usr/share/empty/fs/aufs/inode.h linux/fs/aufs/inode.h
+#ifdef __KERNEL__
+
+#include <linux/fsnotify.h>
++#include "fstype.h"
+#include "rwsem.h"
+
+struct vfsmount;
@@ -19967,6 +19970,7 @@ diff -urN /usr/share/empty/fs/aufs/inode.h linux/fs/aufs/inode.h
+struct au_icntnr {
+ struct au_iinfo iinfo;
+ struct inode vfs_inode;
++ spinlock_t nlink_spin; /* protects vfs_inode.i_nlink */
+ struct hlist_bl_node plink;
+ struct rcu_head rcu;
+} ____cacheline_aligned_in_smp;
@@ -20012,6 +20016,24 @@ diff -urN /usr/share/empty/fs/aufs/inode.h linux/fs/aufs/inode.h
+ return &(container_of(inode, struct au_icntnr, vfs_inode)->iinfo);
+}
+
++static inline void au_nlink_lock(struct inode *inode)
++{
++ spinlock_t *spin;
++
++ AuDebugOn(!au_test_aufs(inode->i_sb));
++ AuDebugOn(is_bad_inode(inode));
++ spin = &(container_of(inode, struct au_icntnr, vfs_inode)->nlink_spin);
++ spin_lock(spin);
++}
++
++static inline void au_nlink_unlock(struct inode *inode)
++{
++ spinlock_t *spin;
++
++ spin = &(container_of(inode, struct au_icntnr, vfs_inode)->nlink_spin);
++ spin_unlock(spin);
++}
++
+/* ---------------------------------------------------------------------- */
+
+/* inode.c */
@@ -20818,7 +20840,7 @@ diff -urN /usr/share/empty/fs/aufs/ioctl.c linux/fs/aufs/ioctl.c
+#endif
diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
--- /usr/share/empty/fs/aufs/i_op_add.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/i_op_add.c 2024-11-18 12:46:45.636363225 +0100
++++ linux/fs/aufs/i_op_add.c 2025-01-20 14:58:10.219986000 +0100
@@ -0,0 +1,971 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -20945,7 +20967,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
+ if (unlikely(d_is_negative(h_dentry)))
+ goto out;
+ h_inode = d_inode(h_dentry);
-+ if (unlikely(!h_inode->i_nlink))
++ if (unlikely(!vfsub_inode_nlink(h_inode, AU_I_BRANCH)))
+ goto out;
+
+ h_mode = h_inode->i_mode;
@@ -21326,7 +21348,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
+ goto out_h_file;
+ }
+
-+ au_init_nlink(inode, 1);
++ vfsub_inode_nlink_init(inode, 1);
+ d_tmpfile(file, inode);
+ au_di(dentry)->di_tmpfile = 1;
+ get_file(h_file);
@@ -21431,7 +21453,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
+ inode = d_inode(src_dentry);
+ if (au_ibtop(inode) <= a->bdst)
+ h_inode = au_h_iptr(inode, a->bdst);
-+ if (!h_inode || !h_inode->i_nlink) {
++ if (!h_inode || !vfsub_inode_nlink(h_inode, AU_I_BRANCH)) {
+ /* copyup src_dentry as the name of dentry. */
+ bbot = au_dbbot(dentry);
+ if (bbot < a->bsrc)
@@ -21644,7 +21666,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
+
+ au_dir_ts(dir, a->bdst);
+ inode_inc_iversion(dir);
-+ inc_nlink(inode);
++ vfsub_inc_nlink(inode);
+ inode_set_ctime_to_ts(inode, inode_get_ctime(dir));
+ d_instantiate(dentry, au_igrab(inode));
+ if (d_unhashed(a->h_path.dentry))
@@ -21749,7 +21771,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
+
+ err = epilog(dir, bindex, wh_dentry, dentry);
+ if (!err) {
-+ inc_nlink(dir);
++ vfsub_inc_nlink(dir);
+ goto out_unpin; /* success */
+ }
+
@@ -21793,8 +21815,8 @@ diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
+}
diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
--- /usr/share/empty/fs/aufs/i_op.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/i_op.c 2024-11-18 12:46:45.636363225 +0100
-@@ -0,0 +1,1520 @@
++++ linux/fs/aufs/i_op.c 2025-01-20 14:58:10.219986000 +0100
+@@ -0,0 +1,1522 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -22425,7 +22447,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
+ continue;
+ if (d_is_positive(h_d[i])) {
+ h_i = d_inode(h_d[i]);
-+ err = !h_i->i_nlink;
++ err = !vfsub_inode_nlink(h_i, AU_I_BRANCH);
+ }
+ }
+
@@ -22435,7 +22457,13 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
+
+static void au_pin_hdir_set_owner(struct au_pin *p, struct task_struct *task)
+{
++ AuRwMustWriteLock(&p->hdir->hi_inode->i_rwsem);
++#ifndef CONFIG_PREEMPT_RT
+ atomic_long_set(&p->hdir->hi_inode->i_rwsem.owner, (long)task);
++#else
++ p->hdir->hi_inode->i_rwsem.rwbase.rtmutex.owner = task;
++ smp_mb();
++#endif
+}
+
+void au_pin_hdir_acquire_nest(struct au_pin *p)
@@ -22970,12 +22998,11 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
+
+ au_cpup_attr_nlink(inode, /*force*/0);
+ if (S_ISDIR(inode->i_mode)) {
-+ n = inode->i_nlink;
++ n = vfsub_inode_nlink(inode, AU_I_AUFS);
+ n -= nlink;
+ n += st->nlink;
-+ smp_mb(); /* for i_nlink */
+ /* 0 can happen */
-+ au_set_nlink(inode, n);
++ vfsub_set_nlink(inode, n);
+ }
+
+ spin_lock(&inode->i_lock);
@@ -23090,17 +23117,14 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
+ goto out_fill; /* pretending success */
+
+ positive = d_is_positive(h_path.dentry);
-+ if (positive) {
++ if (positive)
+ /* no vfsub version */
-+ if (query & AT_GETATTR_NOSEC)
-+ err = vfs_getattr_nosec(&h_path, st, request, query);
-+ else
-+ err = vfs_getattr(&h_path, st, request, query);
-+ }
++ err = vfs_getattr_nosec(&h_path, st, request, query);
+ if (!err) {
+ if (positive)
+ au_refresh_iattr(inode, st,
-+ d_inode(h_path.dentry)->i_nlink);
++ vfsub_inode_nlink(d_inode(h_path.dentry),
++ AU_I_BRANCH));
+ goto out_fill; /* success */
+ }
+ AuTraceErr(err);
@@ -23317,7 +23341,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
+};
diff -urN /usr/share/empty/fs/aufs/i_op_del.c linux/fs/aufs/i_op_del.c
--- /usr/share/empty/fs/aufs/i_op_del.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/i_op_del.c 2023-10-31 09:31:04.199880750 +0100
++++ linux/fs/aufs/i_op_del.c 2025-01-20 14:58:10.219986000 +0100
@@ -0,0 +1,523 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -23426,7 +23450,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_del.c linux/fs/aufs/i_op_del.c
+ if (unlikely(d_is_negative(h_dentry)))
+ goto out;
+ h_inode = d_inode(h_dentry);
-+ if (unlikely(!h_inode->i_nlink))
++ if (unlikely(!vfsub_inode_nlink(h_inode, AU_I_BRANCH)))
+ goto out;
+
+ h_mode = h_inode->i_mode;
@@ -23844,7 +23868,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_del.c linux/fs/aufs/i_op_del.c
+}
diff -urN /usr/share/empty/fs/aufs/i_op_ren.c linux/fs/aufs/i_op_ren.c
--- /usr/share/empty/fs/aufs/i_op_ren.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/i_op_ren.c 2024-11-10 01:09:28.606384527 +0100
++++ linux/fs/aufs/i_op_ren.c 2025-01-20 14:58:10.219986000 +0100
@@ -0,0 +1,1264 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -24499,7 +24523,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_ren.c linux/fs/aufs/i_op_ren.c
+ if (unlikely(d_is_negative(a->dst_h_dentry)))
+ goto out;
+ h_inode = d_inode(a->dst_h_dentry);
-+ if (h_inode->i_nlink)
++ if (vfsub_inode_nlink(h_inode, AU_I_BRANCH))
+ err = au_may_del(a->dst_dentry, a->btgt,
+ a->dst_h_parent, isdir);
+ }
@@ -24896,7 +24920,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_ren.c linux/fs/aufs/i_op_ren.c
+ * If it is a dir, VFS unhash it before this
+ * function. It means we cannot rely upon d_unhashed().
+ */
-+ if (unlikely(!a->dst_inode->i_nlink))
++ if (unlikely(!vfsub_inode_nlink(a->dst_inode, AU_I_AUFS)))
+ goto out_unlock;
+ if (!au_ftest_ren(a->auren_flags, ISDIR_DST)) {
+ err = au_d_hashed_positive(a->dst_dentry);
@@ -25803,8 +25827,8 @@ diff -urN /usr/share/empty/fs/aufs/Makefile linux/fs/aufs/Makefile
+aufs-$(CONFIG_AUFS_MAGIC_SYSRQ) += sysrq.o
diff -urN /usr/share/empty/fs/aufs/module.c linux/fs/aufs/module.c
--- /usr/share/empty/fs/aufs/module.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/module.c 2022-11-05 23:02:18.965889284 +0100
-@@ -0,0 +1,273 @@
++++ linux/fs/aufs/module.c 2025-01-20 14:58:10.219986000 +0100
+@@ -0,0 +1,275 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -25940,7 +25964,8 @@ diff -urN /usr/share/empty/fs/aufs/module.c linux/fs/aufs/module.c
+ * iterate_supers_type() doesn't protect us from
+ * remounting (branch management)
+ */
-+struct hlist_bl_head au_sbilist;
++struct au_rwsem au_sbilist_lock;
++struct hlist_head au_sbilist;
+#endif
+
+/*
@@ -26074,6 +26099,7 @@ diff -urN /usr/share/empty/fs/aufs/module.c linux/fs/aufs/module.c
+ dbgaufs_fin();
+ sysaufs_fin();
+ au_dy_fin();
++ au_sbilist_fin();
+}
+
+module_init(aufs_init);
@@ -26264,8 +26290,8 @@ diff -urN /usr/share/empty/fs/aufs/module.h linux/fs/aufs/module.h
+#endif /* __AUFS_MODULE_H__ */
diff -urN /usr/share/empty/fs/aufs/mvdown.c linux/fs/aufs/mvdown.c
--- /usr/share/empty/fs/aufs/mvdown.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/mvdown.c 2024-11-10 01:09:28.606384527 +0100
-@@ -0,0 +1,713 @@
++++ linux/fs/aufs/mvdown.c 2025-01-20 14:58:10.219986000 +0100
+@@ -0,0 +1,714 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2011-2022 Junjiro R. Okajima
@@ -26675,15 +26701,16 @@ diff -urN /usr/share/empty/fs/aufs/mvdown.c linux/fs/aufs/mvdown.c
+ && atomic_read(&a->inode->i_count) == 1
+ /* && a->mvd_h_src_inode->i_nlink == 1 */
+ && (!plinked || !au_plink_test(a->inode))
-+ && a->inode->i_nlink == 1)
++ && vfsub_inode_nlink(a->inode, AU_I_AUFS) == 1)
+ goto out;
+
+ err = -EBUSY;
+ AU_MVD_PR(dmsg,
+ "b%d, d{b%d, c%d?}, i{c%d?, l%u}, hi{l%u}, p{%d, %d}\n",
+ a->mvd_bsrc, au_dbtop(a->dentry), au_dcount(a->dentry),
-+ atomic_read(&a->inode->i_count), a->inode->i_nlink,
-+ a->mvd_h_src_inode->i_nlink,
++ atomic_read(&a->inode->i_count),
++ vfsub_inode_nlink(a->inode, AU_I_AUFS),
++ vfsub_inode_nlink(a->mvd_h_src_inode, AU_I_BRANCH),
+ plinked, plinked ? au_plink_test(a->inode) : 0);
+
+out:
@@ -28970,8 +28997,8 @@ diff -urN /usr/share/empty/fs/aufs/posix_acl.c linux/fs/aufs/posix_acl.c
+}
diff -urN /usr/share/empty/fs/aufs/procfs.c linux/fs/aufs/procfs.c
--- /usr/share/empty/fs/aufs/procfs.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/procfs.c 2022-11-05 23:02:18.969222617 +0100
-@@ -0,0 +1,170 @@
++++ linux/fs/aufs/procfs.c 2025-01-20 14:58:10.219986000 +0100
+@@ -0,0 +1,168 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2010-2022 Junjiro R. Okajima
@@ -29024,22 +29051,20 @@ diff -urN /usr/share/empty/fs/aufs/procfs.c linux/fs/aufs/procfs.c
+ int err;
+ struct super_block *sb;
+ struct au_sbinfo *sbinfo;
-+ struct hlist_bl_node *pos;
+
+ err = -EBUSY;
+ if (unlikely(file->private_data))
+ goto out;
+
+ sb = NULL;
-+ /* don't use au_sbilist_lock() here */
-+ hlist_bl_lock(&au_sbilist);
-+ hlist_bl_for_each_entry(sbinfo, pos, &au_sbilist, si_list)
++ au_sbilist_read_lock();
++ hlist_for_each_entry(sbinfo, &au_sbilist, si_list)
+ if (id == sysaufs_si_id(sbinfo)) {
+ if (kobject_get_unless_zero(&sbinfo->si_kobj))
+ sb = sbinfo->si_sb;
+ break;
+ }
-+ hlist_bl_unlock(&au_sbilist);
++ au_sbilist_read_unlock();
+
+ err = -EINVAL;
+ if (unlikely(!sb))
@@ -29532,8 +29557,8 @@ diff -urN /usr/share/empty/fs/aufs/rdu.c linux/fs/aufs/rdu.c
+#endif
diff -urN /usr/share/empty/fs/aufs/rwsem.h linux/fs/aufs/rwsem.h
--- /usr/share/empty/fs/aufs/rwsem.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/rwsem.h 2024-10-15 11:25:59.893110313 +0200
-@@ -0,0 +1,85 @@
++++ linux/fs/aufs/rwsem.h 2025-01-20 14:58:10.219986000 +0100
+@@ -0,0 +1,89 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -29567,7 +29592,11 @@ diff -urN /usr/share/empty/fs/aufs/rwsem.h linux/fs/aufs/rwsem.h
+#define au_rwsem rw_semaphore
+
+/* to debug easier, do not make them inlined functions */
++#ifndef CONFIG_PREEMPT_RT
+#define AuRwMustNoWaiters(rw) AuDebugOn(rwsem_is_contended(rw))
++#else
++#define AuRwMustNoWaiters(rw) do {} while(0)
++#endif
+
+#ifdef CONFIG_LOCKDEP
+/* rwsem_is_locked() is unusable */
@@ -29941,8 +29970,8 @@ diff -urN /usr/share/empty/fs/aufs/sbinfo.c linux/fs/aufs/sbinfo.c
+}
diff -urN /usr/share/empty/fs/aufs/super.c linux/fs/aufs/super.c
--- /usr/share/empty/fs/aufs/super.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/super.c 2024-11-18 12:46:45.636363225 +0100
-@@ -0,0 +1,871 @@
++++ linux/fs/aufs/super.c 2025-01-20 14:58:10.219986000 +0100
+@@ -0,0 +1,872 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -30736,7 +30765,7 @@ diff -urN /usr/share/empty/fs/aufs/super.c linux/fs/aufs/super.c
+ inode->i_op = aufs_iop + AuIop_DIR; /* with getattr by default */
+ inode->i_fop = &aufs_dir_fop;
+ inode->i_mode = S_IFDIR;
-+ au_init_nlink(inode, 2);
++ vfsub_inode_nlink_init(inode, 2);
+ unlock_new_inode(inode);
+
+ root = d_make_root(inode);
@@ -30805,6 +30834,7 @@ diff -urN /usr/share/empty/fs/aufs/super.c linux/fs/aufs/super.c
+ .name = AUFS_FSTYPE,
+ /* a race between rename and others */
+ .fs_flags = FS_RENAME_DOES_D_MOVE
++ | FS_MGTIME
+ /* untested */
+ /*| FS_ALLOW_IDMAP*/
+ ,
@@ -30816,8 +30846,8 @@ diff -urN /usr/share/empty/fs/aufs/super.c linux/fs/aufs/super.c
+};
diff -urN /usr/share/empty/fs/aufs/super.h linux/fs/aufs/super.h
--- /usr/share/empty/fs/aufs/super.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/super.h 2024-11-10 01:09:28.609717860 +0100
-@@ -0,0 +1,592 @@
++++ linux/fs/aufs/super.h 2025-01-20 14:58:10.219986000 +0100
+@@ -0,0 +1,618 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -31016,7 +31046,7 @@ diff -urN /usr/share/empty/fs/aufs/super.h linux/fs/aufs/super.h
+#endif
+
+#ifdef CONFIG_AUFS_SBILIST
-+ struct hlist_bl_node si_list;
++ struct hlist_node si_list;
+#endif
+
+ /* dirty, necessary for unmounting, sysfs and sysrq */
@@ -31196,45 +31226,71 @@ diff -urN /usr/share/empty/fs/aufs/super.h linux/fs/aufs/super.h
+
+#ifdef CONFIG_AUFS_SBILIST
+/* module.c */
-+extern struct hlist_bl_head au_sbilist;
++extern struct au_rwsem au_sbilist_lock;
++extern struct hlist_head au_sbilist;
+
+static inline void au_sbilist_init(void)
+{
-+ INIT_HLIST_BL_HEAD(&au_sbilist);
++ au_rw_init(&au_sbilist_lock);
++ INIT_HLIST_HEAD(&au_sbilist);
++}
++
++static inline void au_sbilist_fin(void)
++{
++ AuRwDestroy(&au_sbilist_lock);
+}
+
+static inline void au_sbilist_add(struct super_block *sb)
+{
-+ au_hbl_add(&au_sbi(sb)->si_list, &au_sbilist);
++ au_rw_write_lock(&au_sbilist_lock);
++ hlist_add_head(&au_sbi(sb)->si_list, &au_sbilist);
++ au_rw_write_unlock(&au_sbilist_lock);
+}
+
+static inline void au_sbilist_del(struct super_block *sb)
+{
-+ au_hbl_del(&au_sbi(sb)->si_list, &au_sbilist);
++ au_rw_write_lock(&au_sbilist_lock);
++ hlist_del(&au_sbi(sb)->si_list);
++ au_rw_write_unlock(&au_sbilist_lock);
+}
+
+#ifdef CONFIG_AUFS_MAGIC_SYSRQ
-+static inline void au_sbilist_lock(void)
++static inline void au_sbilist_write_lock(void)
+{
-+ hlist_bl_lock(&au_sbilist);
++ au_rw_write_lock(&au_sbilist_lock);
+}
+
-+static inline void au_sbilist_unlock(void)
++static inline void au_sbilist_write_unlock(void)
+{
-+ hlist_bl_unlock(&au_sbilist);
++ au_rw_write_unlock(&au_sbilist_lock);
++}
++
++static inline void au_sbilist_read_lock(void)
++{
++ au_rw_read_lock(&au_sbilist_lock);
++}
++
++static inline void au_sbilist_read_unlock(void)
++{
++ au_rw_read_unlock(&au_sbilist_lock);
+}
+#define AuGFP_SBILIST GFP_ATOMIC
+#else
-+AuStubVoid(au_sbilist_lock, void)
-+AuStubVoid(au_sbilist_unlock, void)
++AuStubVoid(au_sbilist_write_lock, void)
++AuStubVoid(au_sbilist_write_unlock, void)
++AuStubVoid(au_sbilist_read_lock, void)
++AuStubVoid(au_sbilist_read_unlock, void)
+#define AuGFP_SBILIST GFP_NOFS
+#endif /* CONFIG_AUFS_MAGIC_SYSRQ */
+#else
+AuStubVoid(au_sbilist_init, void)
++AuStubVoid(au_sbilist_fin, void)
+AuStubVoid(au_sbilist_add, struct super_block *sb)
+AuStubVoid(au_sbilist_del, struct super_block *sb)
-+AuStubVoid(au_sbilist_lock, void)
-+AuStubVoid(au_sbilist_unlock, void)
++AuStubVoid(au_sbilist_write_lock, void)
++AuStubVoid(au_sbilist_write_unlock, void)
++AuStubVoid(au_sbilist_read_lock, void)
++AuStubVoid(au_sbilist_read_unlock, void)
+#define AuGFP_SBILIST GFP_NOFS
+#endif
+
@@ -31994,8 +32050,8 @@ diff -urN /usr/share/empty/fs/aufs/sysfs.c linux/fs/aufs/sysfs.c
+}
diff -urN /usr/share/empty/fs/aufs/sysrq.c linux/fs/aufs/sysrq.c
--- /usr/share/empty/fs/aufs/sysrq.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/sysrq.c 2023-10-31 09:31:04.199880750 +0100
-@@ -0,0 +1,149 @@
++++ linux/fs/aufs/sysrq.c 2025-01-20 14:58:10.219986000 +0100
+@@ -0,0 +1,157 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -32101,17 +32157,25 @@ diff -urN /usr/share/empty/fs/aufs/sysrq.c linux/fs/aufs/sysrq.c
+module_param_named(sysrq, aufs_sysrq_key, charp, 0444);
+MODULE_PARM_DESC(sysrq, "MagicSysRq key for " AUFS_NAME);
+
-+static void au_sysrq(u8 key __maybe_unused)
++static void au_sysrq_work_fn(struct work_struct *wk __maybe_unused)
+{
+ struct au_sbinfo *sbinfo;
-+ struct hlist_bl_node *pos;
+
-+ lockdep_off();
-+ au_sbilist_lock();
-+ hlist_bl_for_each_entry(sbinfo, pos, &au_sbilist, si_list)
++ au_sbilist_read_lock();
++ hlist_for_each_entry(sbinfo, &au_sbilist, si_list)
+ sysrq_sb(sbinfo->si_sb);
-+ au_sbilist_unlock();
-+ lockdep_on();
++ au_sbilist_read_unlock();
++
++ module_put(THIS_MODULE);
++}
++
++static DECLARE_WORK(au_sysrq_work, au_sysrq_work_fn);
++
++static void au_sysrq(u8 key __maybe_unused)
++{
++ /* au_wkq is too much here */
++ __module_get(THIS_MODULE);
++ schedule_work(&au_sysrq_work);
+}
+
+static struct sysrq_key_op au_sysrq_op = {
@@ -32147,7 +32211,7 @@ diff -urN /usr/share/empty/fs/aufs/sysrq.c linux/fs/aufs/sysrq.c
+}
diff -urN /usr/share/empty/fs/aufs/vdir.c linux/fs/aufs/vdir.c
--- /usr/share/empty/fs/aufs/vdir.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/vdir.c 2024-11-18 12:46:45.636363225 +0100
++++ linux/fs/aufs/vdir.c 2025-01-20 14:58:09.003319334 +0100
@@ -0,0 +1,896 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -33047,8 +33111,8 @@ diff -urN /usr/share/empty/fs/aufs/vdir.c linux/fs/aufs/vdir.c
+}
diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
--- /usr/share/empty/fs/aufs/vfsub.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/vfsub.c 2024-11-10 01:09:28.609717860 +0100
-@@ -0,0 +1,919 @@
++++ linux/fs/aufs/vfsub.c 2025-01-20 14:58:10.219986000 +0100
+@@ -0,0 +1,965 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -33102,6 +33166,52 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
+
+/* ---------------------------------------------------------------------- */
+
++unsigned int vfsub_inode_nlink_aufs(struct inode *inode)
++{
++ unsigned int nlink;
++
++ au_nlink_lock(inode);
++ nlink = inode->i_nlink;
++ au_nlink_unlock(inode);
++
++ return nlink;
++}
++
++void vfsub_inc_nlink(struct inode *inode)
++{
++ au_nlink_lock(inode);
++ inc_nlink(inode);
++ au_nlink_unlock(inode);
++}
++
++void vfsub_drop_nlink(struct inode *inode)
++{
++ au_nlink_lock(inode);
++ AuDebugOn(!inode->i_nlink);
++ drop_nlink(inode);
++ au_nlink_unlock(inode);
++}
++
++void vfsub_clear_nlink(struct inode *inode)
++{
++ au_nlink_lock(inode);
++ AuDebugOn(!inode->i_nlink);
++ clear_nlink(inode);
++ au_nlink_unlock(inode);
++}
++
++void vfsub_set_nlink(struct inode *inode, unsigned int nlink)
++{
++ /*
++ * stop setting the value equal to the current one, in order to stop
++ * a useless warning from vfs:destroy_inode() about sb->s_remove_count.
++ */
++ au_nlink_lock(inode);
++ if (nlink != inode->i_nlink)
++ set_nlink(inode, nlink);
++ au_nlink_unlock(inode);
++}
++
+int vfsub_update_h_iattr(struct path *h_path, int *did)
+{
+ int err;
@@ -33406,7 +33516,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
+ const unsigned int link_max = UINT_MAX >> 1; /* rough margin */
+
+ if (!au_test_fs_no_limit_nlink(inode->i_sb)
-+ || inode->i_nlink < link_max)
++ || vfsub_inode_nlink(inode, AU_I_BRANCH) < link_max)
+ return 0;
+ return -EMLINK;
+}
@@ -33970,8 +34080,8 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
+}
diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h
--- /usr/share/empty/fs/aufs/vfsub.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/vfsub.h 2024-11-18 12:46:45.636363225 +0100
-@@ -0,0 +1,418 @@
++++ linux/fs/aufs/vfsub.h 2025-01-20 14:58:10.219986000 +0100
+@@ -0,0 +1,441 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -34004,6 +34114,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h
+#include <linux/posix_acl.h>
+#include <linux/xattr.h>
+#include "debug.h"
++#include "fstype.h"
+
+/* copied from linux/fs/internal.h */
+/* todo: BAD approach!! */
@@ -34030,33 +34141,55 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h
+
+/* ---------------------------------------------------------------------- */
+
-+static inline void au_set_nlink(struct inode *inode, unsigned int nlink)
++unsigned int vfsub_inode_nlink_aufs(struct inode *inode);
++
++enum au_inode_type {
++ AU_I_AUFS,
++ AU_I_BRANCH,
++ AU_I_UNKNOWN
++};
++
++static inline unsigned int vfsub_inode_nlink(struct inode *inode,
++ enum au_inode_type type)
+{
-+ /*
-+ * stop setting the value equal to the current one, in order to stop
-+ * a useless warning from vfs:destroy_inode() about sb->s_remove_count.
-+ */
-+ if (nlink != inode->i_nlink)
-+ set_nlink(inode, nlink);
++ unsigned int nlink;
++
++ switch (type) {
++ case AU_I_AUFS:
++ nlink = vfsub_inode_nlink_aufs(inode);
++ break;
++ case AU_I_BRANCH: /* aufs cannot be a branch of another aufs mount */
++ AuDebugOn(au_test_aufs(inode->i_sb));
++ nlink = inode->i_nlink;
++ break;
++ case AU_I_UNKNOWN:
++ if (au_test_aufs(inode->i_sb))
++ nlink = vfsub_inode_nlink_aufs(inode);
++ else
++ nlink = inode->i_nlink;
++ break;
++ };
++
++ return nlink;
+}
+
-+static inline void au_init_nlink(struct inode *inode, unsigned int nlink)
++void vfsub_inc_nlink(struct inode *inode);
++void vfsub_drop_nlink(struct inode *inode);
++void vfsub_clear_nlink(struct inode *inode);
++void vfsub_set_nlink(struct inode *inode, unsigned int nlink);
++
++static inline void vfsub_inode_nlink_init(struct inode *inode,
++ unsigned int nlink)
+{
+ /* to ignore sb->s_remove_count, do not use set_nlink() */
+ inode->__i_nlink = nlink;
+}
+
-+static inline void vfsub_drop_nlink(struct inode *inode)
-+{
-+ AuDebugOn(!inode->i_nlink);
-+ drop_nlink(inode);
-+}
-+
+static inline void vfsub_dead_dir(struct inode *inode)
+{
+ AuDebugOn(!S_ISDIR(inode->i_mode));
+ inode->i_flags |= S_DEAD;
-+ clear_nlink(inode);
++ vfsub_clear_nlink(inode);
+}
+
+static inline int vfsub_native_ro(struct inode *inode)
@@ -35226,7 +35359,7 @@ diff -urN /usr/share/empty/fs/aufs/wbr_policy.c linux/fs/aufs/wbr_policy.c
+};
diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
--- /usr/share/empty/fs/aufs/whout.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/whout.c 2023-10-31 09:31:04.199880750 +0100
++++ linux/fs/aufs/whout.c 2025-01-20 14:58:10.223319334 +0100
@@ -0,0 +1,1072 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -36211,10 +36344,10 @@ diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
+ inode_unlock(wh_inode);
+
+ if (!err) {
-+ h_nlink = h_dir->i_nlink;
++ h_nlink = vfsub_inode_nlink(h_dir, AU_I_BRANCH);
+ err = vfsub_rmdir(h_dir, &wh_path);
+ /* some fs doesn't change the parent nlink in some cases */
-+ h_nlink -= h_dir->i_nlink;
++ h_nlink -= vfsub_inode_nlink(h_dir, AU_I_BRANCH);
+ }
+
+ if (!err) {
@@ -37224,7 +37357,7 @@ diff -urN /usr/share/empty/fs/aufs/xattr.c linux/fs/aufs/xattr.c
+}
diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
--- /usr/share/empty/fs/aufs/xino.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/xino.c 2023-10-31 09:31:04.203214083 +0100
++++ linux/fs/aufs/xino.c 2025-01-20 14:58:10.223319334 +0100
@@ -0,0 +1,1926 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -37425,7 +37558,7 @@ diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
+ h_dir = d_inode(h_parent);
+ inode = file_inode(file);
+ /* no delegation since it is just created */
-+ if (inode->i_nlink)
++ if (vfsub_inode_nlink(inode, AU_I_BRANCH))
+ err = vfsub_unlink(h_dir, &file->f_path, /*delegated*/NULL,
+ /*force*/0);
+ inode_unlock(h_dir);
@@ -38326,7 +38459,7 @@ diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
+ struct super_block *sb;
+ struct au_sbinfo *sbinfo;
+
-+ AuDebugOn(inode->i_nlink);
++ AuDebugOn(vfsub_inode_nlink(inode, AU_I_AUFS));
+
+ sb = inode->i_sb;
+ xib_calc_bit(inode->i_ino, &pindex, &bit);
@@ -39015,7 +39148,7 @@ diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
+ for (; bindex <= bbot; bindex++, hi++) {
+ h_inode = hi->hi_inode;
+ if (!h_inode
-+ || (!unlinked && h_inode->i_nlink))
++ || (!unlinked && vfsub_inode_nlink(h_inode, AU_I_BRANCH)))
+ continue;
+
+ /* inode may not be revalidated */
@@ -39154,7 +39287,7 @@ diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
+}
diff -urN /usr/share/empty/include/uapi/linux/aufs_type.h linux/include/uapi/linux/aufs_type.h
--- /usr/share/empty/include/uapi/linux/aufs_type.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/include/uapi/linux/aufs_type.h 2024-11-18 12:46:45.636363225 +0100
++++ linux/include/uapi/linux/aufs_type.h 2025-01-20 14:58:10.223319334 +0100
@@ -0,0 +1,452 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
@@ -39198,7 +39331,7 @@ diff -urN /usr/share/empty/include/uapi/linux/aufs_type.h linux/include/uapi/lin
+#include <limits.h>
+#endif /* __KERNEL__ */
+
-+#define AUFS_VERSION "6.x-rcN-20241118"
++#define AUFS_VERSION "6.x-rcN-20250106"
+
+/* todo? move this to linux-2.6.19/include/magic.h */
+#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
@@ -39612,7 +39745,7 @@ SPDX-License-Identifier: GPL-2.0
aufs6.x-rcN loopback patch
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
-index 479480f25a6c..ba3477c30e29 100644
+index 78dc1c0c6680..022d8cf26eb6 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -54,7 +54,7 @@ struct loop_device {
@@ -39694,7 +39827,7 @@ index 479480f25a6c..ba3477c30e29 100644
goto done;
}
-@@ -1039,6 +1062,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
+@@ -1038,6 +1061,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
const struct loop_config *config)
{
struct file *file = fget(config->fd);
@@ -39702,7 +39835,7 @@ index 479480f25a6c..ba3477c30e29 100644
struct address_space *mapping;
int error;
loff_t size;
-@@ -1052,6 +1076,13 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
+@@ -1051,6 +1075,13 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
/* This is safe, since we have a reference from open(). */
__module_get(THIS_MODULE);
@@ -39716,7 +39849,7 @@ index 479480f25a6c..ba3477c30e29 100644
/*
* If we don't hold exclusive handle for the device, upgrade to it
* here to avoid changing device under exclusive owner.
-@@ -1108,6 +1139,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
+@@ -1107,6 +1138,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
lo->use_dio = lo->lo_flags & LO_FLAGS_DIRECT_IO;
lo->lo_device = bdev;
lo->lo_backing_file = file;
@@ -39724,7 +39857,7 @@ index 479480f25a6c..ba3477c30e29 100644
lo->old_gfp_mask = mapping_gfp_mask(mapping);
mapping_set_gfp_mask(mapping, lo->old_gfp_mask & ~(__GFP_IO|__GFP_FS));
-@@ -1150,6 +1182,8 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
+@@ -1149,6 +1181,8 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
bd_abort_claiming(bdev, loop_configure);
out_putf:
fput(file);
@@ -39733,7 +39866,7 @@ index 479480f25a6c..ba3477c30e29 100644
/* This is safe: open() is still holding a reference. */
module_put(THIS_MODULE);
return error;
-@@ -1159,11 +1193,13 @@ static void __loop_clr_fd(struct loop_device *lo)
+@@ -1158,11 +1192,13 @@ static void __loop_clr_fd(struct loop_device *lo)
{
struct queue_limits lim;
struct file *filp;
@@ -39747,7 +39880,7 @@ index 479480f25a6c..ba3477c30e29 100644
spin_unlock_irq(&lo->lo_lock);
lo->lo_device = NULL;
-@@ -1225,6 +1261,8 @@ static void __loop_clr_fd(struct loop_device *lo)
+@@ -1224,6 +1260,8 @@ static void __loop_clr_fd(struct loop_device *lo)
* fput can take open_mutex which is usually taken before lo_mutex.
*/
fput(filp);
@@ -39816,7 +39949,7 @@ index 03d4908a6c03..34d356e181d5 100644
#endif /* __KERNEL__ */
diff --git a/fs/aufs/super.c b/fs/aufs/super.c
-index ec1cd23719fd..55cde6ac582b 100644
+index 3528a65928a0..490178f0a04f 100644
--- a/fs/aufs/super.c
+++ b/fs/aufs/super.c
@@ -758,7 +758,10 @@ const struct super_operations aufs_sop = {
@@ -39832,10 +39965,10 @@ index ec1cd23719fd..55cde6ac582b 100644
/* ---------------------------------------------------------------------- */
diff --git a/include/linux/fs.h b/include/linux/fs.h
-index 51b64b2ad82c..8c3ff295b020 100644
+index b74af4ae6dd4..5514fc9ea7bd 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -2248,6 +2248,11 @@ struct super_operations {
+@@ -2259,6 +2259,11 @@ struct super_operations {
long (*free_cached_objects)(struct super_block *,
struct shrink_control *);
void (*shutdown)(struct super_block *sb);
diff --git a/kernel-multiarch.config b/kernel-multiarch.config
index 50b93de1..d8e3c521 100644
--- a/kernel-multiarch.config
+++ b/kernel-multiarch.config
@@ -137,6 +137,7 @@ UNWINDER_ARM arm=y
UNWINDER_FRAME_POINTER arm=n i386=y x86_64=n
UNWINDER_ORC x86_64=y
VMAP_STACK all=y
+X86_BUS_LOCK_DETECT x86_64=y x86=y
X86_DEBUG_FPU all=n
X86_DECODER_SELFTEST all=n
X86_VERBOSE_BOOTUP all=n
@@ -205,6 +206,7 @@ KARMA_PARTITION all=y
EFI_PARTITION all=y
SYSV68_PARTITION all=y
CMDLINE_PARTITION all=y
+OF_PARTITION all=y
#-
#- *** FILE: certs/Kconfig ***
@@ -371,6 +373,7 @@ DRM_ACCEL_HABANALABS all=m
#- *** FILE: drivers/accel/ivpu/Kconfig ***
#-
DRM_ACCEL_IVPU all=m
+DRM_ACCEL_IVPU_DEBUG all=n
#-
#- *** FILE: drivers/accel/qaic/Kconfig ***
@@ -412,6 +415,7 @@ ACPI_DEBUGGER all=n
ACPI_SPCR_TABLE all=y
ACPI_SLEEP x86=y
ACPI_REV_OVERRIDE_POSSIBLE all=y
+ACPI_EC all=y
ACPI_EC_DEBUGFS all=m
ACPI_AC arm64=m x86=m
ACPI_BATTERY arm64=m x86=m
@@ -513,7 +517,7 @@ SATA_MOBILE_LPM_POLICY all=0
SATA_AHCI_PLATFORM all=m
AHCI_DWC all=m
AHCI_IMX all=m
-AHCI_CEVA arm=m arm64=m
+AHCI_CEVA all=m
AHCI_MVEBU arm=m
AHCI_XGENE arm64=m
AHCI_QORIQ arm=m arm64=m
@@ -592,7 +596,7 @@ PATA_NS87410 all=m sparc=n
PATA_OPTI all=m sparc=n
PATA_PCMCIA all=m
PATA_PLATFORM all=m
-PATA_OF_PLATFORM arm=m arm64=m ppc=m ppc64=m
+PATA_OF_PLATFORM all=m
PATA_QDI alpha=m i386=m
PATA_RZ1000 all=m sparc=n
PATA_WINBOND_VLB all=m sparc=n
@@ -852,7 +856,7 @@ BT_INTEL_PCIE all=m
#- *** FILE: drivers/bus/Kconfig ***
#-
BRCMSTB_GISB_ARB arm=n arm64=n
-MOXTET arm=m arm64=m
+MOXTET all=m
OMAP_OCP2SCP all=m
VEXPRESS_CONFIG arm=m arm64=y
#- file drivers/bus/fsl-mc/Kconfig goes here
@@ -950,7 +954,7 @@ HW_RANDOM_MESON arm64=m
HW_RANDOM_CAVIUM arm64=m
HW_RANDOM_EXYNOS all=m
HW_RANDOM_OPTEE arm=m arm64=m
-HW_RANDOM_CCTRNG arm=m arm64=m
+HW_RANDOM_CCTRNG all=m
HW_RANDOM_XIPHERA all=m
HW_RANDOM_ARM_SMCCC_TRNG arm=m arm64=m
HW_RANDOM_CN10K arm64=m
@@ -1007,7 +1011,7 @@ TCG_TIS_ST33ZP24_SPI all=m
#-
XILLYBUS all=m
XILLYBUS_PCIE all=m
-XILLYBUS_OF arm=m arm64=m
+XILLYBUS_OF all=m
XILLYUSB=m
#-
@@ -1018,31 +1022,31 @@ COMMON_CLK_WM831X all=m
#- file drivers/clk/versatile/Kconfig goes here
CLK_HSDK arm=n arm64=n
LMK04832=m
-COMMON_CLK_MAX77686 arm=m arm64=m
+COMMON_CLK_MAX77686 all=m
COMMON_CLK_MAX9485 all=m
-COMMON_CLK_RK808 arm=m arm64=m
+COMMON_CLK_RK808 all=m
COMMON_CLK_SCMI arm=m arm64=m
COMMON_CLK_SCPI all=m
COMMON_CLK_SI5341 all=m
COMMON_CLK_SI5351 all=m
-COMMON_CLK_SI514 arm=m arm64=m
+COMMON_CLK_SI514 all=m
COMMON_CLK_SI544 all=m
-COMMON_CLK_SI570 arm=m arm64=m
+COMMON_CLK_SI570 all=m
COMMON_CLK_CDCE706 all=m
COMMON_CLK_TPS68470 all=m
-COMMON_CLK_CDCE925 arm=m arm64=m
+COMMON_CLK_CDCE925 all=m
COMMON_CLK_CS2000_CP all=m
COMMON_CLK_LAN966X arm=n arm64=n
-COMMON_CLK_AXI_CLKGEN arm=m arm64=m
+COMMON_CLK_AXI_CLKGEN all=m
CLK_QORIQ arm=n arm64=n
COMMON_CLK_XGENE arm64=y
COMMON_CLK_PWM all=m
-COMMON_CLK_RS9_PCIE arm=m arm64=m
-COMMON_CLK_SI521XX arm=m arm64=m
-COMMON_CLK_VC3 arm=m arm64=m
-COMMON_CLK_VC5 arm=m arm64=m
-COMMON_CLK_VC7 arm=m arm64=m
-COMMON_CLK_FIXED_MMIO arm=y arm64=y
+COMMON_CLK_RS9_PCIE all=m
+COMMON_CLK_SI521XX all=m
+COMMON_CLK_VC3 all=m
+COMMON_CLK_VC5 all=m
+COMMON_CLK_VC7 all=m
+COMMON_CLK_FIXED_MMIO all=y
#- file drivers/clk/actions/Kconfig goes here
#- file drivers/clk/analogbits/Kconfig goes here
#- file drivers/clk/baikal-t1/Kconfig goes here
@@ -1144,11 +1148,16 @@ CLK_ICST arm=y arm64=y
CLK_SP810=y
CLK_VEXPRESS_OSC arm=m arm64=y
+#-
+#- *** FILE: drivers/clk/x86/Kconfig ***
+#-
+CLK_LGM_CGU all=y
+
#-
#- *** FILE: drivers/clk/xilinx/Kconfig ***
#-
XILINX_VCU all=m
-COMMON_CLK_XLNX_CLKWZRD arm=m arm64=m
+COMMON_CLK_XLNX_CLKWZRD all=m
#-
#- *** FILE: drivers/clocksource/Kconfig ***
@@ -1331,6 +1340,8 @@ CPU_FREQ_GOV_ONDEMAND all=m
CPU_FREQ_GOV_CONSERVATIVE all=m
CPU_FREQ_GOV_SCHEDUTIL all=y
#- CPU frequency scaling drivers
+CPUFREQ_DT all=m
+CPUFREQ_DT_PLATDEV all=m
#- file drivers/cpufreq/Kconfig.x86 goes here
#- file drivers/cpufreq/Kconfig.arm goes here
#- file drivers/cpufreq/Kconfig.powerpc goes here
@@ -1393,7 +1404,7 @@ CRYPTO_DEV_ROCKCHIP_DEBUG arm64=n
#- file drivers/crypto/virtio/Kconfig goes here
#- file drivers/crypto/stm32/Kconfig goes here
CRYPTO_DEV_SAFEXCEL all=m
-CRYPTO_DEV_CCREE arm=m arm64=m
+CRYPTO_DEV_CCREE all=m
#- file drivers/crypto/hisilicon/Kconfig goes here
#- file drivers/crypto/amlogic/Kconfig goes here
#- file drivers/crypto/aspeed/Kconfig goes here
@@ -1534,9 +1545,9 @@ ALTERA_MSGDMA all=m
AMBA_PL08X arm=n arm64=n
BCM_SBA_RAID arm64=m
DMA_BCM2835 arm=m arm64=m
-DW_AXI_DMAC arm=m arm64=m
+DW_AXI_DMAC all=m
FSL_DMA ppc=y ppc64=y
-FSL_EDMA arm=m arm64=m
+FSL_EDMA all=m
FSL_QDMA arm=m arm64=m
HISI_DMA arm64=m
INTEL_IDMA64 all=m
@@ -1650,8 +1661,6 @@ EDAC_PND2 all=m
EDAC_IGEN6 all=m
EDAC_PASEMI ppc64=m
EDAC_CELL ppc64=m
-EDAC_AMD8131 powerpc=m
-EDAC_AMD8111 powerpc=m
EDAC_THUNDERX arm64=m
EDAC_ARMADA_XP arm=y
EDAC_XGENE arm64=m
@@ -1715,7 +1724,6 @@ RASPBERRYPI_FIRMWARE arm=y arm64=y
FW_CFG_SYSFS all=m
FW_CFG_SYSFS_CMDLINE all=y
SYSFB_SIMPLEFB all=y
-IMX_SCMI_MISC_DRV all=m
TRUSTED_FOUNDATIONS arm=n
TURRIS_MOX_RWTM arm=m
#- file drivers/firmware/arm_ffa/Kconfig goes here
@@ -1800,7 +1808,7 @@ GOOGLE_VPD all=m
#-
#- *** FILE: drivers/firmware/imx/Kconfig ***
#-
-IMX_SCMI_MISC_DRV arm=m arm64=m
+IMX_SCMI_MISC_DRV all=m
#-
#- *** FILE: drivers/firmware/meson/Kconfig ***
@@ -1822,19 +1830,19 @@ ARM_SMCCC_SOC_ID arm=y arm64=y
#-
FPGA all=m
ALTERA_PR_IP_CORE all=m
-ALTERA_PR_IP_CORE_PLAT arm=m arm64=m
+ALTERA_PR_IP_CORE_PLAT all=m
FPGA_MGR_ALTERA_PS_SPI all=m
FPGA_MGR_ALTERA_CVP all=m
FPGA_MGR_ZYNQ_FPGA all=m
FPGA_MGR_XILINX_SELECTMAP all=m
FPGA_MGR_XILINX_SPI all=m
-FPGA_MGR_ICE40_SPI arm=m arm64=m
+FPGA_MGR_ICE40_SPI all=m
FPGA_MGR_MACHXO2_SPI all=m
FPGA_BRIDGE all=m
ALTERA_FREEZE_BRIDGE all=m
XILINX_PR_DECOUPLER all=m
FPGA_REGION all=m
-OF_FPGA_REGION arm=m arm64=m
+OF_FPGA_REGION all=m
FPGA_DFL all=m
FPGA_DFL_FME all=m
FPGA_DFL_FME_MGR all=m
@@ -1852,15 +1860,15 @@ FPGA_MGR_LATTICE_SYSCONFIG_SPI all=m
#- *** FILE: drivers/fsi/Kconfig ***
#-
FSI all=m
-FSI_NEW_DEV_NODE arm=n arm64=n
+FSI_NEW_DEV_NODE all=y
FSI_MASTER_GPIO all=m
FSI_MASTER_HUB all=m
-FSI_MASTER_ASPEED arm=m arm64=m
-FSI_MASTER_I2CR arm=m arm64=m
+FSI_MASTER_ASPEED all=m
+FSI_MASTER_I2CR all=m
FSI_SCOM all=m
-FSI_SBEFIFO arm=m arm64=m
-FSI_OCC arm=m arm64=m
-I2CR_SCOM arm=m arm64=m
+FSI_SBEFIFO all=m
+FSI_OCC all=m
+I2CR_SCOM all=m
#-
#- *** FILE: drivers/gnss/Kconfig ***
@@ -1879,32 +1887,33 @@ GPIOLIB_FASTPATH_LIMIT all=512
DEBUG_GPIO all=n
GPIO_SYSFS all=y
GPIO_CDEV_V1 all=y
-GPIO_74XX_MMIO arm=m arm64=m
-GPIO_ALTERA arm=m arm64=m
+GPIO_74XX_MMIO all=m
+GPIO_ALTERA all=m
GPIO_AMDPT all=m
GPIO_RASPBERRYPI_EXP arm=m arm64=m
GPIO_BRCMSTB arm=m arm64=m
-GPIO_CADENCE arm=m arm64=m
+GPIO_CADENCE all=m
GPIO_DWAPB all=m
GPIO_EXAR all=m
-GPIO_FTGPIO010 arm=n arm64=n
+GPIO_FTGPIO010 all=y
GPIO_GENERIC_PLATFORM all=m
GPIO_GRANITERAPIDS all=m
-GPIO_GRGPIO arm=m arm64=m
+GPIO_GRGPIO all=m
GPIO_HISI arm64=m
-GPIO_HLWD arm=m arm64=m
+GPIO_HLWD all=m
GPIO_ICH all=m
-GPIO_LOGICVC arm=m arm64=m
+GPIO_LOGICVC all=m
GPIO_MB86S7X all=m
GPIO_MENZ127 all=m
GPIO_MPC8XXX arm=n
GPIO_PL061 arm=m arm64=y
+GPIO_POLARFIRE_SOC all=y
GPIO_ROCKCHIP arm64=m
GPIO_SAMA5D2_PIOBU arm=m arm64=m
-GPIO_SIFIVE arm=n arm64=n
+GPIO_SIFIVE all=m
GPIO_SIOX all=m
-GPIO_SYSCON arm=m arm64=m
-GPIO_WCD934X arm=m arm64=m
+GPIO_SYSCON all=m
+GPIO_WCD934X all=m
GPIO_XGENE arm64=y
GPIO_XILINX all=m
GPIO_ZEVIO arm=n
@@ -1921,10 +1930,10 @@ GPIO_SCH311X all=m
GPIO_TS5500 all=m
GPIO_WINBOND all=m
GPIO_WS16C48 all=m
-GPIO_ADNP arm=m arm64=m
+GPIO_ADNP all=m
GPIO_FXL6408 all=m
GPIO_DS4520 all=m
-GPIO_GW_PLD arm=m arm64=m
+GPIO_GW_PLD all=m
GPIO_MAX7300 all=m
GPIO_MAX732X all=m
GPIO_PCA953X all=m
@@ -1933,9 +1942,10 @@ GPIO_PCA9570 all=m
GPIO_PCF857X all=m
GPIO_TPIC2810 all=m
GPIO_TS4900 all=m
-GPIO_ADP5585 arm=m arm64=m
+GPIO_ADP5585 all=m
GPIO_ARIZONA all=m
GPIO_BD9571MWV all=m
+GPIO_CGBC all=m
GPIO_CROS_EC all=m
GPIO_CS5535 all=m
GPIO_DA9052 all=m
@@ -1947,15 +1957,15 @@ GPIO_KEMPLD all=m
GPIO_LJCA all=m
GPIO_LP3943 all=m
GPIO_LP873X all=m
-GPIO_LP87565 arm=m arm64=m
+GPIO_LP87565 all=m
GPIO_MADERA all=m
-GPIO_MAX77650 arm=m arm64=m
+GPIO_MAX77650 all=m
GPIO_SL28CPLD all=m
GPIO_STMPE all=y
GPIO_TIMBERDALE all=y
GPIO_TPS65086 all=m
GPIO_TPS65218 all=m
-GPIO_TPS65219 arm=m arm64=m
+GPIO_TPS65219 all=m
GPIO_TPS65912 all=m
GPIO_TPS68470 all=m
GPIO_TQMX86 all=m
@@ -1973,14 +1983,16 @@ GPIO_PCH all=m
GPIO_PCI_IDIO_16 all=m
GPIO_PCIE_IDIO_24 all=m
GPIO_RDC321X all=m
+GPIO_SODAVILLE all=y
GPIO_74X164 all=m
GPIO_MAX3191X all=m
GPIO_MAX7301 all=m
GPIO_MC33880 all=m
GPIO_PISOSR all=m
GPIO_XRA1403 all=m
-GPIO_MOXTET arm=m arm64=m
+GPIO_MOXTET all=m
GPIO_VIPERBOARD all=m
+GPIO_MPSSE all=m
GPIO_AGGREGATOR all=m
GPIO_LATCH all=m
GPIO_MOCKUP all=m
@@ -2105,7 +2117,7 @@ DRM_MALI_DISPLAY arm=m arm64=m
#-
#- *** FILE: drivers/gpu/drm/arm/display/Kconfig ***
#-
-DRM_KOMEDA arm=m arm64=m
+DRM_KOMEDA all=m
#-
#- *** FILE: drivers/gpu/drm/armada/Kconfig ***
@@ -2125,40 +2137,42 @@ DRM_ATMEL_HLCDC arm=m
#-
#- *** FILE: drivers/gpu/drm/bridge/Kconfig ***
#-
-DRM_CHIPONE_ICN6211 arm=m arm64=m
-DRM_CHRONTEL_CH7033 arm=m arm64=m
-DRM_CROS_EC_ANX7688 arm=m arm64=m
-DRM_DISPLAY_CONNECTOR arm=m arm64=m
+DRM_CHIPONE_ICN6211 all=m
+DRM_CHRONTEL_CH7033 all=m
+DRM_CROS_EC_ANX7688 all=m
+DRM_DISPLAY_CONNECTOR all=m
DRM_FSL_LDB arm=m arm64=m
-DRM_ITE_IT6505 arm=m arm64=m
-DRM_LONTIUM_LT8912B arm=m arm64=m
-DRM_LONTIUM_LT9211 arm=m arm64=m
-DRM_LONTIUM_LT9611 arm=m arm64=m
-DRM_LONTIUM_LT9611UXC arm=m arm64=m
-DRM_ITE_IT66121 arm=m arm64=m
-DRM_LVDS_CODEC arm=m arm64=m
-DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW arm=m arm64=m
+DRM_ITE_IT6263 all=m
+DRM_ITE_IT6505 all=m
+DRM_LONTIUM_LT8912B all=m
+DRM_LONTIUM_LT9211 all=m
+DRM_LONTIUM_LT9611 all=m
+DRM_LONTIUM_LT9611UXC all=m
+DRM_ITE_IT66121 all=m
+DRM_LVDS_CODEC all=m
+DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW all=m
DRM_MICROCHIP_LVDS_SERIALIZER arm=m
-DRM_NWL_MIPI_DSI arm=m arm64=m
-DRM_NXP_PTN3460 arm=m arm64=m
-DRM_PARADE_PS8622 arm=m arm64=m
-DRM_PARADE_PS8640 arm=m arm64=m
-DRM_SAMSUNG_DSIM arm=m arm64=m
-DRM_SIL_SII8620 arm=m arm64=m
-DRM_SII902X arm=m arm64=m
-DRM_SII9234 arm=m arm64=m
-DRM_SIMPLE_BRIDGE arm=m arm64=m
-DRM_THINE_THC63LVD1024 arm=m arm64=m
-DRM_TOSHIBA_TC358762 arm=m arm64=m
-DRM_TOSHIBA_TC358764 arm=m arm64=m
-DRM_TOSHIBA_TC358767 arm=m arm64=m
-DRM_TOSHIBA_TC358768 arm=m arm64=m
-DRM_TOSHIBA_TC358775 arm=m arm64=m
-DRM_TI_DLPC3433 arm=m arm64=m
-DRM_TI_TFP410 arm=m arm64=m
-DRM_TI_SN65DSI83 arm=m arm64=m
-DRM_TI_SN65DSI86 arm=m arm64=m
-DRM_TI_TPD12S015 arm=m arm64=m
+DRM_NWL_MIPI_DSI all=m
+DRM_NXP_PTN3460 all=m
+DRM_PARADE_PS8622 all=m
+DRM_PARADE_PS8640 all=m
+DRM_SAMSUNG_DSIM all=m
+DRM_SIL_SII8620 all=m
+DRM_SII902X all=m
+DRM_SII9234 all=m
+DRM_SIMPLE_BRIDGE all=m
+DRM_THINE_THC63LVD1024 all=m
+DRM_TOSHIBA_TC358762 all=m
+DRM_TOSHIBA_TC358764 all=m
+DRM_TOSHIBA_TC358767 all=m
+DRM_TOSHIBA_TC358768 all=m
+DRM_TOSHIBA_TC358775 all=m
+DRM_TI_DLPC3433 all=m
+DRM_TI_TDP158 all=m
+DRM_TI_TFP410 all=m
+DRM_TI_SN65DSI83 all=m
+DRM_TI_SN65DSI86 all=m
+DRM_TI_TPD12S015 all=m
#- file drivers/gpu/drm/bridge/analogix/Kconfig goes here
#- file drivers/gpu/drm/bridge/adv7511/Kconfig goes here
#- file drivers/gpu/drm/bridge/cadence/Kconfig goes here
@@ -2169,22 +2183,22 @@ DRM_TI_TPD12S015 arm=m arm64=m
#- *** FILE: drivers/gpu/drm/bridge/adv7511/Kconfig ***
#-
DRM_I2C_ADV7511 all=m
-DRM_I2C_ADV7511_AUDIO arm=n arm64=y
-DRM_I2C_ADV7511_CEC arm=y arm64=y
+DRM_I2C_ADV7511_AUDIO all=y
+DRM_I2C_ADV7511_CEC all=y
#-
#- *** FILE: drivers/gpu/drm/bridge/analogix/Kconfig ***
#-
-DRM_ANALOGIX_ANX6345 arm=m arm64=m
+DRM_ANALOGIX_ANX6345 all=m
DRM_ANALOGIX_ANX78XX all=m
-DRM_ANALOGIX_ANX7625 arm=m arm64=m
+DRM_ANALOGIX_ANX7625 all=m
#-
#- *** FILE: drivers/gpu/drm/bridge/cadence/Kconfig ***
#-
-DRM_CDNS_DSI arm=m arm64=m
-DRM_CDNS_DSI_J721E arm=y arm64=y
-DRM_CDNS_MHDP8546 arm=m arm64=m
+DRM_CDNS_DSI all=m
+DRM_CDNS_DSI_J721E all=y
+DRM_CDNS_MHDP8546 all=m
#-
#- *** FILE: drivers/gpu/drm/bridge/synopsys/Kconfig ***
@@ -2294,7 +2308,7 @@ DRM_LIMA arm=m arm64=m
#-
#- *** FILE: drivers/gpu/drm/logicvc/Kconfig ***
#-
-DRM_LOGICVC arm=m arm64=m
+DRM_LOGICVC all=m
#-
#- *** FILE: drivers/gpu/drm/loongson/Kconfig ***
@@ -2355,107 +2369,111 @@ OMAP2_DSS_SLEEP_AFTER_VENC_RESET arm=y
#-
#- *** FILE: drivers/gpu/drm/panel/Kconfig ***
#-
-DRM_PANEL_ABT_Y030XX067A arm=m arm64=m
-DRM_PANEL_ARM_VERSATILE arm=m arm64=m
-DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 arm=m arm64=m
+DRM_PANEL_ABT_Y030XX067A all=m
+DRM_PANEL_ARM_VERSATILE all=m
+DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 all=m
DRM_PANEL_AUO_A030JTN01 all=m
-DRM_PANEL_BOE_BF060Y8M_AJ0 arm=m arm64=m
-DRM_PANEL_BOE_HIMAX8279D arm=m arm64=m
-DRM_PANEL_BOE_TH101MB31UIG002_28A arm=m arm64=m
-DRM_PANEL_BOE_TV101WUM_NL6 arm=m arm64=m
-DRM_PANEL_BOE_TV101WUM_LL2 arm=m arm64=m
-DRM_PANEL_EBBG_FT8719 arm=m arm64=m
-DRM_PANEL_ELIDA_KD35T133 arm=m arm64=m
-DRM_PANEL_FEIXIN_K101_IM2BA02 arm=m arm64=m
-DRM_PANEL_FEIYANG_FY07024DI26A30D arm=m arm64=m
-DRM_PANEL_DSI_CM arm=m arm64=m
-DRM_PANEL_LVDS arm=m arm64=m
-DRM_PANEL_HIMAX_HX83102 arm=m arm64=m
-DRM_PANEL_HIMAX_HX83112A arm=m arm64=m
-DRM_PANEL_HIMAX_HX8394 arm=m arm64=m
-DRM_PANEL_ILITEK_IL9322 arm=m arm64=m
+DRM_PANEL_BOE_BF060Y8M_AJ0 all=m
+DRM_PANEL_BOE_HIMAX8279D all=m
+DRM_PANEL_BOE_TH101MB31UIG002_28A all=m
+DRM_PANEL_BOE_TV101WUM_NL6 all=m
+DRM_PANEL_BOE_TV101WUM_LL2 all=m
+DRM_PANEL_EBBG_FT8719 all=m
+DRM_PANEL_ELIDA_KD35T133 all=m
+DRM_PANEL_FEIXIN_K101_IM2BA02 all=m
+DRM_PANEL_FEIYANG_FY07024DI26A30D all=m
+DRM_PANEL_DSI_CM all=m
+DRM_PANEL_LVDS all=m
+DRM_PANEL_HIMAX_HX83102 all=m
+DRM_PANEL_HIMAX_HX83112A all=m
+DRM_PANEL_HIMAX_HX8394 all=m
+DRM_PANEL_ILITEK_IL9322 all=m
DRM_PANEL_ILITEK_ILI9341 all=m
-DRM_PANEL_ILITEK_ILI9805 arm=m arm64=m
-DRM_PANEL_ILITEK_ILI9806E arm=m arm64=m
-DRM_PANEL_ILITEK_ILI9881C arm=m arm64=m
-DRM_PANEL_ILITEK_ILI9882T arm=m arm64=m
-DRM_PANEL_INNOLUX_EJ030NA arm=m arm64=m
-DRM_PANEL_INNOLUX_P079ZCA arm=m arm64=m
-DRM_PANEL_JADARD_JD9365DA_H3 arm=m arm64=m
-DRM_PANEL_JDI_LPM102A188A arm=m arm64=m
-DRM_PANEL_JDI_LT070ME05000 arm=m arm64=m
-DRM_PANEL_JDI_R63452 arm=m arm64=m
-DRM_PANEL_KHADAS_TS050 arm=m arm64=m
-DRM_PANEL_KINGDISPLAY_KD097D04 arm=m arm64=m
-DRM_PANEL_LEADTEK_LTK050H3146W arm=m arm64=m
-DRM_PANEL_LEADTEK_LTK500HD1829 arm=m arm64=m
-DRM_PANEL_LINCOLNTECH_LCD197 arm=m arm64=m
-DRM_PANEL_LG_LB035Q02 arm=m arm64=m
-DRM_PANEL_LG_LG4573 arm=m arm64=m
-DRM_PANEL_LG_SW43408 arm=m arm64=m
-DRM_PANEL_MAGNACHIP_D53E6EA8966 arm=m arm64=m
-DRM_PANEL_MANTIX_MLAF057WE51 arm=m arm64=m
-DRM_PANEL_NEC_NL8048HL11 arm=m arm64=m
-DRM_PANEL_NEWVISION_NV3051D arm=m arm64=m
-DRM_PANEL_NEWVISION_NV3052C arm=m arm64=m
-DRM_PANEL_NOVATEK_NT35510 arm=m arm64=m
-DRM_PANEL_NOVATEK_NT35560 arm=m arm64=m
-DRM_PANEL_NOVATEK_NT35950 arm=m arm64=m
-DRM_PANEL_NOVATEK_NT36523 arm=m arm64=m
-DRM_PANEL_NOVATEK_NT36672A arm=m arm64=m
-DRM_PANEL_NOVATEK_NT36672E arm=m arm64=m
-DRM_PANEL_NOVATEK_NT39016 arm=m arm64=m
-DRM_PANEL_OLIMEX_LCD_OLINUXINO arm=m arm64=m
+DRM_PANEL_ILITEK_ILI9805 all=m
+DRM_PANEL_ILITEK_ILI9806E all=m
+DRM_PANEL_ILITEK_ILI9881C all=m
+DRM_PANEL_ILITEK_ILI9882T all=m
+DRM_PANEL_INNOLUX_EJ030NA all=m
+DRM_PANEL_INNOLUX_P079ZCA all=m
+DRM_PANEL_JADARD_JD9365DA_H3 all=m
+DRM_PANEL_JDI_LPM102A188A all=m
+DRM_PANEL_JDI_LT070ME05000 all=m
+DRM_PANEL_JDI_R63452 all=m
+DRM_PANEL_KHADAS_TS050 all=m
+DRM_PANEL_KINGDISPLAY_KD097D04 all=m
+DRM_PANEL_LEADTEK_LTK050H3146W all=m
+DRM_PANEL_LEADTEK_LTK500HD1829 all=m
+DRM_PANEL_LINCOLNTECH_LCD197 all=m
+DRM_PANEL_LG_LB035Q02 all=m
+DRM_PANEL_LG_LG4573 all=m
+DRM_PANEL_LG_SW43408 all=m
+DRM_PANEL_MAGNACHIP_D53E6EA8966 all=m
+DRM_PANEL_MANTIX_MLAF057WE51 all=m
+DRM_PANEL_NEC_NL8048HL11 all=m
+DRM_PANEL_NEWVISION_NV3051D all=m
+DRM_PANEL_NEWVISION_NV3052C all=m
+DRM_PANEL_NOVATEK_NT35510 all=m
+DRM_PANEL_NOVATEK_NT35560 all=m
+DRM_PANEL_NOVATEK_NT35950 all=m
+DRM_PANEL_NOVATEK_NT36523 all=m
+DRM_PANEL_NOVATEK_NT36672A all=m
+DRM_PANEL_NOVATEK_NT36672E all=m
+DRM_PANEL_NOVATEK_NT39016 all=m
+DRM_PANEL_OLIMEX_LCD_OLINUXINO all=m
DRM_PANEL_ORISETECH_OTA5601A all=m
-DRM_PANEL_ORISETECH_OTM8009A arm=m arm64=m
-DRM_PANEL_OSD_OSD101T2587_53TS arm=m arm64=m
-DRM_PANEL_PANASONIC_VVX10F034N00 arm=m arm64=m
+DRM_PANEL_ORISETECH_OTM8009A all=m
+DRM_PANEL_OSD_OSD101T2587_53TS all=m
+DRM_PANEL_PANASONIC_VVX10F034N00 all=m
DRM_PANEL_RASPBERRYPI_TOUCHSCREEN all=m
-DRM_PANEL_RAYDIUM_RM67191 arm=m arm64=m
-DRM_PANEL_RAYDIUM_RM68200 arm=m arm64=m
-DRM_PANEL_RAYDIUM_RM692E5 arm=m arm64=m
-DRM_PANEL_RAYDIUM_RM69380 arm=m arm64=m
-DRM_PANEL_RONBO_RB070D30 arm=m arm64=m
-DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 arm=m arm64=m
-DRM_PANEL_SAMSUNG_ATNA33XC20 arm=m arm64=m
-DRM_PANEL_SAMSUNG_DB7430 arm=m arm64=m
-DRM_PANEL_SAMSUNG_LD9040 arm=m arm64=m
-DRM_PANEL_SAMSUNG_S6E3FA7 arm=m arm64=m
-DRM_PANEL_SAMSUNG_S6D16D0 arm=m arm64=m
-DRM_PANEL_SAMSUNG_S6D27A1 arm=m arm64=m
-DRM_PANEL_SAMSUNG_S6D7AA0 arm=m arm64=m
-DRM_PANEL_SAMSUNG_S6E3HA2 arm=m arm64=m
-DRM_PANEL_SAMSUNG_S6E63J0X03 arm=m arm64=m
-DRM_PANEL_SAMSUNG_S6E63M0 arm=m arm64=m
-DRM_PANEL_SAMSUNG_S6E63M0_SPI arm=m arm64=m
-DRM_PANEL_SAMSUNG_S6E63M0_DSI arm=m arm64=m
-DRM_PANEL_SAMSUNG_S6E8AA0 arm=m arm64=m
-DRM_PANEL_SAMSUNG_SOFEF00 arm=m arm64=m
-DRM_PANEL_SEIKO_43WVF1G arm=m arm64=m
-DRM_PANEL_SHARP_LQ101R1SX01 arm=m arm64=m
-DRM_PANEL_SHARP_LS037V7DW01 arm=m arm64=m
-DRM_PANEL_SHARP_LS043T1LE01 arm=m arm64=m
-DRM_PANEL_SHARP_LS060T1SX01 arm=m arm64=m
-DRM_PANEL_SITRONIX_ST7701 arm=m arm64=m
-DRM_PANEL_SITRONIX_ST7703 arm=m arm64=m
-DRM_PANEL_SITRONIX_ST7789V arm=m arm64=m
-DRM_PANEL_SONY_ACX565AKM arm=m arm64=m
-DRM_PANEL_SONY_TD4353_JDI arm=m arm64=m
-DRM_PANEL_SONY_TULIP_TRULY_NT35521 arm=m arm64=m
-DRM_PANEL_STARTEK_KD070FHFID015 arm=m arm64=m
-DRM_PANEL_EDP arm=m arm64=m
-DRM_PANEL_SIMPLE arm=m arm64=m
-DRM_PANEL_SYNAPTICS_R63353 arm=m arm64=m
-DRM_PANEL_TDO_TL070WSH30 arm=m arm64=m
-DRM_PANEL_TPO_TD028TTEC1 arm=m arm64=m
-DRM_PANEL_TPO_TD043MTEA1 arm=m arm64=m
-DRM_PANEL_TPO_TPG110 arm=m arm64=m
-DRM_PANEL_TRULY_NT35597_WQXGA arm=m arm64=m
-DRM_PANEL_VISIONOX_R66451 arm=m arm64=m
-DRM_PANEL_VISIONOX_RM69299 arm=m arm64=m
-DRM_PANEL_VISIONOX_VTDR6130 arm=m arm64=m
+DRM_PANEL_RAYDIUM_RM67191 all=m
+DRM_PANEL_RAYDIUM_RM68200 all=m
+DRM_PANEL_RAYDIUM_RM692E5 all=m
+DRM_PANEL_RAYDIUM_RM69380 all=m
+DRM_PANEL_RONBO_RB070D30 all=m
+DRM_PANEL_SAMSUNG_AMS581VF01 all=m
+DRM_PANEL_SAMSUNG_AMS639RQ08 all=m
+DRM_PANEL_SAMSUNG_S6E88A0_AMS427AP24 all=m
+DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 all=m
+DRM_PANEL_SAMSUNG_ATNA33XC20 all=m
+DRM_PANEL_SAMSUNG_DB7430 all=m
+DRM_PANEL_SAMSUNG_LD9040 all=m
+DRM_PANEL_SAMSUNG_S6E3FA7 all=m
+DRM_PANEL_SAMSUNG_S6D16D0 all=m
+DRM_PANEL_SAMSUNG_S6D27A1 all=m
+DRM_PANEL_SAMSUNG_S6D7AA0 all=m
+DRM_PANEL_SAMSUNG_S6E3HA2 all=m
+DRM_PANEL_SAMSUNG_S6E3HA8 all=m
+DRM_PANEL_SAMSUNG_S6E63J0X03 all=m
+DRM_PANEL_SAMSUNG_S6E63M0 all=m
+DRM_PANEL_SAMSUNG_S6E63M0_SPI all=m
+DRM_PANEL_SAMSUNG_S6E63M0_DSI all=m
+DRM_PANEL_SAMSUNG_S6E8AA0 all=m
+DRM_PANEL_SAMSUNG_SOFEF00 all=m
+DRM_PANEL_SEIKO_43WVF1G all=m
+DRM_PANEL_SHARP_LQ101R1SX01 all=m
+DRM_PANEL_SHARP_LS037V7DW01 all=m
+DRM_PANEL_SHARP_LS043T1LE01 all=m
+DRM_PANEL_SHARP_LS060T1SX01 all=m
+DRM_PANEL_SITRONIX_ST7701 all=m
+DRM_PANEL_SITRONIX_ST7703 all=m
+DRM_PANEL_SITRONIX_ST7789V all=m
+DRM_PANEL_SONY_ACX565AKM all=m
+DRM_PANEL_SONY_TD4353_JDI all=m
+DRM_PANEL_SONY_TULIP_TRULY_NT35521 all=m
+DRM_PANEL_STARTEK_KD070FHFID015 all=m
+DRM_PANEL_EDP all=m
+DRM_PANEL_SIMPLE all=m
+DRM_PANEL_SYNAPTICS_R63353 all=m
+DRM_PANEL_TDO_TL070WSH30 all=m
+DRM_PANEL_TPO_TD028TTEC1 all=m
+DRM_PANEL_TPO_TD043MTEA1 all=m
+DRM_PANEL_TPO_TPG110 all=m
+DRM_PANEL_TRULY_NT35597_WQXGA all=m
+DRM_PANEL_VISIONOX_R66451 all=m
+DRM_PANEL_VISIONOX_RM69299 all=m
+DRM_PANEL_VISIONOX_VTDR6130 all=m
DRM_PANEL_WIDECHIPS_WS2401 all=m
-DRM_PANEL_XINPENG_XPP055C272 arm=m arm64=m
+DRM_PANEL_XINPENG_XPP055C272 all=m
#-
#- *** FILE: drivers/gpu/drm/panfrost/Kconfig ***
@@ -2538,7 +2556,7 @@ DRM_TILCDC arm=m
#-
#- *** FILE: drivers/gpu/drm/tiny/Kconfig ***
#-
-DRM_ARCPGU arm=m arm64=m
+DRM_ARCPGU all=m
DRM_BOCHS all=m
DRM_CIRRUS_QEMU all=m
DRM_GM12U320 all=m
@@ -2551,6 +2569,7 @@ TINYDRM_ILI9341 all=m
TINYDRM_ILI9486 all=m
TINYDRM_MI0283QT all=m
TINYDRM_REPAPER all=m
+TINYDRM_SHARP_MEMORY all=m
TINYDRM_ST7586 all=m
TINYDRM_ST7735R all=m
@@ -2680,6 +2699,7 @@ HID_VIVALDI all=m
HID_GT683R all=m
HID_KEYTOUCH all=m
HID_KYE all=m
+HID_KYSONA all=m
HID_UCLOGIC all=m
HID_WALTOP all=m
HID_VIEWSONIC all=m
@@ -2794,8 +2814,8 @@ HID_BPF all=y
I2C_HID all=m
I2C_HID_ACPI all=m
I2C_HID_OF all=m
-I2C_HID_OF_ELAN arm=m arm64=m
-I2C_HID_OF_GOODIX arm=m arm64=m
+I2C_HID_OF_ELAN all=m
+I2C_HID_OF_GOODIX all=m
#-
#- *** FILE: drivers/hid/intel-ish-hid/Kconfig ***
@@ -2899,7 +2919,7 @@ SENSORS_I5K_AMB all=m
SENSORS_F71805F all=m
SENSORS_F71882FG all=m
SENSORS_F75375S all=m
-SENSORS_GSC arm=m arm64=m
+SENSORS_GSC all=m
SENSORS_MC13783_ADC all=m
SENSORS_FSCHMD all=m
SENSORS_FTSTEUTATES all=m
@@ -2916,6 +2936,7 @@ SENSORS_IBMPEX all=m
SENSORS_IIO_HWMON all=m
SENSORS_I5500 all=m
SENSORS_CORETEMP all=m
+SENSORS_ISL28022 all=m
SENSORS_IT87 all=m
SENSORS_JC42 all=m
SENSORS_POWERZ all=m
@@ -2981,6 +3002,7 @@ SENSORS_NTC_THERMISTOR all=m
SENSORS_NCT6683 all=m
SENSORS_NCT6775 all=m
SENSORS_NCT6775_I2C all=m
+SENSORS_NCT7363 all=m
SENSORS_NCT7802 all=m
SENSORS_NCT7904 all=m
SENSORS_NPCM7XX all=m
@@ -3069,7 +3091,7 @@ SENSORS_HP_WMI all=m
#- *** FILE: drivers/hwmon/occ/Kconfig ***
#-
SENSORS_OCC_P8_I2C all=m
-SENSORS_OCC_P9_SBE arm=m arm64=m
+SENSORS_OCC_P9_SBE all=m
#-
#- *** FILE: drivers/hwmon/peci/Kconfig ***
@@ -3220,15 +3242,14 @@ I2C_ALI1535 all=m
I2C_ALI1563 all=m
I2C_ALI15X3 all=m
I2C_AMD756 all=m sparc=n
-I2C_AMD756_S4882 all=m sparc=
I2C_AMD8111 all=m
I2C_AMD_MP2 all=m
+I2C_AMD_ASF all=m
I2C_I801 all=m
I2C_ISCH all=m
I2C_ISMT all=m
I2C_PIIX4 all=m sparc=n
I2C_NFORCE2 all=m
-I2C_NFORCE2_S4985 all=m
I2C_NVIDIA_GPU all=m
I2C_SIS5595 all=m
I2C_SIS630 all=m
@@ -3246,6 +3267,7 @@ I2C_BCM2835 arm=m arm64=m
I2C_BRCMSTB arm=m arm64=m
I2C_CADENCE arm64=m
I2C_CBUS_GPIO all=m
+I2C_CGBC all=m
I2C_DESIGNWARE_CORE all=m
I2C_DESIGNWARE_SLAVE all=y
I2C_DESIGNWARE_PLATFORM all=m
@@ -3270,7 +3292,7 @@ I2C_PCA_PLATFORM all=m
I2C_PXA arm=m
I2C_PXA_PCI all=n
I2C_PXA_SLAVE arm=y
-I2C_RK3X arm=m arm64=m
+I2C_RK3X all=m
I2C_SIMTEC all=m sparc=n
I2C_THUNDERX arm64=m
I2C_XILINX all=m
@@ -3291,23 +3313,23 @@ I2C_MLXCPLD all=m
I2C_PCA_ISA all=m
I2C_CROS_EC_TUNNEL all=m
SCx200_ACB i386=m
-I2C_FSI arm=m arm64=m
+I2C_FSI all=m
I2C_VIRTIO all=m
#-
#- *** FILE: drivers/i2c/muxes/Kconfig ***
#-
-I2C_ARB_GPIO_CHALLENGE arm=m arm64=m
+I2C_ARB_GPIO_CHALLENGE all=m
I2C_MUX_GPIO all=m
-I2C_MUX_GPMUX arm=m arm64=m
+I2C_MUX_GPMUX all=m
I2C_MUX_LTC4306 all=m
I2C_MUX_PCA9541 all=m
I2C_MUX_PCA954x all=m
I2C_MUX_PINCTRL all=m
I2C_MUX_REG all=m
-I2C_DEMUX_PINCTRL arm=m arm64=m
+I2C_DEMUX_PINCTRL all=m
I2C_MUX_MLXCPLD all=m
-I2C_MUX_MULE arm=m arm64=m
+I2C_MUX_MULE all=m
#-
#- *** FILE: drivers/i3c/Kconfig ***
@@ -3441,8 +3463,10 @@ AD7476 all=m
AD7606 all=m
AD7606_IFACE_PARALLEL all=m
AD7606_IFACE_SPI all=m
+AD7625 all=m
AD7766 all=m
AD7768_1 all=m
+AD7779 all=m
AD7780 all=m
AD7791 all=m
AD7793 all=m
@@ -3456,10 +3480,11 @@ ADI_AXI_ADC all=m
AXP20X_ADC all=m
AXP288_ADC all=m
CC10001_ADC all=m
-CPCAP_ADC arm=m arm64=m
+CPCAP_ADC all=m
DA9150_GPADC all=m
DLN2_ADC all=m
ENVELOPE_DETECTOR all=m
+GEHC_PMC_ADC all=m
HI8435 all=m
HX711 all=m
INA2XX_ADC all=m
@@ -3495,11 +3520,11 @@ QCOM_PM8XXX_XOADC arm=m
QCOM_SPMI_IADC all=m
QCOM_SPMI_VADC all=m
QCOM_SPMI_ADC5 all=m
-RN5T618_ADC arm=m arm64=m
+RN5T618_ADC all=m
ROCKCHIP_SARADC arm64=m
RICHTEK_RTQ6056 all=m
SD_ADC_MODULATOR all=m
-STMPE_ADC arm=m arm64=m
+STMPE_ADC all=m
TI_ADC081C all=m
TI_ADC0832 all=m
TI_ADC084S021 all=m
@@ -3603,6 +3628,7 @@ IIO_SSP_SENSORHUB all=m
#-
#- *** FILE: drivers/iio/dac/Kconfig ***
#-
+AD3552R_HS all=m
AD3552R all=m
AD5064 all=m
AD5360 all=m
@@ -3629,6 +3655,7 @@ AD5770R all=m
AD5791 all=m
AD7293 all=m
AD7303 all=m
+AD8460 all=m
AD8801 all=m
CIO_DAC all=m
DPOT_DAC all=m
@@ -3724,6 +3751,7 @@ ADIS16460 all=m
ADIS16475 all=m
ADIS16480 all=m
#- file drivers/iio/imu/bmi160/Kconfig goes here
+#- file drivers/iio/imu/bmi270/Kconfig goes here
#- file drivers/iio/imu/bmi323/Kconfig goes here
#- file drivers/iio/imu/bno055/Kconfig goes here
FXOS8700_I2C all=m
@@ -3731,6 +3759,7 @@ FXOS8700_SPI all=m
KMX61 all=m
#- file drivers/iio/imu/inv_icm42600/Kconfig goes here
#- file drivers/iio/imu/inv_mpu6050/Kconfig goes here
+SMI240 all=m
#- file drivers/iio/imu/st_lsm6dsx/Kconfig goes here
#- file drivers/iio/imu/st_lsm9ds0/Kconfig goes here
@@ -3740,6 +3769,12 @@ KMX61 all=m
BMI160_I2C all=m
BMI160_SPI all=m
+#-
+#- *** FILE: drivers/iio/imu/bmi270/Kconfig ***
+#-
+BMI270_I2C all=m
+BMI270_SPI all=m
+
#-
#- *** FILE: drivers/iio/imu/bmi323/Kconfig ***
#-
@@ -3838,6 +3873,7 @@ TSL4531 all=m
US5182D all=m
VCNL4000 all=m
VCNL4035 all=m
+VEML3235 all=m
VEML6030 all=m
VEML6040 all=m
VEML6070 all=m
@@ -3848,10 +3884,11 @@ ZOPT2201 all=m
#-
#- *** FILE: drivers/iio/magnetometer/Kconfig ***
#-
-AF8133J arm=m arm64=m
+AF8133J all=m
AK8974 all=m
AK8975 all=m
AK09911 all=m
+ALS31300 all=m
BMC150_MAGN all=m
BMC150_MAGN_I2C all=m
BMC150_MAGN_SPI all=m
@@ -4291,8 +4328,8 @@ KEYBOARD_TM2_TOUCHKEY all=m
KEYBOARD_TWL4030 powerpc=m
KEYBOARD_XTKBD all=m
KEYBOARD_CROS_EC all=m
-KEYBOARD_CAP11XX arm=m arm64=m
-KEYBOARD_BCM arm=m arm64=m
+KEYBOARD_CAP11XX all=m
+KEYBOARD_BCM all=m
KEYBOARD_MTK_PMIC all=m
KEYBOARD_CYPRESS_SF all=m
@@ -4307,7 +4344,7 @@ INPUT_AD714X_I2C all=m
INPUT_AD714X_SPI all=m
INPUT_ARIZONA_HAPTICS all=m
INPUT_ATC260X_ONKEY all=m
-INPUT_ATMEL_CAPTOUCH arm=m arm64=m
+INPUT_ATMEL_CAPTOUCH all=m
INPUT_BMA150 all=m
INPUT_CS40L50_VIBRA all=m
INPUT_E3X0_BUTTON all=m
@@ -4315,7 +4352,7 @@ INPUT_PCSPKR all=m
INPUT_PM8XXX_VIBRATOR arm=m
INPUT_PMIC8XXX_PWRKEY arm=m
INPUT_SPARCSPKR sparc64=m
-INPUT_MAX77650_ONKEY arm=m arm64=m
+INPUT_MAX77650_ONKEY all=m
INPUT_MAX77693_HAPTIC all=m
INPUT_MC13783_PWRBUTTON all=m
INPUT_MMA8450 all=m
@@ -4323,7 +4360,7 @@ INPUT_APANEL all=m
INPUT_GPIO_BEEPER all=m
INPUT_GPIO_DECODER all=m
INPUT_GPIO_VIBRA all=m
-INPUT_CPCAP_PWRBUTTON arm=m arm64=m
+INPUT_CPCAP_PWRBUTTON all=m
INPUT_WISTRON_BTNS i386=m
INPUT_ATLAS_BTNS i386=m x86_64=m
INPUT_ATI_REMOTE2 all=m sparc=n
@@ -4335,7 +4372,7 @@ INPUT_CM109 all=m
INPUT_REGULATOR_HAPTIC all=m
INPUT_RETU_PWRBUTTON all=m
INPUT_TPS65218_PWRBUTTON all=m
-INPUT_TPS65219_PWRBUTTON arm=m arm64=m
+INPUT_TPS65219_PWRBUTTON all=m
INPUT_AXP20X_PEK all=m
INPUT_TWL4030_PWRBUTTON powerpc=m
INPUT_UINPUT all=m sparc=n
@@ -4343,7 +4380,7 @@ INPUT_PCF50633_PMU all=m
INPUT_PCF8574 all=m
INPUT_PWM_BEEPER all=m
INPUT_PWM_VIBRA all=m
-INPUT_RK805_PWRKEY arm=m arm64=m
+INPUT_RK805_PWRKEY all=m
INPUT_GPIO_ROTARY_ENCODER all=m
INPUT_DA7280_HAPTICS all=m
INPUT_DA9052_ONKEY all=m
@@ -4432,7 +4469,7 @@ SERIO_XILINX_XPS_PS2 all=m
SERIO_ALTERA_PS2 all=m
SERIO_PS2MULT all=m
SERIO_ARC_PS2 all=m
-SERIO_APBPS2 arm=m arm64=m
+SERIO_APBPS2 all=m
SERIO_OLPC_APSP all=m
HYPERV_KEYBOARD all=m
SERIO_GPIO_PS2 all=m
@@ -4459,13 +4496,13 @@ TOUCHSCREEN_AD7879 all=m
TOUCHSCREEN_AD7879_I2C all=m
TOUCHSCREEN_AD7879_SPI all=m
TOUCHSCREEN_ADC all=m
-TOUCHSCREEN_AR1021_I2C arm=m arm64=m
+TOUCHSCREEN_AR1021_I2C all=m
TOUCHSCREEN_ATMEL_MXT all=m
TOUCHSCREEN_ATMEL_MXT_T37 all=y
TOUCHSCREEN_AUO_PIXCIR all=m
TOUCHSCREEN_BU21013 all=m
TOUCHSCREEN_BU21029 all=m
-TOUCHSCREEN_CHIPONE_ICN8318 arm=m arm64=m
+TOUCHSCREEN_CHIPONE_ICN8318 all=m
TOUCHSCREEN_CHIPONE_ICN8505 all=m
TOUCHSCREEN_CY8CTMA140 all=m
TOUCHSCREEN_CY8CTMG110 all=m
@@ -4504,7 +4541,7 @@ TOUCHSCREEN_MSG2638 all=m
TOUCHSCREEN_MTOUCH all=m
TOUCHSCREEN_NOVATEK_NVT_TS all=m
TOUCHSCREEN_IMAGIS all=m
-TOUCHSCREEN_IMX6UL_TSC arm=m arm64=m
+TOUCHSCREEN_IMX6UL_TSC all=m
TOUCHSCREEN_INEXIO all=m
TOUCHSCREEN_MK712 all=m sparc=n
TOUCHSCREEN_HTCPEN all=m
@@ -4590,6 +4627,7 @@ IOMMU_DEFAULT_PASSTHROUGH all=y
#- file drivers/iommu/amd/Kconfig goes here
#- file drivers/iommu/intel/Kconfig goes here
#- file drivers/iommu/iommufd/Kconfig goes here
+#- file drivers/iommu/riscv/Kconfig goes here
IRQ_REMAP all=y
ROCKCHIP_IOMMU arm64=y
ARM_SMMU arm=m arm64=m
@@ -4639,11 +4677,11 @@ SERIAL_IPOCTAL all=m
#-
#- *** FILE: drivers/irqchip/Kconfig ***
#-
-AL_FIC arm=n arm64=n
+AL_FIC all=y
BRCMSTB_L2_IRQ arm=m arm64=m
LAN966X_OIC all=m
TS4800_IRQ all=m
-XILINX_INTC arm=n arm64=n
+XILINX_INTC all=y
MESON_IRQ_GPIO arm64=m
#-
@@ -4691,22 +4729,22 @@ LEDS_CLASS_FLASH all=m
LEDS_CLASS_MULTICOLOR all=m
LEDS_BRIGHTNESS_HW_CHANGED all=y
#- LED drivers
-LEDS_AN30259A arm=m arm64=m
+LEDS_AN30259A all=m
LEDS_APU all=m
LEDS_AW200XX all=m
-LEDS_AW2013 arm=m arm64=m
-LEDS_BCM6328 arm=m arm64=m
-LEDS_BCM6358 arm=m arm64=m
-LEDS_CPCAP arm=m arm64=m
-LEDS_CR0014114 arm=m arm64=m
+LEDS_AW2013 all=m
+LEDS_BCM6328 all=m
+LEDS_BCM6358 all=m
+LEDS_CPCAP all=m
+LEDS_CR0014114 all=m
LEDS_CROS_EC all=m
-LEDS_EL15203000 arm=m arm64=m
+LEDS_EL15203000 all=m
LEDS_TURRIS_OMNIA arm=m
LEDS_LM3530 all=m
LEDS_LM3532 all=m
LEDS_LM3533 all=m
LEDS_LM3642 all=m
-LEDS_LM3692X arm=m arm64=m
+LEDS_LM3692X all=m
LEDS_MT6323 all=m
LEDS_NET48XX i386=m
LEDS_WRAP i386=m
@@ -4717,11 +4755,11 @@ LEDS_GPIO all=m
LEDS_LP3944 all=m
LEDS_LP3952 all=m
LEDS_LP50XX all=m
-LEDS_LP55XX_COMMON arm=m arm64=m
+LEDS_LP55XX_COMMON all=m
LEDS_LP5521 all=m
LEDS_LP5523 all=m
LEDS_LP5562 all=m
-LEDS_LP5569 arm=m arm64=m
+LEDS_LP5569 all=m
LEDS_LP8501 all=m
LEDS_LP8860 all=m
LEDS_CLEVO_MAIL all=m
@@ -4740,20 +4778,20 @@ LEDS_BD2606MVV all=m
LEDS_BD2802 all=m
LEDS_INTEL_SS4200 all=m
LEDS_LT3593 all=m
-LEDS_MAX5970 arm=m arm64=m
+LEDS_MAX5970 all=m
LEDS_MC13783 all=m
LEDS_TCA6507 all=m
LEDS_TLC591XX all=m
-LEDS_MAX77650 arm=m arm64=m
+LEDS_MAX77650 all=m
LEDS_LM355x all=m
LEDS_OT200 all=m
LEDS_MENF21BMC all=m
LEDS_IS31FL319X all=m
-LEDS_IS31FL32XX arm=m arm64=m
+LEDS_IS31FL32XX all=m
#- LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM)
LEDS_BLINKM all=m
LEDS_BLINKM_MULTICOLOR all=y
-LEDS_SYSCON arm=y arm64=y
+LEDS_SYSCON all=y
LEDS_PM8058 arm=m
LEDS_MLXCPLD all=m
LEDS_MLXREG all=m
@@ -4761,7 +4799,7 @@ LEDS_USER all=m
LEDS_NIC78BX all=m
LEDS_SPI_BYTE all=m
LEDS_TI_LMU_COMMON all=m
-LEDS_LM3697 arm=m arm64=m
+LEDS_LM3697 all=m
LEDS_LM36274 all=m
LEDS_TPS6105X all=m
#- file drivers/leds/blink/Kconfig goes here
@@ -4774,29 +4812,34 @@ LEDS_TPS6105X all=m
#- Simple LED drivers
#- file drivers/leds/simple/Kconfig goes here
+#-
+#- *** FILE: drivers/leds/blink/Kconfig ***
+#-
+LEDS_LGM all=m
+
#-
#- *** FILE: drivers/leds/flash/Kconfig ***
#-
-LEDS_AAT1290 arm=m arm64=m
+LEDS_AAT1290 all=m
LEDS_AS3645A all=m
-LEDS_KTD2692 arm=m arm64=m
+LEDS_KTD2692 all=m
LEDS_LM3601X all=m
-LEDS_MAX77693 arm=m arm64=m
-LEDS_MT6360 arm=m arm64=m
+LEDS_MAX77693 all=m
+LEDS_MT6360 all=m
LEDS_MT6370_FLASH all=m
-LEDS_RT4505 arm=m arm64=m
+LEDS_RT4505 all=m
LEDS_RT8515 all=m
LEDS_SGM3140 all=m
-LEDS_SY7802 arm=m arm64=m
+LEDS_SY7802 all=m
#-
#- *** FILE: drivers/leds/rgb/Kconfig ***
#-
-LEDS_GROUP_MULTICOLOR arm=m arm64=m
+LEDS_GROUP_MULTICOLOR all=m
LEDS_KTD202X all=m
-LEDS_NCP5623 arm=m arm64=m
+LEDS_NCP5623 all=m
LEDS_PWM_MULTICOLOR all=m
-LEDS_QCOM_LPG arm=m arm64=m
+LEDS_QCOM_LPG all=m
LEDS_MT6370_RGB all=m
#-
@@ -4862,14 +4905,14 @@ MAILBOX all=y
ARM_MHU arm=m arm64=m
ARM_MHU_V2 arm=m arm64=m
ARM_MHU_V3 arm=m arm64=m
-PLATFORM_MHU arm=m arm64=m
+PLATFORM_MHU all=m
PL320_MBOX arm=n arm64=n
ARMADA_37XX_RWTM_MBOX arm=m
ROCKCHIP_MBOX arm64=y
PCC all=y
ALTERA_MBOX all=m
BCM2835_MBOX arm=y arm64=y
-MAILBOX_TEST arm=m arm64=m
+MAILBOX_TEST all=m
#-
#- *** FILE: drivers/mcb/Kconfig ***
@@ -5163,11 +5206,11 @@ VIDEO_IMX283 all=m
VIDEO_IMX290 all=m
VIDEO_IMX296 all=m
VIDEO_IMX319 all=m
-VIDEO_IMX334 arm=m arm64=m
-VIDEO_IMX335 arm=m arm64=m
+VIDEO_IMX334 all=m
+VIDEO_IMX335 all=m
VIDEO_IMX355 all=m
-VIDEO_IMX412 arm=m arm64=m
-VIDEO_IMX415 arm=m arm64=m
+VIDEO_IMX412 all=m
+VIDEO_IMX415 all=m
VIDEO_MT9M001 all=m
VIDEO_MT9M111 all=m
VIDEO_MT9M114 all=m
@@ -5189,8 +5232,8 @@ VIDEO_OV2680 all=m
VIDEO_OV2685 all=m
VIDEO_OV2740 all=m
VIDEO_OV4689 all=m
-VIDEO_OV5640 arm=m arm64=m
-VIDEO_OV5645 arm=m arm64=m
+VIDEO_OV5640 all=m
+VIDEO_OV5645 all=m
VIDEO_OV5647 all=m
VIDEO_OV5648 all=m
VIDEO_OV5670 all=m
@@ -5207,7 +5250,7 @@ VIDEO_OV7740 all=m
VIDEO_OV8856 all=m
VIDEO_OV8858 all=m
VIDEO_OV8865 all=m
-VIDEO_OV9282 arm=m arm64=m
+VIDEO_OV9282 all=m
VIDEO_OV9640 all=m
VIDEO_OV9650 all=m
VIDEO_OV9734 all=m
@@ -5217,7 +5260,7 @@ VIDEO_RJ54N1 all=m
VIDEO_S5C73M3 all=m
VIDEO_S5K5BAF all=m
VIDEO_S5K6A3 all=m
-VIDEO_VGXY61 arm=m arm64=m
+VIDEO_VGXY61 all=m
#- file drivers/media/i2c/ccs/Kconfig goes here
#- file drivers/media/i2c/et8ek8/Kconfig goes here
VIDEO_THP7312 all=m
@@ -5256,11 +5299,11 @@ VIDEO_SAA7127 all=m
VIDEO_SAA7185 all=m
VIDEO_UPD64031A all=m
VIDEO_UPD64083 all=m
-VIDEO_DS90UB913 arm=m arm64=m
-VIDEO_DS90UB953 arm=m arm64=m
-VIDEO_DS90UB960 arm=m arm64=m
-VIDEO_MAX96714 arm=m arm64=m
-VIDEO_MAX96717 arm=m arm64=m
+VIDEO_DS90UB913 all=m
+VIDEO_DS90UB953 all=m
+VIDEO_DS90UB960 all=m
+VIDEO_MAX96714 all=m
+VIDEO_MAX96717 all=m
#-
#- *** FILE: drivers/media/i2c/ccs/Kconfig ***
@@ -5537,7 +5580,7 @@ SDR_PLATFORM_DRIVERS all=y
DVB_PLATFORM_DRIVERS all=y
V4L_MEM2MEM_DRIVERS all=y
VIDEO_MEM2MEM_DEINTERLACE all=m
-VIDEO_MUX arm=m arm64=m
+VIDEO_MUX all=m
#- file drivers/media/platform/allegro-dvt/Kconfig goes here
#- file drivers/media/platform/amlogic/Kconfig goes here
#- file drivers/media/platform/amphion/Kconfig goes here
@@ -5605,6 +5648,11 @@ VIDEO_CAFE_CCIC all=m sparc=n
#-
VIDEO_RASPBERRYPI_PISP_BE all=m
+#-
+#- *** FILE: drivers/media/platform/raspberrypi/rp1-cfe/Kconfig ***
+#-
+VIDEO_RP1_CFE all=m
+
#-
#- *** FILE: drivers/media/platform/renesas/Kconfig ***
#-
@@ -5651,9 +5699,9 @@ VIDEO_VIA_CAMERA all=m
#- *** FILE: drivers/media/platform/xilinx/Kconfig ***
#-
#- Xilinx media platform drivers
-VIDEO_XILINX arm=m arm64=m
-VIDEO_XILINX_CSI2RXSS arm=m arm64=m
-VIDEO_XILINX_TPG arm=m arm64=m
+VIDEO_XILINX all=m
+VIDEO_XILINX_CSI2RXSS all=m
+VIDEO_XILINX_TPG all=m
VIDEO_XILINX_VTC arm=m arm64=m
#-
@@ -6126,23 +6174,24 @@ FUSION_LOGGING all=y sparc=n
#- *** FILE: drivers/mfd/Kconfig ***
#-
MFD_CS5535 all=m
-MFD_ADP5585 arm=m arm64=m
-MFD_ACT8945A arm=m arm64=m
+MFD_ADP5585 all=m
+MFD_ACT8945A all=m
MFD_SMPRO all=m
MFD_AT91_USART all=m
-MFD_ATMEL_FLEXCOM arm=m arm64=m
-MFD_ATMEL_HLCDC arm=m arm64=m
+MFD_ATMEL_FLEXCOM all=m
+MFD_ATMEL_HLCDC all=m
MFD_BCM590XX all=m
MFD_BD9571MWV all=m
MFD_AXP20X all=m
MFD_AXP20X_I2C all=m
+MFD_CGBC all=m
MFD_CROS_EC_DEV all=m
MFD_CS42L43_I2C all=m
MFD_CS42L43_SDW all=m
MFD_MADERA all=m
MFD_MADERA_I2C all=m
MFD_MADERA_SPI all=m
-MFD_MAX5970 arm=m arm64=m
+MFD_MAX5970 all=m
MFD_CS47L15 all=y
MFD_CS47L35 all=y
MFD_CS47L85 all=y
@@ -6155,13 +6204,13 @@ MFD_DA9063 all=m
MFD_DA9150 all=m
MFD_DLN2 all=m
MFD_EXYNOS_LPASS all=m
-MFD_GATEWORKS_GSC arm=m arm64=m
+MFD_GATEWORKS_GSC all=m
MFD_MC13XXX all=m
MFD_MC13XXX_SPI all=m
MFD_MC13XXX_I2C all=m
MFD_MP2629 all=m
-MFD_HI6421_PMIC arm=m arm64=m
-MFD_HI6421_SPMI arm=m arm64=m
+MFD_HI6421_PMIC all=m
+MFD_HI6421_SPMI all=m
MFD_INTEL_QUARK_I2C_GPIO all=m
LPC_ICH all=m
LPC_SCH all=m
@@ -6177,10 +6226,10 @@ MFD_KEMPLD all=m
MFD_88PM800 all=m
MFD_88PM805 all=m
MFD_MAX14577 all=m
-MFD_MAX77650 arm=m arm64=m
-MFD_MAX77686 arm=m arm64=m
+MFD_MAX77650 all=m
+MFD_MAX77686 all=m
MFD_MAX77693 all=m
-MFD_MAX77714 arm=m arm64=m
+MFD_MAX77714 all=m
MFD_MAX8907 all=m
MFD_MT6360 all=m
MFD_MT6370 all=m
@@ -6188,9 +6237,9 @@ MFD_MT6397 all=m
MFD_MENF21BMC all=m
MFD_OCELOT all=m
EZX_PCAP all=y
-MFD_CPCAP arm=m arm64=m
+MFD_CPCAP all=m
MFD_VIPERBOARD all=m
-MFD_NTXEC arm=m arm64=m
+MFD_NTXEC all=m
MFD_RETU all=m
MFD_PCF50633 all=m
PCF50633_ADC all=m
@@ -6201,8 +6250,8 @@ MFD_RDC321X all=m
MFD_RT4831=m
MFD_RT5033 all=m
MFD_RT5120 all=m
-MFD_RK8XX_I2C arm=m arm64=m
-MFD_RK8XX_SPI arm=m arm64=m
+MFD_RK8XX_I2C all=m
+MFD_RK8XX_SPI all=m
MFD_RN5T618 all=m
MFD_SI476X_CORE all=m
MFD_SIMPLE_MFD_I2C all=m
@@ -6224,9 +6273,9 @@ TPS6507X all=m
MFD_TPS65086 all=m
MFD_TPS65217 all=m
MFD_TI_LP873X all=m
-MFD_TI_LP87565 arm=m arm64=m
+MFD_TI_LP87565 all=m
MFD_TPS65218 all=m
-MFD_TPS65219 arm=m arm64=m
+MFD_TPS65219 all=m
MFD_TPS65912_I2C all=m
MFD_TPS65912_SPI all=y
MFD_TPS6594_I2C all=m
@@ -6252,15 +6301,15 @@ MFD_STMFX arm=m arm64=m
MFD_WCD934X all=m
MFD_ATC260X_I2C all=m
MFD_KHADAS_MCU arm64=m
-MFD_QCOM_PM8008 arm=m arm64=m
+MFD_QCOM_PM8008 all=m
MFD_CS40L50_I2C all=m
MFD_CS40L50_SPI all=m
MFD_VEXPRESS_SYSREG arm=m arm64=m
RAVE_SP_CORE all=m
MFD_INTEL_M10_BMC_SPI all=m
MFD_INTEL_M10_BMC_PMCI all=m
-MFD_RSMU_I2C arm=m arm64=m
-MFD_RSMU_SPI arm=m arm64=m
+MFD_RSMU_I2C all=m
+MFD_RSMU_SPI all=m
#-
#- *** FILE: drivers/misc/Kconfig ***
@@ -6283,7 +6332,7 @@ SMPRO_ERRMON all=m
SMPRO_MISC all=m
CS5535_MFGPT all=m
CS5535_CLOCK_EVENT_SRC all=m
-HI6421V600_IRQ arm=m arm64=m
+HI6421V600_IRQ all=m
HP_ILO all=m
SGI_GRU x86_64=m
SGI_GRU_DEBUG x86_64=n
@@ -6302,16 +6351,16 @@ SRAM all=n arm=y arm64=y
DW_XDATA_PCIE all=m
PCI_ENDPOINT_TEST all=m
XILINX_SDFEC all=m
-HISI_HIKEY_USB arm=m arm64=m
-OPEN_DICE arm=m arm64=m
-VCPU_STALL_DETECTOR arm=m arm64=m
+HISI_HIKEY_USB all=m
+OPEN_DICE all=m
+VCPU_STALL_DETECTOR all=m
TPS6594_ESM all=m
TPS6594_PFSM all=m
NSM all=m
+MCHP_LAN966X_PCI all=m
#- file drivers/misc/c2port/Kconfig goes here
#- file drivers/misc/eeprom/Kconfig goes here
#- file drivers/misc/cb710/Kconfig goes here
-#- file drivers/misc/ti-st/Kconfig goes here
#- file drivers/misc/lis3lv02d/Kconfig goes here
#- file drivers/misc/altera-stapl/Kconfig goes here
#- file drivers/misc/mei/Kconfig goes here
@@ -6384,6 +6433,7 @@ GENWQE_PLATFORM_ERROR_RECOVERY all=0
#- *** FILE: drivers/misc/keba/Kconfig ***
#-
KEBA_CP500 all=m
+KEBA_LAN9252 all=m
#-
#- *** FILE: drivers/misc/lis3lv02d/Kconfig ***
@@ -6431,11 +6481,6 @@ PVPANIC all=y
PVPANIC_MMIO all=m
PVPANIC_PCI all=m
-#-
-#- *** FILE: drivers/misc/ti-st/Kconfig ***
-#-
-TI_ST all=m
-
#-
#- *** FILE: drivers/misc/uacce/Kconfig ***
#-
@@ -6456,9 +6501,9 @@ MMC all=m
#-
#- *** FILE: drivers/mmc/core/Kconfig ***
#-
-PWRSEQ_EMMC arm=m arm64=m
-PWRSEQ_SD8787 arm=m arm64=m
-PWRSEQ_SIMPLE arm=m arm64=m
+PWRSEQ_EMMC all=m
+PWRSEQ_SD8787 all=m
+PWRSEQ_SIMPLE all=m
MMC_BLOCK all=m
MMC_BLOCK_MINORS all=8
SDIO_UART all=m
@@ -6477,15 +6522,15 @@ MMC_SDHCI_PCI all=m
MMC_RICOH_MMC all=y
MMC_SDHCI_ACPI all=m
MMC_SDHCI_PLTFM all=m
-MMC_SDHCI_OF_ARASAN arm=m arm64=m
+MMC_SDHCI_OF_ARASAN all=m
MMC_SDHCI_OF_ASPEED arm=m arm64=m
-MMC_SDHCI_OF_AT91 arm=m arm64=m
-MMC_SDHCI_OF_DWCMSHC arm=m arm64=m
-MMC_SDHCI_CADENCE arm=m arm64=m
+MMC_SDHCI_OF_AT91 all=m
+MMC_SDHCI_OF_DWCMSHC all=m
+MMC_SDHCI_CADENCE all=m
MMC_SDHCI_PXAV3 all=m
MMC_SDHCI_PXAV2 all=m
MMC_SDHCI_F_SDH30 all=m
-MMC_SDHCI_MILBEAUT arm=m arm64=m
+MMC_SDHCI_MILBEAUT all=m
MMC_SDHCI_IPROC arm=m arm64=m
MMC_MESON_GX arm64=m
MMC_MESON_MX_SDIO arm64=m
@@ -6520,7 +6565,7 @@ MMC_SDHCI_BRCMSTB arm=m arm64=m
MMC_SDHCI_XENON all=m
MMC_SDHCI_OMAP arm=m arm64=m
MMC_SDHCI_AM654 arm=m arm64=m
-MMC_LITEX arm=m arm64=m
+MMC_LITEX all=m
#-
#- *** FILE: drivers/most/Kconfig ***
@@ -6635,9 +6680,9 @@ MTD_PHYSMAP_COMPAT all=n
MTD_PHYSMAP_START all=0x8000000
MTD_PHYSMAP_LEN all=0x4000000
MTD_PHYSMAP_BANKWIDTH all=2
-MTD_PHYSMAP_OF arm=y arm64=y ppc=m ppc64=m
-MTD_PHYSMAP_VERSATILE arm=n arm64=n
-MTD_PHYSMAP_GEMINI arm=n arm64=n
+MTD_PHYSMAP_OF all=y
+MTD_PHYSMAP_VERSATILE all=y
+MTD_PHYSMAP_GEMINI all=y
MTD_PHYSMAP_IXP4XX arm=n
MTD_PHYSMAP_GPIO_ADDR all=y
MTD_SUN_UFLASH sparc=n sparc64=m
@@ -6700,9 +6745,9 @@ MTD_NAND_MXIC all=m
MTD_NAND_MESON arm64=m
MTD_NAND_GPIO all=m
MTD_NAND_PLATFORM all=m sparc=n
-MTD_NAND_CADENCE arm=m arm64=m
+MTD_NAND_CADENCE all=m
MTD_NAND_ARASAN all=m
-MTD_NAND_INTEL_LGM arm=m arm64=m
+MTD_NAND_INTEL_LGM all=m
MTD_NAND_ROCKCHIP arm64=m
MTD_NAND_PL35X arm=m
#- Misc
@@ -6731,7 +6776,7 @@ MTD_SPI_NAND all=m
#- *** FILE: drivers/mtd/parsers/Kconfig ***
#-
MTD_CMDLINE_PARTS all=m
-MTD_OF_PARTS arm=m arm64=m ppc=m ppc64=m
+MTD_OF_PARTS all=m
MTD_AFS_PARTS arm=m arm64=m
MTD_REDBOOT_PARTS all=m
MTD_REDBOOT_DIRECTORY_BLOCK all=-1
@@ -6765,7 +6810,7 @@ MTD_UBI_NVMEM all=m
MUX_ADG792A all=m
MUX_ADGS1408 all=m
MUX_GPIO all=m
-MUX_MMIO arm=m arm64=m
+MUX_MMIO all=m
#-
#- *** FILE: drivers/net/Kconfig ***
@@ -6874,8 +6919,8 @@ CAN_VXCAN all=m
CAN_NETLINK all=y
CAN_CALC_BITTIMING all=y
CAN_CAN327 all=m
-CAN_FLEXCAN arm=m arm64=m
-CAN_GRCAN arm=m arm64=m
+CAN_FLEXCAN all=m
+CAN_GRCAN all=m
CAN_JANZ_ICAN3 all=m
CAN_KVASER_PCIEFD all=m
CAN_SLCAN all=m
@@ -6915,7 +6960,7 @@ CAN_CC770_PLATFORM all=m
#- *** FILE: drivers/net/can/ctucanfd/Kconfig ***
#-
CAN_CTUCANFD_PCI all=m
-CAN_CTUCANFD_PLATFORM arm=m arm64=m
+CAN_CTUCANFD_PLATFORM all=m
#-
#- *** FILE: drivers/net/can/esd/Kconfig ***
@@ -7053,6 +7098,7 @@ NET_DSA_MICROCHIP_KSZ8863_SMI all=m
#-
NET_DSA_MV88E6XXX all=m
NET_DSA_MV88E6XXX_PTP all=y
+NET_DSA_MV88E6XXX_LEDS all=y
#-
#- *** FILE: drivers/net/dsa/ocelot/Kconfig ***
@@ -7072,7 +7118,7 @@ NET_DSA_QCA8K_LEDS_SUPPORT all=y
#- *** FILE: drivers/net/dsa/realtek/Kconfig ***
#-
NET_DSA_REALTEK all=m
-NET_DSA_REALTEK_MDIO arm=y arm64=y
+NET_DSA_REALTEK_MDIO all=y
NET_DSA_REALTEK_SMI all=n arm=y arm64=y
NET_DSA_REALTEK_RTL8365MB all=m
NET_DSA_REALTEK_RTL8366RB all=m
@@ -7415,7 +7461,7 @@ ENIC all=m
#- *** FILE: drivers/net/ethernet/cortina/Kconfig ***
#-
NET_VENDOR_CORTINA all=y
-GEMINI_ETHERNET arm=m arm64=m
+GEMINI_ETHERNET all=m
#-
#- *** FILE: drivers/net/ethernet/davicom/Kconfig ***
@@ -7452,8 +7498,6 @@ PCMCIA_XIRCOM all=m
#-
NET_VENDOR_DLINK all=y
DL2K all=m
-SUNDANCE all=m
-SUNDANCE_MMIO all=n sparc=y sparc64=y
#-
#- *** FILE: drivers/net/ethernet/emulex/Kconfig ***
@@ -7483,7 +7527,7 @@ TSNEP_SELFTESTS all=n
#- *** FILE: drivers/net/ethernet/ezchip/Kconfig ***
#-
NET_VENDOR_EZCHIP all=y
-EZCHIP_NPS_MANAGEMENT_ENET arm=m arm64=m
+EZCHIP_NPS_MANAGEMENT_ENET all=m
#-
#- *** FILE: drivers/net/ethernet/faraday/Kconfig ***
@@ -7530,7 +7574,7 @@ GVE all=m
#-
#- *** FILE: drivers/net/ethernet/hisilicon/Kconfig ***
#-
-NET_VENDOR_HISILICON arm=y arm64=y
+NET_VENDOR_HISILICON all=y
HIX5HD2_GMAC arm=m arm64=m
HISI_FEMAC arm=m arm64=m
HIP04_ETH arm=m arm64=m
@@ -7543,6 +7587,7 @@ HNS3_HCLGE arm=m arm64=m
HNS3_DCB arm=n arm64=n
HNS3_HCLGEVF arm=m arm64=m
HNS3_ENET arm64=m
+HIBMCGE all=m
#-
#- *** FILE: drivers/net/ethernet/huawei/Kconfig ***
@@ -7608,7 +7653,7 @@ IDPF_SINGLEQ all=n
#- *** FILE: drivers/net/ethernet/litex/Kconfig ***
#-
NET_VENDOR_LITEX all=y
-LITEX_LITEETH arm=m arm64=m
+LITEX_LITEETH all=m
#-
#- *** FILE: drivers/net/ethernet/marvell/Kconfig ***
@@ -7754,8 +7799,8 @@ LAN865X all=m
#-
#- *** FILE: drivers/net/ethernet/microchip/lan966x/Kconfig ***
#-
-LAN966X_SWITCH arm=m arm64=m
-LAN966X_DCB arm=y arm64=y
+LAN966X_SWITCH all=m
+LAN966X_DCB all=y
#-
#- *** FILE: drivers/net/ethernet/microchip/vcap/Kconfig ***
@@ -7863,8 +7908,8 @@ QEDE all=m
#- *** FILE: drivers/net/ethernet/qualcomm/Kconfig ***
#-
NET_VENDOR_QUALCOMM all=y
-QCA7000_SPI arm=m arm64=m
-QCA7000_UART arm=m arm64=m
+QCA7000_SPI all=m
+QCA7000_UART all=m
QCOM_EMAC all=m
#- file drivers/net/ethernet/qualcomm/rmnet/Kconfig goes here
@@ -7984,11 +8029,11 @@ NET_VENDOR_STMICRO all=y
STMMAC_ETH all=m
STMMAC_SELFTESTS all=n
STMMAC_PLATFORM all=m
-DWMAC_DWC_QOS_ETH arm=m arm64=m
+DWMAC_DWC_QOS_ETH all=m
DWMAC_GENERIC all=m
DWMAC_MESON arm64=m
DWMAC_ROCKCHIP arm64=m
-DWMAC_INTEL_PLAT arm=m arm64=m
+DWMAC_INTEL_PLAT all=m
DWMAC_INTEL all=m
DWMAC_LOONGSON=m
STMMAC_PCI all=n
@@ -8143,19 +8188,19 @@ MDIO_BITBANG all=m
MDIO_BCM_UNIMAC all=m
MDIO_CAVIUM all=m
MDIO_GPIO all=m
-MDIO_HISI_FEMAC arm=m arm64=m
+MDIO_HISI_FEMAC all=m
MDIO_MVUSB all=m
MDIO_MSCC_MIIM all=m
MDIO_OCTEON all=m
-MDIO_IPQ4019 arm=m arm64=m
-MDIO_IPQ8064 arm=m arm64=m
+MDIO_IPQ4019 all=m
+MDIO_IPQ8064 all=m
MDIO_THUNDER all=m
#- MDIO Multiplexers
MDIO_BUS_MUX_MESON_G12A arm64=m
MDIO_BUS_MUX_MESON_GXL arm64=m
-MDIO_BUS_MUX_GPIO arm=m arm64=m
-MDIO_BUS_MUX_MULTIPLEXER arm=m arm64=m
-MDIO_BUS_MUX_MMIOREG arm=m arm64=m
+MDIO_BUS_MUX_GPIO all=m
+MDIO_BUS_MUX_MULTIPLEXER all=m
+MDIO_BUS_MUX_MMIOREG all=m
#-
#- *** FILE: drivers/net/pcs/Kconfig ***
@@ -8195,7 +8240,7 @@ MARVELL_10G_PHY all=m
MARVELL_88Q2XXX_PHY all=m
MARVELL_88X2222_PHY all=m
MAXLINEAR_GPHY all=m
-MEDIATEK_GE_PHY=m
+#- file drivers/net/phy/mediatek/Kconfig goes here
MICREL_PHY all=m
MICROCHIP_T1S_PHY all=m
MICROCHIP_PHY all=m
@@ -8231,13 +8276,18 @@ MICREL_KS8995MA all=m
#-
AQUANTIA_PHY all=m
+#-
+#- *** FILE: drivers/net/phy/mediatek/Kconfig ***
+#-
+MEDIATEK_GE_PHY=m
+
#-
#- *** FILE: drivers/net/phy/qcom/Kconfig ***
#-
AT803X_PHY all=m
QCA83XX_PHY all=m
QCA808X_PHY all=m
-QCA807X_PHY arm=m arm64=m
+QCA807X_PHY all=m
#-
#- *** FILE: drivers/net/plip/Kconfig ***
@@ -8371,7 +8421,7 @@ LAPBETHER all=m
#- *** FILE: drivers/net/wan/framer/Kconfig ***
#-
FRAMER all=m
-FRAMER_PEF2256 arm=m arm64=m
+FRAMER_PEF2256 all=m
#-
#- *** FILE: drivers/net/wireless/Kconfig ***
@@ -8430,7 +8480,7 @@ AR5523 all=m
#-
ATH10K all=m
ATH10K_PCI all=m
-ATH10K_AHB arm=n arm64=n
+ATH10K_AHB arm=n arm64=n all=y
ATH10K_SDIO all=m
ATH10K_USB all=m
ATH10K_DEBUG all=n
@@ -8452,6 +8502,7 @@ ATH11K_TRACING all=n
ATH12K all=m
ATH12K_DEBUG all=n
ATH12K_TRACING all=n
+ATH12K_COREDUMP all=n
#-
#- *** FILE: drivers/net/wireless/ath/ath5k/Kconfig ***
@@ -8833,6 +8884,8 @@ RTW88_8723DU all=m
RTW88_8821CE all=m
RTW88_8821CS all=m
RTW88_8821CU all=m
+RTW88_8821AU all=m
+RTW88_8812AU all=m
RTW88_DEBUG all=n
RTW88_DEBUGFS all=n
@@ -9081,7 +9134,7 @@ BLK_DEV_PMEM all=m
BTT all=y
NVDIMM_PFN all=y
NVDIMM_DAX all=y
-OF_PMEM arm64=m
+OF_PMEM all=y
NVDIMM_SECURITY_TEST all=n
#-
@@ -9130,20 +9183,20 @@ NVMEM_RMEM all=m
NVMEM_ROCKCHIP_EFUSE arm64=m
NVMEM_ROCKCHIP_OTP arm64=m
NVMEM_SPMI_SDAM all=m
-NVMEM_U_BOOT_ENV arm=m arm64=m
+NVMEM_U_BOOT_ENV all=m
#-
#- *** FILE: drivers/nvmem/layouts/Kconfig ***
#-
NVMEM_LAYOUT_SL28_VPD all=m
NVMEM_LAYOUT_ONIE_TLV all=m
-NVMEM_LAYOUT_U_BOOT_ENV arm=m arm64=m
+NVMEM_LAYOUT_U_BOOT_ENV all=y
#-
#- *** FILE: drivers/of/Kconfig ***
#-
OF all=n arm=y arm64=y
-OF_UNITTEST arm=n arm64=n
+OF_UNITTEST all=y
OF_OVERLAY arm=y arm64=y
#-
@@ -9176,17 +9229,18 @@ PCI_IOV all=y
PCI_NPEM all=y
PCI_PRI all=y
PCI_PASID all=y
+PCIE_TPH all=y
PCI_P2PDMA all=y
PCI_LABEL all=y
PCI_HYPERV all=m
-PCI_DYNAMIC_OF_NODES arm=n arm64=n
+PCI_DYNAMIC_OF_NODES all=y
VGA_ARB all=y
VGA_ARB_MAX_GPUS all=16
#- file drivers/pci/hotplug/Kconfig goes here
#- file drivers/pci/controller/Kconfig goes here
#- file drivers/pci/endpoint/Kconfig goes here
#- file drivers/pci/switch/Kconfig goes here
-#- file drivers/pci/pwrctl/Kconfig goes here
+#- file drivers/pci/pwrctrl/Kconfig goes here
#-
#- *** FILE: drivers/pci/controller/Kconfig ***
@@ -9196,8 +9250,8 @@ PCIE_ALTERA_MSI arm=m arm64=m
PCIE_BRCMSTB arm=m arm64=m
PCI_HOST_THUNDER_PEM arm64=n
PCI_HOST_THUNDER_ECAM arm64=n
-PCI_FTPCI100 arm=n arm64=n
-PCI_HOST_GENERIC arm=m arm64=y
+PCI_FTPCI100 all=y
+PCI_HOST_GENERIC all=m
PCIE_HISI_ERR arm64=n
PCI_IXP4XX arm=n
VMD all=m
@@ -9208,7 +9262,7 @@ PCIE_ROCKCHIP_EP arm64=y
PCI_V3_SEMI arm=n
PCI_XGENE arm64=y
PCI_XGENE_MSI arm64=y
-PCIE_XILINX arm=n arm64=n
+PCIE_XILINX all=y
#- file drivers/pci/controller/cadence/Kconfig goes here
#- file drivers/pci/controller/dwc/Kconfig goes here
#- file drivers/pci/controller/mobiveil/Kconfig goes here
@@ -9217,8 +9271,8 @@ PCIE_XILINX arm=n arm64=n
#-
#- *** FILE: drivers/pci/controller/cadence/Kconfig ***
#-
-PCIE_CADENCE_PLAT_HOST arm=n arm64=n
-PCIE_CADENCE_PLAT_EP arm=n arm64=n
+PCIE_CADENCE_PLAT_HOST all=y
+PCIE_CADENCE_PLAT_EP all=y
PCI_J721E_HOST arm=n arm64=n
PCI_J721E_EP arm=n arm64=n
@@ -9232,6 +9286,7 @@ PCI_LAYERSCAPE arm=n
PCI_LAYERSCAPE_EP arm=n
PCI_HISI arm64=y
PCIE_KIRIN arm64=n
+PCIE_INTEL_GW all=y
PCIE_ARMADA_8K arm=y
PCIE_DW_PLAT all=y
PCIE_DW_PLAT_HOST all=y
@@ -9247,7 +9302,7 @@ PCIE_LAYERSCAPE_GEN4 arm64=n
#-
#- *** FILE: drivers/pci/controller/plda/Kconfig ***
#-
-PCIE_MICROCHIP_HOST arm=n arm64=n
+PCIE_MICROCHIP_HOST all=m
#-
#- *** FILE: drivers/pci/endpoint/Kconfig ***
@@ -9277,6 +9332,7 @@ HOTPLUG_PCI_ACPI_IBM all=m
HOTPLUG_PCI_CPCI all=y
HOTPLUG_PCI_CPCI_ZT5550 i386=m x86_64=m
HOTPLUG_PCI_CPCI_GENERIC i386=m x86_64=m
+HOTPLUG_PCI_OCTEONEP all=y
HOTPLUG_PCI_SHPC all=y
HOTPLUG_PCI_RPA ppc64=n
@@ -9382,6 +9438,7 @@ GENERIC_PHY all=y
PHY_XGENE arm64=m
USB_LGM_PHY all=m
PHY_CAN_TRANSCEIVER=m
+PHY_NXP_PTN3222 all=m
#- file drivers/phy/allwinner/Kconfig goes here
#- file drivers/phy/amlogic/Kconfig goes here
#- file drivers/phy/broadcom/Kconfig goes here
@@ -9431,11 +9488,11 @@ BCM_KONA_USB2_PHY all=m
#-
#- *** FILE: drivers/phy/cadence/Kconfig ***
#-
-PHY_CADENCE_TORRENT arm=m arm64=m
-PHY_CADENCE_DPHY arm=m arm64=m
-PHY_CADENCE_DPHY_RX arm=m arm64=m
-PHY_CADENCE_SIERRA arm=m arm64=m
-PHY_CADENCE_SALVO arm=m arm64=m
+PHY_CADENCE_TORRENT all=m
+PHY_CADENCE_DPHY all=m
+PHY_CADENCE_DPHY_RX all=m
+PHY_CADENCE_SIERRA all=m
+PHY_CADENCE_SALVO all=m
#-
#- *** FILE: drivers/phy/freescale/Kconfig ***
@@ -9447,6 +9504,7 @@ PHY_FSL_IMX8M_PCIE arm=m arm64=m
#-
#- *** FILE: drivers/phy/intel/Kconfig ***
#-
+PHY_INTEL_LGM_COMBO all=y
PHY_INTEL_LGM_EMMC all=m
#-
@@ -9463,18 +9521,18 @@ PHY_PXA_28NM_USB2 all=m
#-
#- *** FILE: drivers/phy/microchip/Kconfig ***
#-
-PHY_LAN966X_SERDES arm=m arm64=m
+PHY_LAN966X_SERDES all=m
#-
#- *** FILE: drivers/phy/motorola/Kconfig ***
#-
PHY_CPCAP_USB all=m
-PHY_MAPPHONE_MDM6600 arm=m arm64=m
+PHY_MAPPHONE_MDM6600 all=m
#-
#- *** FILE: drivers/phy/mscc/Kconfig ***
#-
-PHY_OCELOT_SERDES arm=m arm64=m
+PHY_OCELOT_SERDES all=m
#-
#- *** FILE: drivers/phy/qualcomm/Kconfig ***
@@ -9522,22 +9580,19 @@ PINCONF all=y
GENERIC_PINCONF all=y
DEBUG_PINCTRL all=n
PINCTRL_AMD all=y
-PINCTRL_AXP209 arm=m arm64=m
-PINCTRL_AW9523 arm=m arm64=m
+PINCTRL_AXP209 all=m
+PINCTRL_AW9523 all=m
PINCTRL_CY8C95X0 all=m
PINCTRL_DA9062 all=m
-PINCTRL_EQUILIBRIUM arm64=m
+PINCTRL_EQUILIBRIUM all=m
PINCTRL_MCP23S08 all=m
-PINCTRL_MICROCHIP_SGPIO arm=n arm64=n
-PINCTRL_OCELOT arm=n arm64=n
-PINCTRL_PEF2256 arm=m arm64=m
-PINCTRL_RK805 arm=m arm64=m
-PINCTRL_ROCKCHIP arm64=m
-PINCTRL_SCMI arm=m arm64=m
-PINCTRL_SINGLE arm=m arm64=m
-PINCTRL_STMFX arm=m arm64=m
-PINCTRL_TPS6594 arm=m arm64=m
-PINCTRL_MLXBF3 arm64=m
+PINCTRL_MICROCHIP_SGPIO all=m
+PINCTRL_OCELOT all=m
+PINCTRL_PEF2256 all=m
+PINCTRL_RK805 all=m
+PINCTRL_SINGLE all=m
+PINCTRL_STMFX all=m
+PINCTRL_TPS6594 all=m
#- file drivers/pinctrl/actions/Kconfig goes here
#- file drivers/pinctrl/aspeed/Kconfig goes here
#- file drivers/pinctrl/bcm/Kconfig goes here
@@ -9557,6 +9612,7 @@ PINCTRL_MLXBF3 arm64=m
#- file drivers/pinctrl/renesas/Kconfig goes here
#- file drivers/pinctrl/samsung/Kconfig goes here
#- file drivers/pinctrl/sophgo/Kconfig goes here
+#- file drivers/pinctrl/spacemit/Kconfig goes here
#- file drivers/pinctrl/spear/Kconfig goes here
#- file drivers/pinctrl/sprd/Kconfig goes here
#- file drivers/pinctrl/starfive/Kconfig goes here
@@ -9636,9 +9692,10 @@ CHROMEOS_ACPI all=m
CHROMEOS_LAPTOP all=m
CHROMEOS_PSTORE all=m
CHROMEOS_TBMC all=m
+CHROMEOS_OF_HW_PROBER all=m
CROS_EC all=m
CROS_EC_I2C all=m
-CROS_EC_RPMSG arm=m arm64=m
+CROS_EC_RPMSG all=m
CROS_EC_ISHTP all=m
CROS_EC_SPI all=m
CROS_EC_UART all=m
@@ -9646,7 +9703,7 @@ CROS_EC_LPC all=m
CROS_KBD_LED_BACKLIGHT all=m
CROS_EC_CHARDEV all=m
CROS_EC_LIGHTBAR all=m
-CROS_EC_VBC arm=m arm64=m
+CROS_EC_VBC all=m
CROS_EC_DEBUGFS all=m
CROS_EC_SENSORHUB all=m
CROS_EC_SYSFS all=m
@@ -9802,11 +9859,19 @@ SEL3350_PLATFORM all=m
#-
#- *** FILE: drivers/platform/x86/amd/Kconfig ***
#-
+#- file drivers/platform/x86/amd/hsmp/Kconfig goes here
#- file drivers/platform/x86/amd/pmf/Kconfig goes here
#- file drivers/platform/x86/amd/pmc/Kconfig goes here
-AMD_HSMP all=m
+AMD_3D_VCACHE all=m
AMD_WBRF all=y
+#-
+#- *** FILE: drivers/platform/x86/amd/hsmp/Kconfig ***
+#-
+AMD_HSMP all=m
+AMD_HSMP_ACPI all=m
+AMD_HSMP_PLAT all=m
+
#-
#- *** FILE: drivers/platform/x86/amd/pmc/Kconfig ***
#-
@@ -10011,22 +10076,22 @@ POWER_RESET all=y
POWER_RESET_ATC260X all=m
POWER_RESET_BRCMKONA arm=n
POWER_RESET_BRCMSTB arm=n arm64=n
-POWER_RESET_GPIO arm=y arm64=y
-POWER_RESET_GPIO_RESTART arm=y arm64=y
+POWER_RESET_GPIO all=y
+POWER_RESET_GPIO_RESTART all=y
POWER_RESET_LINKSTATION arm=m
-POWER_RESET_LTC2952 arm=n arm64=n
+POWER_RESET_LTC2952 all=y
POWER_RESET_MT6323 all=y
POWER_RESET_QNAP arm=y
-POWER_RESET_REGULATOR arm=n arm64=n
+POWER_RESET_REGULATOR all=y
POWER_RESET_RESTART all=n
POWER_RESET_TPS65086 all=y
POWER_RESET_VERSATILE arm=n
POWER_RESET_VEXPRESS arm64=y
POWER_RESET_XGENE arm64=y
-POWER_RESET_SYSCON arm=y arm64=y
-POWER_RESET_SYSCON_POWEROFF arm=y arm64=y
-SYSCON_REBOOT_MODE arm=m arm64=m
-NVMEM_REBOOT_MODE arm=m arm64=m
+POWER_RESET_SYSCON all=y
+POWER_RESET_SYSCON_POWEROFF all=y
+SYSCON_REBOOT_MODE all=m
+NVMEM_REBOOT_MODE all=m
POWER_MLXBF arm64=m
#-
@@ -10049,8 +10114,8 @@ WM831X_POWER all=m
WM8350_POWER all=m
TEST_POWER all=m
CHARGER_ADP5061 all=m
-BATTERY_ACT8945A arm=m arm64=m
-BATTERY_CPCAP arm=m arm64=m
+BATTERY_ACT8945A all=m
+BATTERY_CPCAP all=m
BATTERY_CW2015 all=m
BATTERY_DS2760 all=m
BATTERY_DS2780 all=m
@@ -10058,7 +10123,7 @@ BATTERY_DS2781 all=m
BATTERY_DS2782 all=m
BATTERY_LEGO_EV3 arm=m arm64=m
BATTERY_PMU ppc=m
-BATTERY_QCOM_BATTMGR arm=m arm64=m
+BATTERY_QCOM_BATTMGR all=m
BATTERY_SAMSUNG_SDI all=y
BATTERY_SBS all=m
CHARGER_SBS all=m
@@ -10089,8 +10154,8 @@ CHARGER_MANAGER all=y
CHARGER_LT3651 all=m
CHARGER_LTC4162L all=m
CHARGER_MAX14577 all=m
-CHARGER_DETECTOR_MAX14656 arm=m arm64=m
-CHARGER_MAX77650 arm=m arm64=m
+CHARGER_DETECTOR_MAX14656 all=m
+CHARGER_MAX77650 all=m
CHARGER_MAX77693 all=m
CHARGER_MAX77976 all=m
CHARGER_MP2629 all=m
@@ -10104,7 +10169,7 @@ CHARGER_BQ2515X all=m
CHARGER_BQ25890 all=m
<Skipped 1009 lines>
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/kernel.git/commitdiff/5ed629965fea7dc96c7bf77fc4c7eae2de989fd0
More information about the pld-cvs-commit
mailing list