android_kernel_xiaomi_sm8450/arch/arm/Kconfig

2122 lines
65 KiB
Plaintext
Raw Normal View History

License cleanup: add SPDX GPL-2.0 license identifier to files with no license Many source files in the tree are missing licensing information, which makes it harder for compliance tools to determine the correct license. By default all files without license information are under the default license of the kernel, which is GPL version 2. Update the files which contain no license information with the 'GPL-2.0' SPDX license identifier. The SPDX identifier is a legally binding shorthand, which can be used instead of the full boiler plate text. This patch is based on work done by Thomas Gleixner and Kate Stewart and Philippe Ombredanne. How this work was done: Patches were generated and checked against linux-4.14-rc6 for a subset of the use cases: - file had no licensing information it it. - file was a */uapi/* one with no licensing information in it, - file was a */uapi/* one with existing licensing information, Further patches will be generated in subsequent months to fix up cases where non-standard license headers were used, and references to license had to be inferred by heuristics based on keywords. The analysis to determine which SPDX License Identifier to be applied to a file was done in a spreadsheet of side by side results from of the output of two independent scanners (ScanCode & Windriver) producing SPDX tag:value files created by Philippe Ombredanne. Philippe prepared the base worksheet, and did an initial spot review of a few 1000 files. The 4.13 kernel was the starting point of the analysis with 60,537 files assessed. Kate Stewart did a file by file comparison of the scanner results in the spreadsheet to determine which SPDX license identifier(s) to be applied to the file. She confirmed any determination that was not immediately clear with lawyers working with the Linux Foundation. Criteria used to select files for SPDX license identifier tagging was: - Files considered eligible had to be source code files. - Make and config files were included as candidates if they contained >5 lines of source - File already had some variant of a license header in it (even if <5 lines). All documentation files were explicitly excluded. The following heuristics were used to determine which SPDX license identifiers to apply. - when both scanners couldn't find any license traces, file was considered to have no license information in it, and the top level COPYING file license applied. For non */uapi/* files that summary was: SPDX license identifier # files ---------------------------------------------------|------- GPL-2.0 11139 and resulted in the first patch in this series. If that file was a */uapi/* path one, it was "GPL-2.0 WITH Linux-syscall-note" otherwise it was "GPL-2.0". Results of that was: SPDX license identifier # files ---------------------------------------------------|------- GPL-2.0 WITH Linux-syscall-note 930 and resulted in the second patch in this series. - if a file had some form of licensing information in it, and was one of the */uapi/* ones, it was denoted with the Linux-syscall-note if any GPL family license was found in the file or had no licensing in it (per prior point). Results summary: SPDX license identifier # files ---------------------------------------------------|------ GPL-2.0 WITH Linux-syscall-note 270 GPL-2.0+ WITH Linux-syscall-note 169 ((GPL-2.0 WITH Linux-syscall-note) OR BSD-2-Clause) 21 ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) 17 LGPL-2.1+ WITH Linux-syscall-note 15 GPL-1.0+ WITH Linux-syscall-note 14 ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) 5 LGPL-2.0+ WITH Linux-syscall-note 4 LGPL-2.1 WITH Linux-syscall-note 3 ((GPL-2.0 WITH Linux-syscall-note) OR MIT) 3 ((GPL-2.0 WITH Linux-syscall-note) AND MIT) 1 and that resulted in the third patch in this series. - when the two scanners agreed on the detected license(s), that became the concluded license(s). - when there was disagreement between the two scanners (one detected a license but the other didn't, or they both detected different licenses) a manual inspection of the file occurred. - In most cases a manual inspection of the information in the file resulted in a clear resolution of the license that should apply (and which scanner probably needed to revisit its heuristics). - When it was not immediately clear, the license identifier was confirmed with lawyers working with the Linux Foundation. - If there was any question as to the appropriate license identifier, the file was flagged for further research and to be revisited later in time. In total, over 70 hours of logged manual review was done on the spreadsheet to determine the SPDX license identifiers to apply to the source files by Kate, Philippe, Thomas and, in some cases, confirmation by lawyers working with the Linux Foundation. Kate also obtained a third independent scan of the 4.13 code base from FOSSology, and compared selected files where the other two scanners disagreed against that SPDX file, to see if there was new insights. The Windriver scanner is based on an older version of FOSSology in part, so they are related. Thomas did random spot checks in about 500 files from the spreadsheets for the uapi headers and agreed with SPDX license identifier in the files he inspected. For the non-uapi files Thomas did random spot checks in about 15000 files. In initial set of patches against 4.14-rc6, 3 files were found to have copy/paste license identifier errors, and have been fixed to reflect the correct identifier. Additionally Philippe spent 10 hours this week doing a detailed manual inspection and review of the 12,461 patched files from the initial patch version early this week with: - a full scancode scan run, collecting the matched texts, detected license ids and scores - reviewing anything where there was a license detected (about 500+ files) to ensure that the applied SPDX license was correct - reviewing anything where there was no detection but the patch license was not GPL-2.0 WITH Linux-syscall-note to ensure that the applied SPDX license was correct This produced a worksheet with 20 files needing minor correction. This worksheet was then exported into 3 different .csv files for the different types of files to be modified. These .csv files were then reviewed by Greg. Thomas wrote a script to parse the csv files and add the proper SPDX tag to the file, in the format that the file expected. This script was further refined by Greg based on the output to detect more types of files automatically and to distinguish between header and source .c files (which need different comment types.) Finally Greg ran the script using the .csv files to generate the patches. Reviewed-by: Kate Stewart <kstewart@linuxfoundation.org> Reviewed-by: Philippe Ombredanne <pombredanne@nexb.com> Reviewed-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2017-11-01 23:07:57 +09:00
# SPDX-License-Identifier: GPL-2.0
config ARM
bool
default y
select ARCH_32BIT_OFF_T
select ARCH_HAS_BINFMT_FLAT
select ARCH_HAS_CPU_FINALIZE_INIT if MMU
ARM: 8738/1: Disable CONFIG_DEBUG_VIRTUAL for NOMMU While running MPS2 platform (NOMMU) with DTB placed below PHYS_OFFSET following warning poped up: ------------[ cut here ]------------ WARNING: CPU: 0 PID: 0 at arch/arm/mm/physaddr.c:42 __virt_to_phys+0x2f/0x40 virt_to_phys used for non-linear address: 00004000 (0x4000) CPU: 0 PID: 0 Comm: swapper Not tainted 4.15.0-rc1-5a31bf2-clean+ #2767 Hardware name: MPS2 (Device Tree Support) [<2100bf39>] (unwind_backtrace) from [<2100b3ff>] (show_stack+0xb/0xc) [<2100b3ff>] (show_stack) from [<2100e697>] (__warn+0x87/0xac) [<2100e697>] (__warn) from [<2100e6db>] (warn_slowpath_fmt+0x1f/0x28) [<2100e6db>] (warn_slowpath_fmt) from [<2100c603>] (__virt_to_phys+0x2f/0x40) [<2100c603>] (__virt_to_phys) from [<2116a499>] (early_init_fdt_reserve_self+0xd/0x24) [<2116a499>] (early_init_fdt_reserve_self) from [<2116222d>] (arm_memblock_init+0xb5/0xf8) [<2116222d>] (arm_memblock_init) from [<21161cad>] (setup_arch+0x38b/0x50e) [<21161cad>] (setup_arch) from [<21160455>] (start_kernel+0x31/0x280) [<21160455>] (start_kernel) from [<00000000>] ( (null)) random: get_random_bytes called from init_oops_id+0x17/0x2c with crng_init=0 ---[ end trace 0000000000000000 ]--- Platforms without MMU support run with 1:1 (i.e. linear) memory mapping, so disable CONFIG_DEBUG_VIRTUAL. Fixes: e377cd8221eb ("ARM: 8640/1: Add support for CONFIG_DEBUG_VIRTUAL") Signed-off-by: Vladimir Murzin <vladimir.murzin@arm.com> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2017-12-18 19:48:42 +09:00
select ARCH_HAS_DEBUG_VIRTUAL if MMU
select ARCH_HAS_DEVMEM_IS_ALLOWED
select ARCH_HAS_DMA_PREP_COHERENT if IOMMU_DMA
select ARCH_HAS_DMA_WRITE_COMBINE if !ARM_DMA_MEM_BUFFERABLE
mm: expose arch_mmap_rnd when available When an architecture fully supports randomizing the ELF load location, a per-arch mmap_rnd() function is used to find a randomized mmap base. In preparation for randomizing the location of ET_DYN binaries separately from mmap, this renames and exports these functions as arch_mmap_rnd(). Additionally introduces CONFIG_ARCH_HAS_ELF_RANDOMIZE for describing this feature on architectures that support it (which is a superset of ARCH_BINFMT_ELF_RANDOMIZE_PIE, since s390 already supports a separated ET_DYN ASLR from mmap ASLR without the ARCH_BINFMT_ELF_RANDOMIZE_PIE logic). Signed-off-by: Kees Cook <keescook@chromium.org> Cc: Hector Marco-Gisbert <hecmargi@upv.es> Cc: Russell King <linux@arm.linux.org.uk> Reviewed-by: Ingo Molnar <mingo@kernel.org> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Alexander Viro <viro@zeniv.linux.org.uk> Cc: Oleg Nesterov <oleg@redhat.com> Cc: Andy Lutomirski <luto@amacapital.net> Cc: "David A. Long" <dave.long@linaro.org> Cc: Andrey Ryabinin <a.ryabinin@samsung.com> Cc: Arun Chandran <achandran@mvista.com> Cc: Yann Droneaud <ydroneaud@opteya.com> Cc: Min-Hua Chen <orca.chen@gmail.com> Cc: Paul Burton <paul.burton@imgtec.com> Cc: Alex Smith <alex@alex-smith.me.uk> Cc: Markos Chandras <markos.chandras@imgtec.com> Cc: Vineeth Vijayan <vvijayan@mvista.com> Cc: Jeff Bailey <jeffbailey@google.com> Cc: Michael Holzheu <holzheu@linux.vnet.ibm.com> Cc: Ben Hutchings <ben@decadent.org.uk> Cc: Behan Webster <behanw@converseincode.com> Cc: Ismael Ripoll <iripoll@upv.es> Cc: Jan-Simon Mller <dl9pf@gmx.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2015-04-15 07:48:00 +09:00
select ARCH_HAS_ELF_RANDOMIZE
select ARCH_HAS_FORTIFY_SOURCE
select ARCH_HAS_KEEPINITRD
select ARCH_HAS_KCOV
select ARCH_HAS_MEMBARRIER_SYNC_CORE
bpf: Restrict bpf_probe_read{, str}() only to archs where they work Given the legacy bpf_probe_read{,str}() BPF helpers are broken on archs with overlapping address ranges, we should really take the next step to disable them from BPF use there. To generally fix the situation, we've recently added new helper variants bpf_probe_read_{user,kernel}() and bpf_probe_read_{user,kernel}_str(). For details on them, see 6ae08ae3dea2 ("bpf: Add probe_read_{user, kernel} and probe_read_{user,kernel}_str helpers"). Given bpf_probe_read{,str}() have been around for ~5 years by now, there are plenty of users at least on x86 still relying on them today, so we cannot remove them entirely w/o breaking the BPF tracing ecosystem. However, their use should be restricted to archs with non-overlapping address ranges where they are working in their current form. Therefore, move this behind a CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE and have x86, arm64, arm select it (other archs supporting it can follow-up on it as well). For the remaining archs, they can workaround easily by relying on the feature probe from bpftool which spills out defines that can be used out of BPF C code to implement the drop-in replacement for old/new kernels via: bpftool feature probe macro Suggested-by: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Reviewed-by: Masami Hiramatsu <mhiramat@kernel.org> Acked-by: Linus Torvalds <torvalds@linux-foundation.org> Cc: Brendan Gregg <brendan.d.gregg@gmail.com> Cc: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/bpf/20200515101118.6508-2-daniel@iogearbox.net
2020-05-15 19:11:16 +09:00
select ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE
mm: introduce ARCH_HAS_PTE_SPECIAL Currently the PTE special supports is turned on in per architecture header files. Most of the time, it is defined in arch/*/include/asm/pgtable.h depending or not on some other per architecture static definition. This patch introduce a new configuration variable to manage this directly in the Kconfig files. It would later replace __HAVE_ARCH_PTE_SPECIAL. Here notes for some architecture where the definition of __HAVE_ARCH_PTE_SPECIAL is not obvious: arm __HAVE_ARCH_PTE_SPECIAL which is currently defined in arch/arm/include/asm/pgtable-3level.h which is included by arch/arm/include/asm/pgtable.h when CONFIG_ARM_LPAE is set. So select ARCH_HAS_PTE_SPECIAL if ARM_LPAE. powerpc __HAVE_ARCH_PTE_SPECIAL is defined in 2 files: - arch/powerpc/include/asm/book3s/64/pgtable.h - arch/powerpc/include/asm/pte-common.h The first one is included if (PPC_BOOK3S & PPC64) while the second is included in all the other cases. So select ARCH_HAS_PTE_SPECIAL all the time. sparc: __HAVE_ARCH_PTE_SPECIAL is defined if defined(__sparc__) && defined(__arch64__) which are defined through the compiler in sparc/Makefile if !SPARC32 which I assume to be if SPARC64. So select ARCH_HAS_PTE_SPECIAL if SPARC64 There is no functional change introduced by this patch. Link: http://lkml.kernel.org/r/1523433816-14460-2-git-send-email-ldufour@linux.vnet.ibm.com Signed-off-by: Laurent Dufour <ldufour@linux.vnet.ibm.com> Suggested-by: Jerome Glisse <jglisse@redhat.com> Reviewed-by: Jerome Glisse <jglisse@redhat.com> Acked-by: David Rientjes <rientjes@google.com> Cc: Michal Hocko <mhocko@kernel.org> Cc: "Aneesh Kumar K . V" <aneesh.kumar@linux.vnet.ibm.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Paul Mackerras <paulus@samba.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Rich Felker <dalias@libc.org> Cc: David S. Miller <davem@davemloft.net> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: Vineet Gupta <vgupta@synopsys.com> Cc: Palmer Dabbelt <palmer@sifive.com> Cc: Albert Ou <albert@sifive.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: David Rientjes <rientjes@google.com> Cc: Robin Murphy <robin.murphy@arm.com> Cc: Christophe LEROY <christophe.leroy@c-s.fr> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2018-06-08 09:06:08 +09:00
select ARCH_HAS_PTE_SPECIAL if ARM_LPAE
select ARCH_HAS_PHYS_TO_DMA
select ARCH_HAS_SETUP_DMA_OPS
select ARCH_HAS_SET_MEMORY
select ARCH_HAS_STRICT_KERNEL_RWX if MMU && !XIP_KERNEL
select ARCH_HAS_STRICT_MODULE_RWX if MMU
select ARCH_HAS_SYNC_DMA_FOR_DEVICE if SWIOTLB || IOMMU_DMA
select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB || IOMMU_DMA
select ARCH_HAS_TEARDOWN_DMA_OPS if MMU
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
select ARCH_HAVE_CUSTOM_GPIO_H
select ARCH_HAS_GCOV_PROFILE_ALL
arm: remove CONFIG_ARCH_HAS_HOLES_MEMORYMODEL commit 5e545df3292fbd3d5963c68980f1527ead2a2b3f upstream. ARM is the only architecture that defines CONFIG_ARCH_HAS_HOLES_MEMORYMODEL which in turn enables memmap_valid_within() function that is intended to verify existence of struct page associated with a pfn when there are holes in the memory map. However, the ARCH_HAS_HOLES_MEMORYMODEL also enables HAVE_ARCH_PFN_VALID and arch-specific pfn_valid() implementation that also deals with the holes in the memory map. The only two users of memmap_valid_within() call this function after a call to pfn_valid() so the memmap_valid_within() check becomes redundant. Remove CONFIG_ARCH_HAS_HOLES_MEMORYMODEL and memmap_valid_within() and rely entirely on ARM's implementation of pfn_valid() that is now enabled unconditionally. Link: https://lkml.kernel.org/r/20201101170454.9567-9-rppt@kernel.org Signed-off-by: Mike Rapoport <rppt@linux.ibm.com> Cc: Alexey Dobriyan <adobriyan@gmail.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Greg Ungerer <gerg@linux-m68k.org> Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Matt Turner <mattst88@gmail.com> Cc: Meelis Roos <mroos@linux.ee> Cc: Michael Schmitz <schmitzmic@gmail.com> Cc: Russell King <linux@armlinux.org.uk> Cc: Tony Luck <tony.luck@intel.com> Cc: Vineet Gupta <vgupta@synopsys.com> Cc: Will Deacon <will@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Reported-by: kernel test robot <lkp@intel.com> Fixes: 8dd559d53b3b ("arm: ioremap: don't abuse pfn_valid() to check if pfn is in RAM") Signed-off-by: Mike Rapoport <rppt@linux.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-15 12:09:55 +09:00
select ARCH_KEEP_MEMBLOCK
select ARCH_MIGHT_HAVE_PC_PARPORT
select ARCH_NO_SG_CHAIN if !ARM_HAS_SG_CHAIN
select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if CPU_V7
select ARCH_SUPPORTS_ATOMIC_RMW
select ARCH_USE_BUILTIN_BSWAP
select ARCH_USE_CMPXCHG_LOCKREF
select ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT if MMU
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select ARCH_WANT_IPC_PARSE_VERSION
select ARCH_WANT_LD_ORPHAN_WARN
select BINFMT_FLAT_ARGVP_ENVP_ON_STACK
select BUILDTIME_TABLE_SORT if MMU
select CLONE_BACKWARDS
select CPU_PM if SUSPEND || CPU_IDLE
select DCACHE_WORD_ACCESS if HAVE_EFFICIENT_UNALIGNED_ACCESS
select DMA_DECLARE_COHERENT
select DMA_DIRECT_REMAP
select DMA_OPS
EDAC: Cleanup atomic_scrub mess So first of all, this atomic_scrub() function's naming is bad. It looks like an atomic_t helper. Change it to edac_atomic_scrub(). The bigger problem is that this function is arch-specific and every new arch which doesn't necessarily need that functionality still needs to define it, otherwise EDAC doesn't compile. So instead of doing that and including arch-specific headers, have each arch define an EDAC_ATOMIC_SCRUB symbol which can be used in edac_mc.c for ifdeffery. Much cleaner. And we already are doing this with another symbol - EDAC_SUPPORT. This is also much cleaner than having CONFIG_EDAC enumerate all the arches which need/have EDAC support and drivers. This way I can kill the useless edac.h header in tile too. Acked-by: Ralf Baechle <ralf@linux-mips.org> Acked-by: Michael Ellerman <mpe@ellerman.id.au> Acked-by: Chris Metcalf <cmetcalf@ezchip.com> Acked-by: Ingo Molnar <mingo@kernel.org> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Doug Thompson <dougthompson@xmission.com> Cc: linux-arm-kernel@lists.infradead.org Cc: linux-edac@vger.kernel.org Cc: linux-kernel@vger.kernel.org Cc: linux-mips@linux-mips.org Cc: linuxppc-dev@lists.ozlabs.org Cc: "Maciej W. Rozycki" <macro@codesourcery.com> Cc: Markos Chandras <markos.chandras@imgtec.com> Cc: Mauro Carvalho Chehab <mchehab@osg.samsung.com> Cc: Paul Mackerras <paulus@samba.org> Cc: "Steven J. Hill" <Steven.Hill@imgtec.com> Cc: x86@kernel.org Signed-off-by: Borislav Petkov <bp@suse.de>
2015-05-22 02:59:31 +09:00
select EDAC_SUPPORT
select EDAC_ATOMIC_SCRUB
select GENERIC_ALLOCATOR
select GENERIC_ARCH_TOPOLOGY if ARM_CPU_TOPOLOGY
select GENERIC_ATOMIC64 if CPU_V7M || CPU_V6 || !CPU_32v6K || !AEABI
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select GENERIC_CLOCKEVENTS_BROADCAST if SMP
select GENERIC_IRQ_IPI if SMP
select ARCH_WANTS_IRQ_RAW if GENERIC_IRQ_IPI
select GENERIC_CPU_AUTOPROBE
select GENERIC_EARLY_IOREMAP
select GENERIC_IDLE_POLL_SETUP
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select GENERIC_IRQ_PROBE
select GENERIC_IRQ_SHOW
select GENERIC_IRQ_SHOW_LEVEL
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select GENERIC_PCI_IOMAP
select GENERIC_SCHED_CLOCK
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select GENERIC_SMP_IDLE_THREAD
select GENERIC_STRNCPY_FROM_USER
select GENERIC_STRNLEN_USER
select HANDLE_DOMAIN_IRQ
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select HARDIRQS_SW_RESEND
select HAVE_ARCH_AUDITSYSCALL if AEABI && !OABI_COMPAT
select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6
select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU
select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32 && MMU
arm: mm: support ARCH_MMAP_RND_BITS arm: arch_mmap_rnd() uses a hard-code value of 8 to generate the random offset for the mmap base address. This value represents a compromise between increased ASLR effectiveness and avoiding address-space fragmentation. Replace it with a Kconfig option, which is sensibly bounded, so that platform developers may choose where to place this compromise. Keep 8 as the minimum acceptable value. [arnd@arndb.de: ARM: avoid ARCH_MMAP_RND_BITS for NOMMU] Signed-off-by: Daniel Cashman <dcashman@google.com> Cc: Russell King <linux@arm.linux.org.uk> Acked-by: Kees Cook <keescook@chromium.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Don Zickus <dzickus@redhat.com> Cc: Eric W. Biederman <ebiederm@xmission.com> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> Cc: Andrea Arcangeli <aarcange@redhat.com> Cc: Mel Gorman <mgorman@suse.de> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: David Rientjes <rientjes@google.com> Cc: Mark Salyzyn <salyzyn@android.com> Cc: Jeff Vander Stoep <jeffv@google.com> Cc: Nick Kralevich <nnk@google.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Hector Marco-Gisbert <hecmargi@upv.es> Cc: Borislav Petkov <bp@suse.de> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-01-15 08:19:57 +09:00
select HAVE_ARCH_MMAP_RND_BITS if MMU
select HAVE_ARCH_SECCOMP
select HAVE_ARCH_SECCOMP_FILTER if AEABI && !OABI_COMPAT
select HAVE_ARCH_THREAD_STRUCT_WHITELIST
select HAVE_ARCH_TRACEHOOK
select HAVE_ARM_SMCCC if CPU_V7
select HAVE_EBPF_JIT if !CPU_ENDIAN_BE32
select HAVE_CONTEXT_TRACKING
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select HAVE_C_RECORDMCOUNT
select HAVE_DEBUG_KMEMLEAK if !XIP_KERNEL
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select HAVE_DMA_CONTIGUOUS if MMU
select HAVE_DYNAMIC_FTRACE if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU
select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE
select HAVE_EFFICIENT_UNALIGNED_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && MMU
exit_thread: remove empty bodies Define HAVE_EXIT_THREAD for archs which want to do something in exit_thread. For others, let's define exit_thread as an empty inline. This is a cleanup before we change the prototype of exit_thread to accept a task parameter. [akpm@linux-foundation.org: fix mips] Signed-off-by: Jiri Slaby <jslaby@suse.cz> Cc: "David S. Miller" <davem@davemloft.net> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: "James E.J. Bottomley" <jejb@parisc-linux.org> Cc: Aurelien Jacquiot <a-jacquiot@ti.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Chen Liqin <liqin.linux@gmail.com> Cc: Chris Metcalf <cmetcalf@mellanox.com> Cc: Chris Zankel <chris@zankel.net> Cc: David Howells <dhowells@redhat.com> Cc: Fenghua Yu <fenghua.yu@intel.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Guan Xuetao <gxt@mprc.pku.edu.cn> Cc: Haavard Skinnemoen <hskinnemoen@gmail.com> Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Helge Deller <deller@gmx.de> Cc: Ingo Molnar <mingo@redhat.com> Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru> Cc: James Hogan <james.hogan@imgtec.com> Cc: Jeff Dike <jdike@addtoit.com> Cc: Jesper Nilsson <jesper.nilsson@axis.com> Cc: Jiri Slaby <jslaby@suse.cz> Cc: Jonas Bonn <jonas@southpole.se> Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com> Cc: Lennox Wu <lennox.wu@gmail.com> Cc: Ley Foon Tan <lftan@altera.com> Cc: Mark Salter <msalter@redhat.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Matt Turner <mattst88@gmail.com> Cc: Max Filippov <jcmvbkbc@gmail.com> Cc: Michael Ellerman <mpe@ellerman.id.au> Cc: Michal Simek <monstr@monstr.eu> Cc: Mikael Starvik <starvik@axis.com> Cc: Paul Mackerras <paulus@samba.org> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Rich Felker <dalias@libc.org> Cc: Richard Henderson <rth@twiddle.net> Cc: Richard Kuo <rkuo@codeaurora.org> Cc: Richard Weinberger <richard@nod.at> Cc: Russell King <linux@arm.linux.org.uk> Cc: Steven Miao <realmz6@gmail.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Tony Luck <tony.luck@intel.com> Cc: Vineet Gupta <vgupta@synopsys.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-05-21 09:00:16 +09:00
select HAVE_EXIT_THREAD
select HAVE_FAST_GUP if ARM_LPAE
select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
select HAVE_FUNCTION_GRAPH_TRACER if !THUMB2_KERNEL && !CC_IS_CLANG
select HAVE_FUNCTION_TRACER if !XIP_KERNEL
select HAVE_FUTEX_CMPXCHG if FUTEX
GCC plugin infrastructure This patch allows to build the whole kernel with GCC plugins. It was ported from grsecurity/PaX. The infrastructure supports building out-of-tree modules and building in a separate directory. Cross-compilation is supported too. Currently the x86, arm, arm64 and uml architectures enable plugins. The directory of the gcc plugins is scripts/gcc-plugins. You can use a file or a directory there. The plugins compile with these options: * -fno-rtti: gcc is compiled with this option so the plugins must use it too * -fno-exceptions: this is inherited from gcc too * -fasynchronous-unwind-tables: this is inherited from gcc too * -ggdb: it is useful for debugging a plugin (better backtrace on internal errors) * -Wno-narrowing: to suppress warnings from gcc headers (ipa-utils.h) * -Wno-unused-variable: to suppress warnings from gcc headers (gcc_version variable, plugin-version.h) The infrastructure introduces a new Makefile target called gcc-plugins. It supports all gcc versions from 4.5 to 6.0. The scripts/gcc-plugin.sh script chooses the proper host compiler (gcc-4.7 can be built by either gcc or g++). This script also checks the availability of the included headers in scripts/gcc-plugins/gcc-common.h. The gcc-common.h header contains frequently included headers for GCC plugins and it has a compatibility layer for the supported gcc versions. The gcc-generate-*-pass.h headers automatically generate the registration structures for GIMPLE, SIMPLE_IPA, IPA and RTL passes. Note that 'make clean' keeps the *.so files (only the distclean or mrproper targets clean all) because they are needed for out-of-tree modules. Based on work created by the PaX Team. Signed-off-by: Emese Revfy <re.emese@gmail.com> Acked-by: Kees Cook <keescook@chromium.org> Signed-off-by: Michal Marek <mmarek@suse.com>
2016-05-24 07:09:38 +09:00
select HAVE_GCC_PLUGINS
select HAVE_HW_BREAKPOINT if PERF_EVENTS && (CPU_V6 || CPU_V6K || CPU_V7)
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select HAVE_IDE if PCI || ISA || PCMCIA
select HAVE_IRQ_TIME_ACCOUNTING
select HAVE_KERNEL_GZIP
select HAVE_KERNEL_LZ4
select HAVE_KERNEL_LZMA
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select HAVE_KERNEL_LZO
select HAVE_KERNEL_XZ
select HAVE_KPROBES if !XIP_KERNEL && !CPU_ENDIAN_BE32 && !CPU_V7M
select HAVE_KRETPROBES if HAVE_KPROBES
select HAVE_MOD_ARCH_SPECIFIC
printk/nmi: generic solution for safe printk in NMI printk() takes some locks and could not be used a safe way in NMI context. The chance of a deadlock is real especially when printing stacks from all CPUs. This particular problem has been addressed on x86 by the commit a9edc8809328 ("x86/nmi: Perform a safe NMI stack trace on all CPUs"). The patchset brings two big advantages. First, it makes the NMI backtraces safe on all architectures for free. Second, it makes all NMI messages almost safe on all architectures (the temporary buffer is limited. We still should keep the number of messages in NMI context at minimum). Note that there already are several messages printed in NMI context: WARN_ON(in_nmi()), BUG_ON(in_nmi()), anything being printed out from MCE handlers. These are not easy to avoid. This patch reuses most of the code and makes it generic. It is useful for all messages and architectures that support NMI. The alternative printk_func is set when entering and is reseted when leaving NMI context. It queues IRQ work to copy the messages into the main ring buffer in a safe context. __printk_nmi_flush() copies all available messages and reset the buffer. Then we could use a simple cmpxchg operations to get synchronized with writers. There is also used a spinlock to get synchronized with other flushers. We do not longer use seq_buf because it depends on external lock. It would be hard to make all supported operations safe for a lockless use. It would be confusing and error prone to make only some operations safe. The code is put into separate printk/nmi.c as suggested by Steven Rostedt. It needs a per-CPU buffer and is compiled only on architectures that call nmi_enter(). This is achieved by the new HAVE_NMI Kconfig flag. The are MN10300 and Xtensa architectures. We need to clean up NMI handling there first. Let's do it separately. The patch is heavily based on the draft from Peter Zijlstra, see https://lkml.org/lkml/2015/6/10/327 [arnd@arndb.de: printk-nmi: use %zu format string for size_t] [akpm@linux-foundation.org: min_t->min - all types are size_t here] Signed-off-by: Petr Mladek <pmladek@suse.com> Suggested-by: Peter Zijlstra <peterz@infradead.org> Suggested-by: Steven Rostedt <rostedt@goodmis.org> Cc: Jan Kara <jack@suse.cz> Acked-by: Russell King <rmk+kernel@arm.linux.org.uk> [arm part] Cc: Daniel Thompson <daniel.thompson@linaro.org> Cc: Jiri Kosina <jkosina@suse.com> Cc: Ingo Molnar <mingo@redhat.com> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: David Miller <davem@davemloft.net> Cc: Daniel Thompson <daniel.thompson@linaro.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-05-21 09:00:33 +09:00
select HAVE_NMI
select HAVE_OPROFILE if HAVE_PERF_EVENTS
select HAVE_OPTPROBES if !THUMB2_KERNEL
select HAVE_PERF_EVENTS
select HAVE_PERF_REGS
select HAVE_PERF_USER_STACK_DUMP
select MMU_GATHER_RCU_TABLE_FREE if SMP && ARM_LPAE
select HAVE_REGS_AND_STACK_ACCESS_API
select HAVE_RSEQ
select HAVE_STACKPROTECTOR
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select HAVE_SYSCALL_TRACEPOINTS
select HAVE_UID16
select HAVE_VIRT_CPU_ACCOUNTING_GEN
select IRQ_FORCED_THREADING
select MODULES_USE_ELF_REL
select NEED_DMA_MAP_STATE
select OF_EARLY_FLATTREE if OF
select OLD_SIGACTION
select OLD_SIGSUSPEND3
select PCI_SYSCALL if PCI
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select PERF_USE_VMALLOC
select RTC_LIB
select SET_FS
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select SYS_SUPPORTS_APM_EMULATION
select IOMMU_DMA if IOMMU_SUPPORT
# Above selects are sorted alphabetically; please add new ones
# according to that. Thanks.
help
The ARM series is a line of low-power-consumption RISC chip designs
licensed by ARM Ltd and targeted at embedded applications and
handhelds such as the Compaq IPAQ. ARM-based PCs are no longer
manufactured, but legacy ARM-based PC hardware remains popular in
Europe. There is an ARM Linux project with a web page at
<http://www.arm.linux.org.uk/>.
config ARM_HAS_SG_CHAIN
bool
ARM: dma-mapping: add support for IOMMU mapper This patch add a complete implementation of DMA-mapping API for devices which have IOMMU support. This implementation tries to optimize dma address space usage by remapping all possible physical memory chunks into a single dma address space chunk. DMA address space is managed on top of the bitmap stored in the dma_iommu_mapping structure stored in device->archdata. Platform setup code has to initialize parameters of the dma address space (base address, size, allocation precision order) with arm_iommu_create_mapping() function. To reduce the size of the bitmap, all allocations are aligned to the specified order of base 4 KiB pages. dma_alloc_* functions allocate physical memory in chunks, each with alloc_pages() function to avoid failing if the physical memory gets fragmented. In worst case the allocated buffer is composed of 4 KiB page chunks. dma_map_sg() function minimizes the total number of dma address space chunks by merging of physical memory chunks into one larger dma address space chunk. If requested chunk (scatter list entry) boundaries match physical page boundaries, most calls to dma_map_sg() requests will result in creating only one chunk in dma address space. dma_map_page() simply creates a mapping for the given page(s) in the dma address space. All dma functions also perform required cache operation like their counterparts from the arm linear physical memory mapping version. This patch contains code and fixes kindly provided by: - Krishna Reddy <vdumpa@nvidia.com>, - Andrzej Pietrasiewicz <andrzej.p@samsung.com>, - Hiroshi DOYU <hdoyu@nvidia.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Tested-By: Subash Patel <subash.ramaswamy@linaro.org>
2012-05-16 22:48:21 +09:00
config ARM_DMA_USE_IOMMU
bool
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select ARM_HAS_SG_CHAIN
select NEED_SG_DMA_LENGTH
ARM: dma-mapping: add support for IOMMU mapper This patch add a complete implementation of DMA-mapping API for devices which have IOMMU support. This implementation tries to optimize dma address space usage by remapping all possible physical memory chunks into a single dma address space chunk. DMA address space is managed on top of the bitmap stored in the dma_iommu_mapping structure stored in device->archdata. Platform setup code has to initialize parameters of the dma address space (base address, size, allocation precision order) with arm_iommu_create_mapping() function. To reduce the size of the bitmap, all allocations are aligned to the specified order of base 4 KiB pages. dma_alloc_* functions allocate physical memory in chunks, each with alloc_pages() function to avoid failing if the physical memory gets fragmented. In worst case the allocated buffer is composed of 4 KiB page chunks. dma_map_sg() function minimizes the total number of dma address space chunks by merging of physical memory chunks into one larger dma address space chunk. If requested chunk (scatter list entry) boundaries match physical page boundaries, most calls to dma_map_sg() requests will result in creating only one chunk in dma address space. dma_map_page() simply creates a mapping for the given page(s) in the dma address space. All dma functions also perform required cache operation like their counterparts from the arm linear physical memory mapping version. This patch contains code and fixes kindly provided by: - Krishna Reddy <vdumpa@nvidia.com>, - Andrzej Pietrasiewicz <andrzej.p@samsung.com>, - Hiroshi DOYU <hdoyu@nvidia.com> Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Acked-by: Kyungmin Park <kyungmin.park@samsung.com> Reviewed-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Tested-By: Subash Patel <subash.ramaswamy@linaro.org>
2012-05-16 22:48:21 +09:00
if ARM_DMA_USE_IOMMU
config ARM_DMA_IOMMU_ALIGNMENT
int "Maximum PAGE_SIZE order of alignment for DMA IOMMU buffers"
range 4 9
default 9
help
DMA mapping framework by default aligns all buffers to the smallest
PAGE_SIZE order which is greater than or equal to the requested buffer
size. This works well for buffers up to a few hundreds kilobytes, but
for larger buffers it just a waste of address space. Drivers which has
relatively small addressing window (like 64Mib) might run out of
virtual space with just a few allocations.
With this parameter you can specify the maximum PAGE_SIZE order for
DMA IOMMU buffers. Larger buffers will be aligned only to this
specified order. The order is expressed as a power of two multiplied
by the PAGE_SIZE.
endif
config SYS_SUPPORTS_APM_EMULATION
bool
config HAVE_TCM
bool
select GENERIC_ALLOCATOR
config HAVE_PROC_CPU
bool
config NO_IOPORT_MAP
bool
config SBUS
bool
config STACKTRACE_SUPPORT
bool
default y
config LOCKDEP_SUPPORT
bool
default y
config TRACE_IRQFLAGS_SUPPORT
bool
default !CPU_V7M
config ARCH_HAS_ILOG2_U32
bool
config ARCH_HAS_ILOG2_U64
bool
config ARCH_HAS_BANDGAP
bool
config FIX_EARLYCON_MEM
def_bool y if MMU
config GENERIC_HWEIGHT
bool
default y
config GENERIC_CALIBRATE_DELAY
bool
default y
config ARCH_MAY_HAVE_PC_FDC
bool
config ZONE_DMA
bool
config ARCH_SUPPORTS_UPROBES
def_bool y
config ARCH_HAS_DMA_SET_COHERENT_MASK
bool
config GENERIC_ISA_DMA
bool
config FIQ
bool
config NEED_RET_TO_USER
bool
config ARCH_MTD_XIP
bool
ARM: P2V: introduce phys_to_virt/virt_to_phys runtime patching This idea came from Nicolas, Eric Miao produced an initial version, which was then rewritten into this. Patch the physical to virtual translations at runtime. As we modify the code, this makes it incompatible with XIP kernels, but allows us to achieve this with minimal loss of performance. As many translations are of the form: physical = virtual + (PHYS_OFFSET - PAGE_OFFSET) virtual = physical - (PHYS_OFFSET - PAGE_OFFSET) we generate an 'add' instruction for __virt_to_phys(), and a 'sub' instruction for __phys_to_virt(). We calculate at run time (PHYS_OFFSET - PAGE_OFFSET) by comparing the address prior to MMU initialization with where it should be once the MMU has been initialized, and place this constant into the above add/sub instructions. Once we have (PHYS_OFFSET - PAGE_OFFSET), we can calculate the real PHYS_OFFSET as PAGE_OFFSET is a build-time constant, and save this for the C-mode PHYS_OFFSET variable definition to use. At present, we are unable to support Realview with Sparsemem enabled as this uses a complex mapping function, and MSM as this requires a constant which will not fit in our math instruction. Add a module version magic string for this feature to prevent incompatible modules being loaded. Tested-by: Tony Lindgren <tony@atomide.com> Reviewed-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Nicolas Pitre <nicolas.pitre@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-01-05 04:09:43 +09:00
config ARM_PATCH_PHYS_VIRT
bool "Patch physical to virtual translations at runtime" if EMBEDDED
default y
depends on !XIP_KERNEL && MMU
ARM: P2V: introduce phys_to_virt/virt_to_phys runtime patching This idea came from Nicolas, Eric Miao produced an initial version, which was then rewritten into this. Patch the physical to virtual translations at runtime. As we modify the code, this makes it incompatible with XIP kernels, but allows us to achieve this with minimal loss of performance. As many translations are of the form: physical = virtual + (PHYS_OFFSET - PAGE_OFFSET) virtual = physical - (PHYS_OFFSET - PAGE_OFFSET) we generate an 'add' instruction for __virt_to_phys(), and a 'sub' instruction for __phys_to_virt(). We calculate at run time (PHYS_OFFSET - PAGE_OFFSET) by comparing the address prior to MMU initialization with where it should be once the MMU has been initialized, and place this constant into the above add/sub instructions. Once we have (PHYS_OFFSET - PAGE_OFFSET), we can calculate the real PHYS_OFFSET as PAGE_OFFSET is a build-time constant, and save this for the C-mode PHYS_OFFSET variable definition to use. At present, we are unable to support Realview with Sparsemem enabled as this uses a complex mapping function, and MSM as this requires a constant which will not fit in our math instruction. Add a module version magic string for this feature to prevent incompatible modules being loaded. Tested-by: Tony Lindgren <tony@atomide.com> Reviewed-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Nicolas Pitre <nicolas.pitre@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-01-05 04:09:43 +09:00
help
Patch phys-to-virt and virt-to-phys translation functions at
boot and module load time according to the position of the
kernel in system memory.
ARM: P2V: introduce phys_to_virt/virt_to_phys runtime patching This idea came from Nicolas, Eric Miao produced an initial version, which was then rewritten into this. Patch the physical to virtual translations at runtime. As we modify the code, this makes it incompatible with XIP kernels, but allows us to achieve this with minimal loss of performance. As many translations are of the form: physical = virtual + (PHYS_OFFSET - PAGE_OFFSET) virtual = physical - (PHYS_OFFSET - PAGE_OFFSET) we generate an 'add' instruction for __virt_to_phys(), and a 'sub' instruction for __phys_to_virt(). We calculate at run time (PHYS_OFFSET - PAGE_OFFSET) by comparing the address prior to MMU initialization with where it should be once the MMU has been initialized, and place this constant into the above add/sub instructions. Once we have (PHYS_OFFSET - PAGE_OFFSET), we can calculate the real PHYS_OFFSET as PAGE_OFFSET is a build-time constant, and save this for the C-mode PHYS_OFFSET variable definition to use. At present, we are unable to support Realview with Sparsemem enabled as this uses a complex mapping function, and MSM as this requires a constant which will not fit in our math instruction. Add a module version magic string for this feature to prevent incompatible modules being loaded. Tested-by: Tony Lindgren <tony@atomide.com> Reviewed-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Nicolas Pitre <nicolas.pitre@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-01-05 04:09:43 +09:00
This can only be used with non-XIP MMU kernels where the base
of physical memory is at a 16MB boundary.
ARM: P2V: introduce phys_to_virt/virt_to_phys runtime patching This idea came from Nicolas, Eric Miao produced an initial version, which was then rewritten into this. Patch the physical to virtual translations at runtime. As we modify the code, this makes it incompatible with XIP kernels, but allows us to achieve this with minimal loss of performance. As many translations are of the form: physical = virtual + (PHYS_OFFSET - PAGE_OFFSET) virtual = physical - (PHYS_OFFSET - PAGE_OFFSET) we generate an 'add' instruction for __virt_to_phys(), and a 'sub' instruction for __phys_to_virt(). We calculate at run time (PHYS_OFFSET - PAGE_OFFSET) by comparing the address prior to MMU initialization with where it should be once the MMU has been initialized, and place this constant into the above add/sub instructions. Once we have (PHYS_OFFSET - PAGE_OFFSET), we can calculate the real PHYS_OFFSET as PAGE_OFFSET is a build-time constant, and save this for the C-mode PHYS_OFFSET variable definition to use. At present, we are unable to support Realview with Sparsemem enabled as this uses a complex mapping function, and MSM as this requires a constant which will not fit in our math instruction. Add a module version magic string for this feature to prevent incompatible modules being loaded. Tested-by: Tony Lindgren <tony@atomide.com> Reviewed-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Nicolas Pitre <nicolas.pitre@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-01-05 04:09:43 +09:00
Only disable this option if you know that you do not require
this feature (eg, building a kernel for a single machine) and
you need to shrink the kernel to the minimal size.
ARM: P2V: introduce phys_to_virt/virt_to_phys runtime patching This idea came from Nicolas, Eric Miao produced an initial version, which was then rewritten into this. Patch the physical to virtual translations at runtime. As we modify the code, this makes it incompatible with XIP kernels, but allows us to achieve this with minimal loss of performance. As many translations are of the form: physical = virtual + (PHYS_OFFSET - PAGE_OFFSET) virtual = physical - (PHYS_OFFSET - PAGE_OFFSET) we generate an 'add' instruction for __virt_to_phys(), and a 'sub' instruction for __phys_to_virt(). We calculate at run time (PHYS_OFFSET - PAGE_OFFSET) by comparing the address prior to MMU initialization with where it should be once the MMU has been initialized, and place this constant into the above add/sub instructions. Once we have (PHYS_OFFSET - PAGE_OFFSET), we can calculate the real PHYS_OFFSET as PAGE_OFFSET is a build-time constant, and save this for the C-mode PHYS_OFFSET variable definition to use. At present, we are unable to support Realview with Sparsemem enabled as this uses a complex mapping function, and MSM as this requires a constant which will not fit in our math instruction. Add a module version magic string for this feature to prevent incompatible modules being loaded. Tested-by: Tony Lindgren <tony@atomide.com> Reviewed-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Nicolas Pitre <nicolas.pitre@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-01-05 04:09:43 +09:00
config NEED_MACH_IO_H
bool
help
Select this when mach/io.h is required to provide special
definitions for this platform. The need for mach/io.h should
be avoided when possible.
config NEED_MACH_MEMORY_H
bool
help
Select this when mach/memory.h is required to provide special
definitions for this platform. The need for mach/memory.h should
be avoided when possible.
ARM: P2V: introduce phys_to_virt/virt_to_phys runtime patching This idea came from Nicolas, Eric Miao produced an initial version, which was then rewritten into this. Patch the physical to virtual translations at runtime. As we modify the code, this makes it incompatible with XIP kernels, but allows us to achieve this with minimal loss of performance. As many translations are of the form: physical = virtual + (PHYS_OFFSET - PAGE_OFFSET) virtual = physical - (PHYS_OFFSET - PAGE_OFFSET) we generate an 'add' instruction for __virt_to_phys(), and a 'sub' instruction for __phys_to_virt(). We calculate at run time (PHYS_OFFSET - PAGE_OFFSET) by comparing the address prior to MMU initialization with where it should be once the MMU has been initialized, and place this constant into the above add/sub instructions. Once we have (PHYS_OFFSET - PAGE_OFFSET), we can calculate the real PHYS_OFFSET as PAGE_OFFSET is a build-time constant, and save this for the C-mode PHYS_OFFSET variable definition to use. At present, we are unable to support Realview with Sparsemem enabled as this uses a complex mapping function, and MSM as this requires a constant which will not fit in our math instruction. Add a module version magic string for this feature to prevent incompatible modules being loaded. Tested-by: Tony Lindgren <tony@atomide.com> Reviewed-by: Nicolas Pitre <nicolas.pitre@linaro.org> Tested-by: Nicolas Pitre <nicolas.pitre@linaro.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-01-05 04:09:43 +09:00
config PHYS_OFFSET
hex "Physical address of main memory" if MMU
depends on !ARM_PATCH_PHYS_VIRT
default DRAM_BASE if !MMU
default 0x00000000 if ARCH_EBSA110 || \
ARCH_FOOTBRIDGE
default 0x10000000 if ARCH_OMAP1 || ARCH_RPC
default 0x20000000 if ARCH_S5PV210
default 0xc0000000 if ARCH_SA1100
help
Please provide the physical address corresponding to the
location of main memory in your system.
ARM: 7017/1: Use generic BUG() handler ARM uses its own BUG() handler which makes its output slightly different from other archtectures. One of the problems is that the ARM implementation doesn't report the function with the BUG() in it, but always reports the PC being in __bug(). The generic implementation doesn't have this problem. Currently we get something like: kernel BUG at fs/proc/breakme.c:35! Unable to handle kernel NULL pointer dereference at virtual address 00000000 ... PC is at __bug+0x20/0x2c With this patch it displays: kernel BUG at fs/proc/breakme.c:35! Internal error: Oops - undefined instruction: 0 [#1] PREEMPT SMP ... PC is at write_breakme+0xd0/0x1b4 This implementation uses an undefined instruction to implement BUG, and sets up a bug table containing the relevant information. Many versions of gcc do not support %c properly for ARM (inserting a # when they shouldn't) so we work around this using distasteful macro magic. v1: Initial version to replace existing ARM BUG() implementation with something more similar to other architectures. v2: Add Thumb support, remove backtrace whitespace output changes. Change to use macros instead of requiring the asm %d flag to work (thanks to Dave Martin <dave.martin@linaro.org>) v3: Remove old BUG() implementation in favor of this one. Remove the Backtrace: message (will submit this separately). Use ARM_EXIT_KEEP() so that some architectures can dump exit text at link time thanks to Stephen Boyd <sboyd@codeaurora.org> (although since we always define GENERIC_BUG this might be academic.) Rebase to linux-2.6.git master. v4: Allow BUGS in modules (these were not reported correctly in v3) (thanks to Stephen Boyd <sboyd@codeaurora.org> for suggesting that.) Remove __bug() as this is no longer needed. v5: Add %progbits as the section flags. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Stephen Boyd <sboyd@codeaurora.org> Tested-by: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-08-17 07:44:26 +09:00
config GENERIC_BUG
def_bool y
depends on BUG
config PGTABLE_LEVELS
int
default 3 if ARM_LPAE
default 2
menu "System Type"
config MMU
bool "MMU-based Paged Memory Management Support"
default y
help
Select if you want MMU-based virtualised addressing space
support by paged memory management. If unsure, say 'Y'.
arm: mm: support ARCH_MMAP_RND_BITS arm: arch_mmap_rnd() uses a hard-code value of 8 to generate the random offset for the mmap base address. This value represents a compromise between increased ASLR effectiveness and avoiding address-space fragmentation. Replace it with a Kconfig option, which is sensibly bounded, so that platform developers may choose where to place this compromise. Keep 8 as the minimum acceptable value. [arnd@arndb.de: ARM: avoid ARCH_MMAP_RND_BITS for NOMMU] Signed-off-by: Daniel Cashman <dcashman@google.com> Cc: Russell King <linux@arm.linux.org.uk> Acked-by: Kees Cook <keescook@chromium.org> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Don Zickus <dzickus@redhat.com> Cc: Eric W. Biederman <ebiederm@xmission.com> Cc: Heinrich Schuchardt <xypron.glpk@gmx.de> Cc: Josh Poimboeuf <jpoimboe@redhat.com> Cc: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Cc: Naoya Horiguchi <n-horiguchi@ah.jp.nec.com> Cc: Andrea Arcangeli <aarcange@redhat.com> Cc: Mel Gorman <mgorman@suse.de> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: David Rientjes <rientjes@google.com> Cc: Mark Salyzyn <salyzyn@android.com> Cc: Jeff Vander Stoep <jeffv@google.com> Cc: Nick Kralevich <nnk@google.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Will Deacon <will.deacon@arm.com> Cc: "H. Peter Anvin" <hpa@zytor.com> Cc: Hector Marco-Gisbert <hecmargi@upv.es> Cc: Borislav Petkov <bp@suse.de> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Heiko Carstens <heiko.carstens@de.ibm.com> Cc: Martin Schwidefsky <schwidefsky@de.ibm.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2016-01-15 08:19:57 +09:00
config ARCH_MMAP_RND_BITS_MIN
default 8
config ARCH_MMAP_RND_BITS_MAX
default 14 if PAGE_OFFSET=0x40000000
default 15 if PAGE_OFFSET=0x80000000
default 16
#
# The "ARM system type" choice list is ordered alphabetically by option
# text. Please add new entries in the option alphabetic order.
#
choice
prompt "ARM system type"
default ARM_SINGLE_ARMV7M if !MMU
default ARCH_MULTIPLATFORM if MMU
config ARCH_MULTIPLATFORM
bool "Allow multiple platforms to be selected"
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
depends on MMU
2020-05-22 23:12:30 +09:00
select ARCH_FLATMEM_ENABLE
select ARCH_SPARSEMEM_ENABLE
select ARCH_SELECT_MEMORY_MODEL
select ARM_HAS_SG_CHAIN
select ARM_PATCH_PHYS_VIRT
select AUTO_ZRELADDR
select TIMER_OF
select COMMON_CLK
select GENERIC_CLOCKEVENTS
select GENERIC_IRQ_MULTI_HANDLER
select HAVE_PCI
select PCI_DOMAINS_GENERIC if PCI
select SPARSE_IRQ
select USE_OF
config ARM_SINGLE_ARMV7M
bool "ARMv7-M based platforms (Cortex-M0/M3/M4)"
depends on !MMU
select ARM_NVIC
select AUTO_ZRELADDR
select TIMER_OF
select COMMON_CLK
select CPU_V7M
select GENERIC_CLOCKEVENTS
select NO_IOPORT_MAP
select SPARSE_IRQ
select USE_OF
config ARCH_EBSA110
bool "EBSA-110"
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select ARCH_USES_GETTIMEOFFSET
select CPU_SA110
select ISA
select NEED_MACH_IO_H
select NEED_MACH_MEMORY_H
select NO_IOPORT_MAP
help
This is an evaluation board for the StrongARM processor available
from Digital. It has limited hardware on-board, including an
Ethernet interface, two PCMCIA sockets, two serial ports and a
parallel port.
config ARCH_EP93XX
bool "EP93xx-based"
ARM: ep93xx: switch to SPARSEMEM The EP93xx has four chip selects that can be used for the SDRAM memory. These chip selects are decoded to specify an address domain: SDCS3 0x00000000-0x0fffffff with Boot Option ASDO=1 SDCS0 0xc0000000-0xcfffffff SDCS1 0xd0000000-0xdfffffff SDCS2 0xe0000000-x0efffffff SDCS3 0xf0000000-0xffffffff with Boot Option ASDO=0 Because of the row/column/bank architecture of SDRAM, the mapping of these memories into the processor's memory space is discontiguous. Most ep93xx systems only use one of the chip selects. For these systems, ARCH_HAS_HOLES_MEMORYMODEL has worked fine to handle the discontiguous memory. But, some of the TS-72xx boards use multiple chip selects. The TS-7300 in particular uses SDCS3 (with ASDO=1) and SDCS2. On that system with ARCH_HAS_HOLES_MEMORYMODEL the SDCS2 memory does not get handled correctly and results in the system not booting. Change the EP93xx to ARCH_SPARSEMEM_ENABLE. This handles the discontiguous memory for all configurations. This has been tested on the following ep93xx platforms: EDB9307A with 64 MiB on SDCS0 Vision EP9307 with 64 MiB on SDCS0 TS-7300 with 64 MiB on SDCS3 (with ASDO=1) and 64 MiB on SDCS2 sim.one with 64 MiB on SDCS0 Signed-off-by: H Hartley Sweeten <hsweeten@visionengravers.com> Tested-by: Linus Walleij <linus.walleij@linaro.org> Cc: Russell King <linux@armlinux.org.uk> Tested-by: Florian Fainelli <f.fainelli@gmail.com> Tested-by: Alexander Sverdlin <alexander.sverdlin@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
2017-09-04 02:43:44 +09:00
select ARCH_SPARSEMEM_ENABLE
select ARM_AMBA
imply ARM_PATCH_PHYS_VIRT
select ARM_VIC
select AUTO_ZRELADDR
select CLKDEV_LOOKUP
select CLKSRC_MMIO
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select CPU_ARM920T
select GENERIC_CLOCKEVENTS
select GPIOLIB
clk: Allow the common clk framework to be selectable Enable build testing and configuration control of the common clk framework so that more code coverage and testing can be done on the common clk framework across various architectures. This also nicely removes the requirement that architectures must select the framework when they don't use it in architecture code. There's one snag with doing this, and that's making sure that randconfig builds don't select this option when some architecture or platform implements 'struct clk' outside of the common clk framework. Introduce a new config option 'HAVE_LEGACY_CLK' to indicate those platforms that haven't migrated to the common clk framework and therefore shouldn't be allowed to select this new config option. Also add a note that we hope one day to remove this config entirely. Based on a patch by Mark Brown <broonie@kernel.org>. Cc: Mark Brown <broonie@kernel.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Mark Salter <msalter@redhat.com> Cc: Aurelien Jacquiot <jacquiot.aurelien@gmail.com> Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> Cc: Guan Xuetao <gxt@pku.edu.cn> Cc: Russell King <linux@armlinux.org.uk> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Rich Felker <dalias@libc.org> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: <linux-mips@vger.kernel.org> Cc: <linux-c6x-dev@linux-c6x.org> Cc: <linux-m68k@lists.linux-m68k.org> Cc: <linux-arm-kernel@lists.infradead.org> Cc: <linux-sh@vger.kernel.org> Link: https://lore.kernel.org/r/1470915049-15249-1-git-send-email-broonie@kernel.org Signed-off-by: Stephen Boyd <sboyd@kernel.org> Link: https://lkml.kernel.org/r/20200409064416.83340-8-sboyd@kernel.org Reviewed-by: Mark Brown <broonie@kernel.org> Reviewed-by: Arnd Bergmann <arnd@arndb.de>
2020-04-09 15:44:13 +09:00
select HAVE_LEGACY_CLK
help
This enables support for the Cirrus EP93xx series of CPUs.
config ARCH_FOOTBRIDGE
bool "FootBridge"
select CPU_SA110
select FOOTBRIDGE
select GENERIC_CLOCKEVENTS
select HAVE_IDE
select NEED_MACH_IO_H if !MMU
select NEED_MACH_MEMORY_H
help
Support for systems based on the DC21285 companion chip
("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
config ARCH_IOP32X
bool "IOP32x-based"
depends on MMU
select CPU_XSCALE
select GPIO_IOP
select GPIOLIB
select NEED_RET_TO_USER
select FORCE_PCI
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select PLAT_IOP
help
Support for Intel's 80219 and IOP32X (XScale) family of
processors.
config ARCH_IXP4XX
bool "IXP4xx-based"
depends on MMU
select ARCH_HAS_DMA_SET_COHERENT_MASK
select ARCH_SUPPORTS_BIG_ENDIAN
select CPU_XSCALE
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select DMABOUNCE if PCI
select GENERIC_CLOCKEVENTS
select GENERIC_IRQ_MULTI_HANDLER
select GPIO_IXP4XX
select GPIOLIB
select HAVE_PCI
select IXP4XX_IRQ
select IXP4XX_TIMER
select NEED_MACH_IO_H
select USB_EHCI_BIG_ENDIAN_DESC
select USB_EHCI_BIG_ENDIAN_MMIO
help
Support for Intel's IXP4XX (XScale) family of processors.
config ARCH_DOVE
bool "Marvell Dove"
select CPU_PJ4
select GENERIC_CLOCKEVENTS
select GENERIC_IRQ_MULTI_HANDLER
select GPIOLIB
select HAVE_PCI
select MVEBU_MBUS
select PINCTRL
select PINCTRL_DOVE
arm: plat-orion: introduce PLAT_ORION_LEGACY hidden config option Until now, the PLAT_ORION configuration option was common to all the Marvell EBU SoCs, and selecting this option had the effect of enabling the MPP code, GPIO code, address decoding and PCIe code from plat-orion, as well as providing access to driver-specific header files from plat-orion/include. However, the Armada 370 and XP SoCs will not use the MPP and GPIO code (instead some proper pinctrl and gpio drivers are in preparation), and generally, we want to move away from plat-orion and instead have everything in mach-mvebu. That said, in the mean time, we want to leverage the driver-specific headers as well as the address decoding code, so we introduce PLAT_ORION_LEGACY. The older Marvell SoCs need to select PLAT_ORION_LEGACY, while the newer Marvell SoCs need to select PLAT_ORION. Of course, when PLAT_ORION_LEGACY is selected, it automatically selects PLAT_ORION. Then, with just PLAT_ORION, you have the address decoding code plus the driver-specific headers. If you add PLAT_ORION_LEGACY to this, you gain the old MPP, GPIO and PCIe code. Again, this is only a temporary solution until we make all Marvell EBU platforms converge into the mach-mvebu directory. This solution avoids duplicating the existing address decoding code into mach-mvebu. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Tested-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2012-09-11 21:27:27 +09:00
select PLAT_ORION_LEGACY
select SPARSE_IRQ
select PM_GENERIC_DOMAINS if PM
help
Support for the Marvell Dove SoC 88AP510
config ARCH_PXA
bool "PXA2xx/PXA3xx-based"
depends on MMU
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select ARCH_MTD_XIP
select ARM_CPU_SUSPEND if PM
select AUTO_ZRELADDR
select COMMON_CLK
select CLKSRC_PXA
select CLKSRC_MMIO
select TIMER_OF
select CPU_XSCALE if !CPU_XSC3
select GENERIC_CLOCKEVENTS
select GENERIC_IRQ_MULTI_HANDLER
select GPIO_PXA
select GPIOLIB
select HAVE_IDE
select IRQ_DOMAIN
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select PLAT_PXA
select SPARSE_IRQ
help
Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
config ARCH_QCOM
bool "Qualcomm MSM (non-multiplatform)"
select ARCH_REQUIRE_GPIOLIB
select CPU_V7
select AUTO_ZRELADDR
select HAVE_SMP
select CLKDEV_LOOKUP
select GENERIC_CLOCKEVENTS
select GENERIC_ALLOCATOR
select ARM_PATCH_PHYS_VIRT
select ARM_HAS_SG_CHAIN
select ARCH_HAS_OPP
select SOC_BUS
select GENERIC_IRQ_MULTI_HANDLER
select PM_OPP
select SPARSE_IRQ
select USE_OF
select PINCTRL
help
Support for Qualcomm MSM/QSD based systems. This runs on the
apps processor of the MSM/QSD and depends on a shared memory
interface to the modem processor which runs the baseband
stack and controls some vital subsystems
(clock and power control, etc).
config ARCH_RPC
bool "RiscPC"
depends on MMU
select ARCH_ACORN
select ARCH_MAY_HAVE_PC_FDC
select ARCH_SPARSEMEM_ENABLE
select ARM_HAS_SG_CHAIN
select CPU_SA110
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select FIQ
select HAVE_IDE
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select HAVE_PATA_PLATFORM
select ISA_DMA_API
select NEED_MACH_IO_H
select NEED_MACH_MEMORY_H
select NO_IOPORT_MAP
help
On the Acorn Risc-PC, Linux can support the internal IDE disk and
CD-ROM interface, serial and parallel port, and the floppy drive.
config ARCH_SA1100
bool "SA1100-based"
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select ARCH_MTD_XIP
select ARCH_SPARSEMEM_ENABLE
select CLKSRC_MMIO
select CLKSRC_PXA
select TIMER_OF if OF
select COMMON_CLK
select CPU_FREQ
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select CPU_SA1100
select GENERIC_CLOCKEVENTS
select GENERIC_IRQ_MULTI_HANDLER
select GPIOLIB
select HAVE_IDE
select IRQ_DOMAIN
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select ISA
select NEED_MACH_MEMORY_H
select SPARSE_IRQ
help
Support for StrongARM 11x0 based boards.
config ARCH_S3C24XX
bool "Samsung S3C24XX SoCs"
select ATAGS
select CLKSRC_SAMSUNG_PWM
select GENERIC_CLOCKEVENTS
select GPIO_SAMSUNG
select GPIOLIB
select GENERIC_IRQ_MULTI_HANDLER
select HAVE_S3C2410_I2C if I2C
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select HAVE_S3C_RTC if RTC_CLASS
select NEED_MACH_IO_H
select S3C2410_WATCHDOG
select SAMSUNG_ATAGS
select USE_OF
select WATCHDOG
help
Samsung S3C2410, S3C2412, S3C2413, S3C2416, S3C2440, S3C2442, S3C2443
and S3C2450 SoCs based systems, such as the Simtec Electronics BAST
(<http://www.simtec.co.uk/products/EB110ITX/>), the IPAQ 1940 or the
Samsung SMDK2410 development board (and derivatives).
config ARCH_OMAP1
bool "TI OMAP1"
depends on MMU
select ARCH_OMAP
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select CLKDEV_LOOKUP
select CLKSRC_MMIO
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select GENERIC_CLOCKEVENTS
select GENERIC_IRQ_CHIP
select GENERIC_IRQ_MULTI_HANDLER
select GPIOLIB
select HAVE_IDE
clk: Allow the common clk framework to be selectable Enable build testing and configuration control of the common clk framework so that more code coverage and testing can be done on the common clk framework across various architectures. This also nicely removes the requirement that architectures must select the framework when they don't use it in architecture code. There's one snag with doing this, and that's making sure that randconfig builds don't select this option when some architecture or platform implements 'struct clk' outside of the common clk framework. Introduce a new config option 'HAVE_LEGACY_CLK' to indicate those platforms that haven't migrated to the common clk framework and therefore shouldn't be allowed to select this new config option. Also add a note that we hope one day to remove this config entirely. Based on a patch by Mark Brown <broonie@kernel.org>. Cc: Mark Brown <broonie@kernel.org> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Mark Salter <msalter@redhat.com> Cc: Aurelien Jacquiot <jacquiot.aurelien@gmail.com> Cc: Jiaxun Yang <jiaxun.yang@flygoat.com> Cc: Guan Xuetao <gxt@pku.edu.cn> Cc: Russell King <linux@armlinux.org.uk> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Yoshinori Sato <ysato@users.sourceforge.jp> Cc: Rich Felker <dalias@libc.org> Cc: Thomas Bogendoerfer <tsbogend@alpha.franken.de> Cc: <linux-mips@vger.kernel.org> Cc: <linux-c6x-dev@linux-c6x.org> Cc: <linux-m68k@lists.linux-m68k.org> Cc: <linux-arm-kernel@lists.infradead.org> Cc: <linux-sh@vger.kernel.org> Link: https://lore.kernel.org/r/1470915049-15249-1-git-send-email-broonie@kernel.org Signed-off-by: Stephen Boyd <sboyd@kernel.org> Link: https://lkml.kernel.org/r/20200409064416.83340-8-sboyd@kernel.org Reviewed-by: Mark Brown <broonie@kernel.org> Reviewed-by: Arnd Bergmann <arnd@arndb.de>
2020-04-09 15:44:13 +09:00
select HAVE_LEGACY_CLK
select IRQ_DOMAIN
select NEED_MACH_IO_H if PCCARD
select NEED_MACH_MEMORY_H
select SPARSE_IRQ
help
Support for older TI OMAP1 (omap7xx, omap15xx or omap16xx)
endchoice
menu "Multiple platform selection"
depends on ARCH_MULTIPLATFORM
comment "CPU Core family selection"
config ARCH_MULTI_V4
bool "ARMv4 based platforms (FA526)"
depends on !ARCH_MULTI_V6_V7
select ARCH_MULTI_V4_V5
select CPU_FA526
config ARCH_MULTI_V4T
bool "ARMv4T based platforms (ARM720T, ARM920T, ...)"
depends on !ARCH_MULTI_V6_V7
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select ARCH_MULTI_V4_V5
select CPU_ARM920T if !(CPU_ARM7TDMI || CPU_ARM720T || \
CPU_ARM740T || CPU_ARM9TDMI || CPU_ARM922T || \
CPU_ARM925T || CPU_ARM940T)
config ARCH_MULTI_V5
bool "ARMv5 based platforms (ARM926T, XSCALE, PJ1, ...)"
depends on !ARCH_MULTI_V6_V7
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select ARCH_MULTI_V4_V5
select CPU_ARM926T if !(CPU_ARM946E || CPU_ARM1020 || \
CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || \
CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_FEROCEON)
config ARCH_MULTI_V4_V5
bool
config ARCH_MULTI_V6
bool "ARMv6 based platforms (ARM11)"
select ARCH_MULTI_V6_V7
select CPU_V6K
config ARCH_MULTI_V7
bool "ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)"
default y
select ARCH_MULTI_V6_V7
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select CPU_V7
select HAVE_SMP
config ARCH_MULTI_V6_V7
bool
select MIGHT_HAVE_CACHE_L2X0
config ARCH_MULTI_CPU_AUTO
def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7)
select ARCH_MULTI_V5
endmenu
config ARCH_VIRT
ARM: use "depends on" for SoC configs instead of "if" after prompt Many ARM sub-architectures use prompts followed by "if" conditional, but it is wrong. Please notice the difference between config ARCH_FOO bool "Foo SoCs" if ARCH_MULTI_V7 and config ARCH_FOO bool "Foo SoCs" depends on ARCH_MULTI_V7 These two are *not* equivalent! In the former statement, it is not ARCH_FOO, but its prompt that depends on ARCH_MULTI_V7. So, it is completely valid that ARCH_FOO is selected by another, but ARCH_MULTI_V7 is still disabled. As it is not unmet dependency, Kconfig never warns. This is probably not what you want. The former should be used only when you need to do so, and you really understand what you are doing. (In most cases, it should be wrong!) For enabling/disabling sub-architectures, the latter is always correct. As a good side effect, this commit fixes some entries over 80 columns (mach-imx, mach-integrator, mach-mbevu). [Arnd: I note that there is not really a bug here, according to the discussion that followed, but I can see value in being consistent and in making the lines shorter] Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Heiko Stuebner <heiko@sntech.de> Acked-by: Patrice Chotard <patrice.chotard@st.com> Acked-by: Liviu Dudau <Liviu.Dudau@arm.com> Acked-by: Krzysztof Kozlowski <k.kozlowski@samsung.com> Acked-by: Jun Nie <jun.nie@linaro.org> Acked-by: Matthias Brugger <matthias.bgg@gmail.com> Acked-by: Simon Horman <horms+renesas@verge.net.au> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Acked-by: Shawn Guo <shawnguo@kernel.org> Acked-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: Thierry Reding <treding@nvidia.com> Acked-by: Krzysztof Halasa <khc@piap.pl> Acked-by: Maxime Coquelin <maxime.coquelin@st.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-11-16 12:06:10 +09:00
bool "Dummy Virtual Machine"
depends on ARCH_MULTI_V7
select ARM_AMBA
select ARM_GIC
PCI/MSI: irqchip: Fix PCI_MSI dependencies The PCI_MSI symbol is used inconsistently throughout the tree, with some drivers using 'select' and others using 'depends on', or using conditional selects. This keeps causing problems; the latest one is a result of ARCH_ALPINE using a 'select' statement to enable its platform-specific MSI driver without enabling MSI: warning: (ARCH_ALPINE) selects ALPINE_MSI which has unmet direct dependencies (PCI && PCI_MSI) drivers/irqchip/irq-alpine-msi.c:104:15: error: variable 'alpine_msix_domain_info' has initializer but incomplete type static struct msi_domain_info alpine_msix_domain_info = { ^~~~~~~~~~~~~~~ drivers/irqchip/irq-alpine-msi.c:105:2: error: unknown field 'flags' specified in initializer .flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS | ^ drivers/irqchip/irq-alpine-msi.c:105:11: error: 'MSI_FLAG_USE_DEF_DOM_OPS' undeclared here (not in a function) .flags = MSI_FLAG_USE_DEF_DOM_OPS | MSI_FLAG_USE_DEF_CHIP_OPS | ^~~~~~~~~~~~~~~~~~~~~~~~ There is little reason to enable PCI support for a platform that uses MSI but then leave MSI disabled at compile time. Select PCI_MSI from irqchips that implement MSI, and make PCI host bridges that use MSI on ARM depend on PCI_MSI_IRQ_DOMAIN. For all three architectures that support PCI_MSI_IRQ_DOMAIN (ARM, ARM64, X86), enable it by default whenever MSI is enabled. [bhelgaas: changelog, omit crypto config change] Suggested-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Acked-by: Marc Zyngier <marc.zyngier@arm.com>
2016-06-16 05:47:33 +09:00
select ARM_GIC_V2M if PCI
select ARM_GIC_V3
select ARM_GIC_V3_ITS if PCI
select ARM_PSCI
select HAVE_ARM_ARCH_TIMER
select ARCH_SUPPORTS_BIG_ENDIAN
#
# This is sorted alphabetically by mach-* pathname. However, plat-*
# Kconfigs may be included either alphabetically (according to the
# plat- suffix) or along side the corresponding mach-* source.
#
source "arch/arm/mach-actions/Kconfig"
source "arch/arm/mach-alpine/Kconfig"
source "arch/arm/mach-artpec/Kconfig"
source "arch/arm/mach-asm9260/Kconfig"
source "arch/arm/mach-aspeed/Kconfig"
source "arch/arm/mach-at91/Kconfig"
source "arch/arm/mach-axxia/Kconfig"
source "arch/arm/mach-bcm/Kconfig"
source "arch/arm/mach-berlin/Kconfig"
source "arch/arm/mach-clps711x/Kconfig"
source "arch/arm/mach-cns3xxx/Kconfig"
source "arch/arm/mach-davinci/Kconfig"
source "arch/arm/mach-digicolor/Kconfig"
source "arch/arm/mach-dove/Kconfig"
source "arch/arm/mach-ep93xx/Kconfig"
source "arch/arm/mach-exynos/Kconfig"
source "arch/arm/mach-footbridge/Kconfig"
source "arch/arm/mach-gemini/Kconfig"
source "arch/arm/mach-highbank/Kconfig"
source "arch/arm/mach-hisi/Kconfig"
source "arch/arm/mach-imx/Kconfig"
source "arch/arm/mach-integrator/Kconfig"
source "arch/arm/mach-iop32x/Kconfig"
source "arch/arm/mach-ixp4xx/Kconfig"
source "arch/arm/mach-keystone/Kconfig"
source "arch/arm/mach-lpc32xx/Kconfig"
source "arch/arm/mach-mediatek/Kconfig"
source "arch/arm/mach-meson/Kconfig"
source "arch/arm/mach-milbeaut/Kconfig"
source "arch/arm/mach-mmp/Kconfig"
source "arch/arm/mach-moxart/Kconfig"
source "arch/arm/mach-mstar/Kconfig"
source "arch/arm/mach-mv78xx0/Kconfig"
source "arch/arm/mach-mvebu/Kconfig"
source "arch/arm/mach-mxs/Kconfig"
source "arch/arm/mach-nomadik/Kconfig"
source "arch/arm/mach-npcm/Kconfig"
source "arch/arm/mach-nspire/Kconfig"
source "arch/arm/plat-omap/Kconfig"
source "arch/arm/mach-omap1/Kconfig"
source "arch/arm/mach-omap2/Kconfig"
source "arch/arm/mach-orion5x/Kconfig"
source "arch/arm/mach-oxnas/Kconfig"
source "arch/arm/mach-picoxcell/Kconfig"
source "arch/arm/mach-prima2/Kconfig"
source "arch/arm/mach-pxa/Kconfig"
source "arch/arm/plat-pxa/Kconfig"
source "arch/arm/mach-qcom/Kconfig"
source "arch/arm/mach-rda/Kconfig"
source "arch/arm/mach-realtek/Kconfig"
source "arch/arm/mach-realview/Kconfig"
source "arch/arm/mach-rockchip/Kconfig"
source "arch/arm/mach-s3c/Kconfig"
source "arch/arm/mach-s5pv210/Kconfig"
source "arch/arm/mach-sa1100/Kconfig"
source "arch/arm/mach-shmobile/Kconfig"
source "arch/arm/mach-socfpga/Kconfig"
source "arch/arm/mach-spear/Kconfig"
source "arch/arm/mach-sti/Kconfig"
source "arch/arm/mach-stm32/Kconfig"
source "arch/arm/mach-sunxi/Kconfig"
source "arch/arm/mach-tango/Kconfig"
source "arch/arm/mach-tegra/Kconfig"
source "arch/arm/mach-u300/Kconfig"
source "arch/arm/mach-uniphier/Kconfig"
source "arch/arm/mach-ux500/Kconfig"
source "arch/arm/mach-versatile/Kconfig"
source "arch/arm/mach-vexpress/Kconfig"
source "arch/arm/mach-vt8500/Kconfig"
source "arch/arm/mach-zx/Kconfig"
source "arch/arm/mach-zynq/Kconfig"
# ARMv7-M architecture
config ARCH_EFM32
bool "Energy Micro efm32"
depends on ARM_SINGLE_ARMV7M
select GPIOLIB
help
Support for Energy Micro's (now Silicon Labs) efm32 Giant Gecko
processors.
config ARCH_LPC18XX
bool "NXP LPC18xx/LPC43xx"
depends on ARM_SINGLE_ARMV7M
select ARCH_HAS_RESET_CONTROLLER
select ARM_AMBA
select CLKSRC_LPC32XX
select PINCTRL
help
Support for NXP's LPC18xx Cortex-M3 and LPC43xx Cortex-M4
high performance microcontrollers.
config ARCH_MPS2
bool "ARM MPS2 platform"
depends on ARM_SINGLE_ARMV7M
select ARM_AMBA
select CLKSRC_MPS2
help
Support for Cortex-M Prototyping System (or V2M-MPS2) which comes
with a range of available cores like Cortex-M3/M4/M7.
Please, note that depends which Application Note is used memory map
for the platform may vary, so adjustment of RAM base might be needed.
# Definitions to make life easier
config ARCH_ACORN
bool
config PLAT_IOP
bool
select GENERIC_CLOCKEVENTS
config PLAT_ORION
bool
select CLKSRC_MMIO
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select COMMON_CLK
select GENERIC_IRQ_CHIP
select IRQ_DOMAIN
arm: plat-orion: introduce PLAT_ORION_LEGACY hidden config option Until now, the PLAT_ORION configuration option was common to all the Marvell EBU SoCs, and selecting this option had the effect of enabling the MPP code, GPIO code, address decoding and PCIe code from plat-orion, as well as providing access to driver-specific header files from plat-orion/include. However, the Armada 370 and XP SoCs will not use the MPP and GPIO code (instead some proper pinctrl and gpio drivers are in preparation), and generally, we want to move away from plat-orion and instead have everything in mach-mvebu. That said, in the mean time, we want to leverage the driver-specific headers as well as the address decoding code, so we introduce PLAT_ORION_LEGACY. The older Marvell SoCs need to select PLAT_ORION_LEGACY, while the newer Marvell SoCs need to select PLAT_ORION. Of course, when PLAT_ORION_LEGACY is selected, it automatically selects PLAT_ORION. Then, with just PLAT_ORION, you have the address decoding code plus the driver-specific headers. If you add PLAT_ORION_LEGACY to this, you gain the old MPP, GPIO and PCIe code. Again, this is only a temporary solution until we make all Marvell EBU platforms converge into the mach-mvebu directory. This solution avoids duplicating the existing address decoding code into mach-mvebu. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Gregory CLEMENT <gregory.clement@free-electrons.com> Acked-by: Arnd Bergmann <arnd@arndb.de> Tested-by: Andrew Lunn <andrew@lunn.ch> Signed-off-by: Jason Cooper <jason@lakedaemon.net>
2012-09-11 21:27:27 +09:00
config PLAT_ORION_LEGACY
bool
select PLAT_ORION
config PLAT_PXA
bool
config PLAT_VERSATILE
bool
source "arch/arm/mm/Kconfig"
[ARM] 3881/4: xscale: clean up cp0/cp1 handling XScale cores either have a DSP coprocessor (which contains a single 40 bit accumulator register), or an iWMMXt coprocessor (which contains eight 64 bit registers.) Because of the small amount of state in the DSP coprocessor, access to the DSP coprocessor (CP0) is always enabled, and DSP context switching is done unconditionally on every task switch. Access to the iWMMXt coprocessor (CP0/CP1) is enabled only when an iWMMXt instruction is first issued, and iWMMXt context switching is done lazily. CONFIG_IWMMXT is supposed to mean 'the cpu we will be running on will have iWMMXt support', but boards are supposed to select this config symbol by hand, and at least one pxa27x board doesn't get this right, so on that board, proc-xscale.S will incorrectly assume that we have a DSP coprocessor, enable CP0 on boot, and we will then only save the first iWMMXt register (wR0) on context switches, which is Bad. This patch redefines CONFIG_IWMMXT as 'the cpu we will be running on might have iWMMXt support, and we will enable iWMMXt context switching if it does.' This means that with this patch, running a CONFIG_IWMMXT=n kernel on an iWMMXt-capable CPU will no longer potentially corrupt iWMMXt state over context switches, and running a CONFIG_IWMMXT=y kernel on a non-iWMMXt capable CPU will still do DSP context save/restore. These changes should make iWMMXt work on PXA3xx, and as a side effect, enable proper acc0 save/restore on non-iWMMXt capable xsc3 cores such as IOP13xx and IXP23xx (which will not have CONFIG_CPU_XSCALE defined), as well as setting and using HWCAP_IWMMXT properly. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Acked-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-04 02:51:14 +09:00
config IWMMXT
bool "Enable iWMMXt support"
depends on CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_PJ4 || CPU_PJ4B
default y if PXA27x || PXA3xx || ARCH_MMP || CPU_PJ4 || CPU_PJ4B
[ARM] 3881/4: xscale: clean up cp0/cp1 handling XScale cores either have a DSP coprocessor (which contains a single 40 bit accumulator register), or an iWMMXt coprocessor (which contains eight 64 bit registers.) Because of the small amount of state in the DSP coprocessor, access to the DSP coprocessor (CP0) is always enabled, and DSP context switching is done unconditionally on every task switch. Access to the iWMMXt coprocessor (CP0/CP1) is enabled only when an iWMMXt instruction is first issued, and iWMMXt context switching is done lazily. CONFIG_IWMMXT is supposed to mean 'the cpu we will be running on will have iWMMXt support', but boards are supposed to select this config symbol by hand, and at least one pxa27x board doesn't get this right, so on that board, proc-xscale.S will incorrectly assume that we have a DSP coprocessor, enable CP0 on boot, and we will then only save the first iWMMXt register (wR0) on context switches, which is Bad. This patch redefines CONFIG_IWMMXT as 'the cpu we will be running on might have iWMMXt support, and we will enable iWMMXt context switching if it does.' This means that with this patch, running a CONFIG_IWMMXT=n kernel on an iWMMXt-capable CPU will no longer potentially corrupt iWMMXt state over context switches, and running a CONFIG_IWMMXT=y kernel on a non-iWMMXt capable CPU will still do DSP context save/restore. These changes should make iWMMXt work on PXA3xx, and as a side effect, enable proper acc0 save/restore on non-iWMMXt capable xsc3 cores such as IOP13xx and IXP23xx (which will not have CONFIG_CPU_XSCALE defined), as well as setting and using HWCAP_IWMMXT properly. Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org> Acked-by: Dan Williams <dan.j.williams@intel.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-12-04 02:51:14 +09:00
help
Enable support for iWMMXt context switching at run time if
running on a CPU that supports it.
if !MMU
source "arch/arm/Kconfig-nommu"
endif
config PJ4B_ERRATA_4742
bool "PJ4B Errata 4742: IDLE Wake Up Commands can Cause the CPU Core to Cease Operation"
depends on CPU_PJ4B && MACH_ARMADA_370
default y
help
When coming out of either a Wait for Interrupt (WFI) or a Wait for
Event (WFE) IDLE states, a specific timing sensitivity exists between
the retiring WFI/WFE instructions and the newly issued subsequent
instructions. This sensitivity can result in a CPU hang scenario.
Workaround:
The software must insert either a Data Synchronization Barrier (DSB)
or Data Memory Barrier (DMB) command immediately after the WFI/WFE
instruction
config ARM_ERRATA_326103
bool "ARM errata: FSR write bit incorrect on a SWP to read-only memory"
depends on CPU_V6
help
Executing a SWP instruction to read-only memory does not set bit 11
of the FSR on the ARM 1136 prior to r1p0. This causes the kernel to
treat the access as a read, preventing a COW from occurring and
causing the faulting task to livelock.
config ARM_ERRATA_411920
bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
depends on CPU_V6 || CPU_V6K
help
Invalidation of the Instruction Cache operation can
fail. This erratum is present in 1136 (before r1p4), 1156 and 1176.
It does not affect the MPCore. This option enables the ARM Ltd.
recommended workaround.
config ARM_ERRATA_430973
bool "ARM errata: Stale prediction on replaced interworking branch"
depends on CPU_V7
help
This option enables the workaround for the 430973 Cortex-A8
r1p* erratum. If a code sequence containing an ARM/Thumb
interworking branch is replaced with another code sequence at the
same virtual address, whether due to self-modifying code or virtual
to physical address re-mapping, Cortex-A8 does not recover from the
stale interworking branch prediction. This results in Cortex-A8
executing the new code sequence in the incorrect ARM or Thumb state.
The workaround enables the BTB/BTAC operations by setting ACTLR.IBE
and also flushes the branch target cache at every context switch.
Note that setting specific bits in the ACTLR register may not be
available in non-secure mode.
config ARM_ERRATA_458693
bool "ARM errata: Processor deadlock when a false hazard is created"
depends on CPU_V7
depends on !ARCH_MULTIPLATFORM
help
This option enables the workaround for the 458693 Cortex-A8 (r2p0)
erratum. For very specific sequences of memory operations, it is
possible for a hazard condition intended for a cache line to instead
be incorrectly associated with a different cache line. This false
hazard might then cause a processor deadlock. The workaround enables
the L1 caching of the NEON accesses and disables the PLD instruction
in the ACTLR register. Note that setting specific bits in the ACTLR
register may not be available in non-secure mode.
config ARM_ERRATA_460075
bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
depends on CPU_V7
depends on !ARCH_MULTIPLATFORM
help
This option enables the workaround for the 460075 Cortex-A8 (r2p0)
erratum. Any asynchronous access to the L2 cache may encounter a
situation in which recent store transactions to the L2 cache are lost
and overwritten with stale memory contents from external memory. The
workaround disables the write-allocate mode for the L2 cache via the
ACTLR register. Note that setting specific bits in the ACTLR register
may not be available in non-secure mode.
config ARM_ERRATA_742230
bool "ARM errata: DMB operation may be faulty"
depends on CPU_V7 && SMP
depends on !ARCH_MULTIPLATFORM
help
This option enables the workaround for the 742230 Cortex-A9
(r1p0..r2p2) erratum. Under rare circumstances, a DMB instruction
between two write operations may not ensure the correct visibility
ordering of the two writes. This workaround sets a specific bit in
the diagnostic register of the Cortex-A9 which causes the DMB
instruction to behave as a DSB, ensuring the correct behaviour of
the two writes.
config ARM_ERRATA_742231
bool "ARM errata: Incorrect hazard handling in the SCU may lead to data corruption"
depends on CPU_V7 && SMP
depends on !ARCH_MULTIPLATFORM
help
This option enables the workaround for the 742231 Cortex-A9
(r2p0..r2p2) erratum. Under certain conditions, specific to the
Cortex-A9 MPCore micro-architecture, two CPUs working in SMP mode,
accessing some data located in the same cache line, may get corrupted
data due to bad handling of the address hazard when the line gets
replaced from one of the CPUs at the same time as another CPU is
accessing it. This workaround sets specific bits in the diagnostic
register of the Cortex-A9 which reduces the linefill issuing
capabilities of the processor.
config ARM_ERRATA_643719
bool "ARM errata: LoUIS bit field in CLIDR register is incorrect"
depends on CPU_V7 && SMP
default y
help
This option enables the workaround for the 643719 Cortex-A9 (prior to
r1p0) erratum. On affected cores the LoUIS bit field of the CLIDR
register returns zero when it should return one. The workaround
corrects this value, ensuring cache maintenance operations which use
it behave as intended and avoiding data corruption.
config ARM_ERRATA_720789
bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID"
depends on CPU_V7
help
This option enables the workaround for the 720789 Cortex-A9 (prior to
r2p0) erratum. A faulty ASID can be sent to the other CPUs for the
broadcasted CP15 TLB maintenance operations TLBIASIDIS and TLBIMVAIS.
As a consequence of this erratum, some TLB entries which should be
invalidated are not, resulting in an incoherency in the system page
tables. The workaround changes the TLB flushing routines to invalidate
entries regardless of the ASID.
config ARM_ERRATA_743622
bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption"
depends on CPU_V7
depends on !ARCH_MULTIPLATFORM
help
This option enables the workaround for the 743622 Cortex-A9
(r2p*) erratum. Under very rare conditions, a faulty
optimisation in the Cortex-A9 Store Buffer may lead to data
corruption. This workaround sets a specific bit in the diagnostic
register of the Cortex-A9 which disables the Store Buffer
optimisation, preventing the defect from occurring. This has no
visible impact on the overall performance or power consumption of the
processor.
config ARM_ERRATA_751472
bool "ARM errata: Interrupted ICIALLUIS may prevent completion of broadcasted operation"
depends on CPU_V7
depends on !ARCH_MULTIPLATFORM
help
This option enables the workaround for the 751472 Cortex-A9 (prior
to r3p0) erratum. An interrupted ICIALLUIS operation may prevent the
completion of a following broadcasted operation if the second
operation is received by a CPU before the ICIALLUIS has completed,
potentially leading to corrupted entries in the cache or TLB.
config ARM_ERRATA_754322
bool "ARM errata: possible faulty MMU translations following an ASID switch"
depends on CPU_V7
help
This option enables the workaround for the 754322 Cortex-A9 (r2p*,
r3p*) erratum. A speculative memory access may cause a page table walk
which starts prior to an ASID switch but completes afterwards. This
can populate the micro-TLB with a stale entry which may be hit with
the new ASID. This workaround places two dsb instructions in the mm
switching code so that no page table walks can cross the ASID switch.
config ARM_ERRATA_754327
bool "ARM errata: no automatic Store Buffer drain"
depends on CPU_V7 && SMP
help
This option enables the workaround for the 754327 Cortex-A9 (prior to
r2p0) erratum. The Store Buffer does not have any automatic draining
mechanism and therefore a livelock may occur if an external agent
continuously polls a memory location waiting to observe an update.
This workaround defines cpu_relax() as smp_mb(), preventing correctly
written polling loops from denying visibility of updates to memory.
config ARM_ERRATA_364296
bool "ARM errata: Possible cache data corruption with hit-under-miss enabled"
depends on CPU_V6
help
This options enables the workaround for the 364296 ARM1136
r0p2 erratum (possible cache data corruption with
hit-under-miss enabled). It sets the undocumented bit 31 in
the auxiliary control register and the FI bit in the control
register, thus disabling hit-under-miss without putting the
processor into full low interrupt latency mode. ARM11MPCore
is not affected.
config ARM_ERRATA_764369
bool "ARM errata: Data cache line maintenance operation by MVA may not succeed"
depends on CPU_V7 && SMP
help
This option enables the workaround for erratum 764369
affecting Cortex-A9 MPCore with two or more processors (all
current revisions). Under certain timing circumstances, a data
cache line maintenance operation by MVA targeting an Inner
Shareable memory region may fail to proceed up to either the
Point of Coherency or to the Point of Unification of the
system. This workaround adds a DSB instruction before the
relevant cache maintenance functions and sets a specific bit
in the diagnostic control register of the SCU.
config ARM_ERRATA_775420
bool "ARM errata: A data cache maintenance operation which aborts, might lead to deadlock"
depends on CPU_V7
help
This option enables the workaround for the 775420 Cortex-A9 (r2p2,
r2p6,r2p8,r2p10,r3p0) erratum. In case a data cache maintenance
operation aborts with MMU exception, it might cause the processor
to deadlock. This workaround puts DSB before executing ISB if
an abort may occur on cache maintenance.
config ARM_ERRATA_798181
bool "ARM errata: TLBI/DSB failure on Cortex-A15"
depends on CPU_V7 && SMP
help
On Cortex-A15 (r0p0..r3p2) the TLBI*IS/DSB operations are not
adequately shooting down all use of the old entries. This
option enables the Linux kernel workaround for this erratum
which sends an IPI to the CPUs that are running the same ASID
as the one being invalidated.
config ARM_ERRATA_773022
bool "ARM errata: incorrect instructions may be executed from loop buffer"
depends on CPU_V7
help
This option enables the workaround for the 773022 Cortex-A15
(up to r0p4) erratum. In certain rare sequences of code, the
loop buffer may deliver incorrect instructions. This
workaround disables the loop buffer to avoid the erratum.
ARM: 8558/1: errata: Workaround errata A12 818325/852422 A17 852423 There are several similar errata on Cortex A12 and A17 that all have the same workaround: setting bit[12] of the Feature Register. Technically the list of errata are: - A12 818325: Execution of an UNPREDICTABLE STR or STM instruction might deadlock. Fixed in r0p1. - A12 852422: Execution of a sequence of instructions might lead to either a data corruption or a CPU deadlock. Not fixed in any A12s yet. - A17 852423: Execution of a sequence of instructions might lead to either a data corruption or a CPU deadlock. Not fixed in any A17s yet. Since A12 got renamed to A17 it seems likely that there won't be any future Cortex-A12 cores, so we'll enable for all Cortex-A12. For Cortex-A17 I believe that all known revisions are affected and that all knows revisions means <= r1p2. Presumably if a new A17 was released it would have this problem fixed. Note that in <https://patchwork.kernel.org/patch/4735341/> folks previously expressed opposition to this change because: A) It was thought to only apply to r0p0 and there were no known r0p0 boards supported in mainline. B) It was argued that such a workaround beloned in firmware. Now that this same fix solves other errata on real boards (like rk3288) point A) is addressed. Point B) is impossible to address on boards like rk3288. On rk3288 the firmware doesn't stay resident in RAM and isn't involved at all in the suspend/resume process nor in the SMP bringup process. That means that the most the firmware could do would be to set the bit on "core 0" and this bit would be lost at suspend/resume time. It is true that we could write a "generic" solution that saved the boot-time "core 0" value of this register and applied it at SMP bringup / resume time. However, since this register (described as the "Feature Register" in errata) appears to be undocumented (as far as I can tell) and is only modified for these errata, that "generic" solution seems questionably cleaner. The generic solution also won't fix existing users that haven't happened to do a FW update. Note that in ARM64 presumably PSCI will be universal and fixes like this will end up in ATF. Hopefully we are nearing the end of this style of errata workaround. Signed-off-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Huang Tao <huangtao@rock-chips.com> Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-04-07 08:25:00 +09:00
config ARM_ERRATA_818325_852422
bool "ARM errata: A12: some seqs of opposed cond code instrs => deadlock or corruption"
depends on CPU_V7
help
This option enables the workaround for:
- Cortex-A12 818325: Execution of an UNPREDICTABLE STR or STM
instruction might deadlock. Fixed in r0p1.
- Cortex-A12 852422: Execution of a sequence of instructions might
lead to either a data corruption or a CPU deadlock. Not fixed in
any Cortex-A12 cores yet.
This workaround for all both errata involves setting bit[12] of the
Feature Register. This bit disables an optimisation applied to a
sequence of 2 instructions that use opposing condition codes.
config ARM_ERRATA_821420
bool "ARM errata: A12: sequence of VMOV to core registers might lead to a dead lock"
depends on CPU_V7
help
This option enables the workaround for the 821420 Cortex-A12
(all revs) erratum. In very rare timing conditions, a sequence
of VMOV to Core registers instructions, for which the second
one is in the shadow of a branch or abort, can lead to a
deadlock when the VMOV instructions are issued out-of-order.
config ARM_ERRATA_825619
bool "ARM errata: A12: DMB NSHST/ISHST mixed ... might cause deadlock"
depends on CPU_V7
help
This option enables the workaround for the 825619 Cortex-A12
(all revs) erratum. Within rare timing constraints, executing a
DMB NSHST or DMB ISHST instruction followed by a mix of Cacheable
and Device/Strongly-Ordered loads and stores might cause deadlock
config ARM_ERRATA_857271
bool "ARM errata: A12: CPU might deadlock under some very rare internal conditions"
depends on CPU_V7
help
This option enables the workaround for the 857271 Cortex-A12
(all revs) erratum. Under very rare timing conditions, the CPU might
hang. The workaround is expected to have a < 1% performance impact.
config ARM_ERRATA_852421
bool "ARM errata: A17: DMB ST might fail to create order between stores"
depends on CPU_V7
help
This option enables the workaround for the 852421 Cortex-A17
(r1p0, r1p1, r1p2) erratum. Under very rare timing conditions,
execution of a DMB ST instruction might fail to properly order
stores from GroupA and stores from GroupB.
ARM: 8558/1: errata: Workaround errata A12 818325/852422 A17 852423 There are several similar errata on Cortex A12 and A17 that all have the same workaround: setting bit[12] of the Feature Register. Technically the list of errata are: - A12 818325: Execution of an UNPREDICTABLE STR or STM instruction might deadlock. Fixed in r0p1. - A12 852422: Execution of a sequence of instructions might lead to either a data corruption or a CPU deadlock. Not fixed in any A12s yet. - A17 852423: Execution of a sequence of instructions might lead to either a data corruption or a CPU deadlock. Not fixed in any A17s yet. Since A12 got renamed to A17 it seems likely that there won't be any future Cortex-A12 cores, so we'll enable for all Cortex-A12. For Cortex-A17 I believe that all known revisions are affected and that all knows revisions means <= r1p2. Presumably if a new A17 was released it would have this problem fixed. Note that in <https://patchwork.kernel.org/patch/4735341/> folks previously expressed opposition to this change because: A) It was thought to only apply to r0p0 and there were no known r0p0 boards supported in mainline. B) It was argued that such a workaround beloned in firmware. Now that this same fix solves other errata on real boards (like rk3288) point A) is addressed. Point B) is impossible to address on boards like rk3288. On rk3288 the firmware doesn't stay resident in RAM and isn't involved at all in the suspend/resume process nor in the SMP bringup process. That means that the most the firmware could do would be to set the bit on "core 0" and this bit would be lost at suspend/resume time. It is true that we could write a "generic" solution that saved the boot-time "core 0" value of this register and applied it at SMP bringup / resume time. However, since this register (described as the "Feature Register" in errata) appears to be undocumented (as far as I can tell) and is only modified for these errata, that "generic" solution seems questionably cleaner. The generic solution also won't fix existing users that haven't happened to do a FW update. Note that in ARM64 presumably PSCI will be universal and fixes like this will end up in ATF. Hopefully we are nearing the end of this style of errata workaround. Signed-off-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Huang Tao <huangtao@rock-chips.com> Signed-off-by: Kever Yang <kever.yang@rock-chips.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-04-07 08:25:00 +09:00
config ARM_ERRATA_852423
bool "ARM errata: A17: some seqs of opposed cond code instrs => deadlock or corruption"
depends on CPU_V7
help
This option enables the workaround for:
- Cortex-A17 852423: Execution of a sequence of instructions might
lead to either a data corruption or a CPU deadlock. Not fixed in
any Cortex-A17 cores yet.
This is identical to Cortex-A12 erratum 852422. It is a separate
config option from the A12 erratum due to the way errata are checked
for and handled.
config ARM_ERRATA_857272
bool "ARM errata: A17: CPU might deadlock under some very rare internal conditions"
depends on CPU_V7
help
This option enables the workaround for the 857272 Cortex-A17 erratum.
This erratum is not known to be fixed in any A17 revision.
This is identical to Cortex-A12 erratum 857271. It is a separate
config option from the A12 erratum due to the way errata are checked
for and handled.
endmenu
source "arch/arm/common/Kconfig"
menu "Bus support"
config ISA
bool
help
Find out whether you have ISA slots on your motherboard. ISA is the
name of a bus system, i.e. the way the CPU talks to the other stuff
inside your box. Other bus systems are PCI, EISA, MicroChannel
(MCA) or VESA. ISA is an older system, now being displaced by PCI;
newer boards don't support it. If you have ISA, say Y, otherwise N.
# Select ISA DMA controller support
config ISA_DMA
bool
select ISA_DMA_API
# Select ISA DMA interface
config ISA_DMA_API
bool
config PCI_NANOENGINE
bool "BSE nanoEngine PCI support"
depends on SA1100_NANOENGINE
help
Enable PCI on the BSE nanoEngine board.
config ARM_ERRATA_814220
bool "ARM errata: Cache maintenance by set/way operations can execute out of order"
depends on CPU_V7
help
The v7 ARM states that all cache and branch predictor maintenance
operations that do not specify an address execute, relative to
each other, in program order.
However, because of this erratum, an L2 set/way cache maintenance
operation can overtake an L1 set/way cache maintenance operation.
This ERRATA only affected the Cortex-A7 and present in r0p2, r0p3,
r0p4, r0p5.
endmenu
menu "Kernel Features"
config HAVE_SMP
bool
help
This option should be selected by machines which have an SMP-
capable CPU.
The only effect of this option is to make the SMP-related
options available to the user for configuration.
config SMP
bool "Symmetric Multi-Processing"
depends on CPU_V6K || CPU_V7
depends on GENERIC_CLOCKEVENTS
depends on HAVE_SMP
depends on MMU || ARM_MPU
select IRQ_WORK
help
This enables support for systems with more than one CPU. If you have
a system with only one CPU, say N. If you have a system with more
than one CPU, say Y.
If you say N here, the kernel will run on uni- and multiprocessor
machines, but will use only one CPU of a multiprocessor machine. If
you say Y here, the kernel will run on many, but not all,
uniprocessor machines. On a uniprocessor machine, the kernel
will run faster if you say N here.
See also <file:Documentation/x86/i386/IO-APIC.rst>,
<file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at
<http://tldp.org/HOWTO/SMP-HOWTO.html>.
If you don't know what to do here, say N.
config SMP_ON_UP
bool "Allow booting SMP kernel on uniprocessor systems"
depends on SMP && !XIP_KERNEL && MMU
default y
help
SMP kernels contain instructions which fail on non-SMP processors.
Enabling this option allows the kernel to modify itself to make
these instructions safe. Disabling it allows about 1K of space
savings.
If you don't know what to do here, say Y.
config ARM_CPU_TOPOLOGY
bool "Support cpu topology definition"
depends on SMP && CPU_V7
default y
help
Support ARM cpu topology definition. The MPIDR register defines
affinity between processors which is then used to describe the cpu
topology of an ARM System.
config SCHED_MC
bool "Multi-core scheduler support"
depends on ARM_CPU_TOPOLOGY
help
Multi-core scheduler support improves the CPU scheduler's decision
making when dealing with multi-core CPU chips at a cost of slightly
increased overhead in some places. If unsure say N here.
config SCHED_SMT
bool "SMT scheduler support"
depends on ARM_CPU_TOPOLOGY
help
Improves the CPU scheduler's decision making when dealing with
MultiThreading at a cost of slightly increased overhead in some
places. If unsure say N here.
config HAVE_ARM_SCU
bool
help
This option enables support for the ARM snoop control unit
config HAVE_ARM_ARCH_TIMER
bool "Architected timer support"
depends on CPU_V7
select ARM_ARCH_TIMER
help
This option enables support for the ARM architected timer
config HAVE_ARM_TWD
bool
help
This options enables support for the ARM timer and watchdog unit
config MCPM
bool "Multi-Cluster Power Management"
depends on CPU_V7 && SMP
help
This option provides the common power management infrastructure
for (multi-)cluster based systems, such as big.LITTLE based
systems.
config MCPM_QUAD_CLUSTER
bool
depends on MCPM
help
To avoid wasting resources unnecessarily, MCPM only supports up
to 2 clusters by default.
Platforms with 3 or 4 clusters that use MCPM must select this
option to allow the additional clusters to be managed.
ARM: b.L: core switcher code This is the core code implementing big.LITTLE switcher functionality. Rationale for this code is available here: http://lwn.net/Articles/481055/ The main entry point for a switch request is: void bL_switch_request(unsigned int cpu, unsigned int new_cluster_id) If the calling CPU is not the wanted one, this wrapper takes care of sending the request to the appropriate CPU with schedule_work_on(). At the moment the core switch operation is handled by bL_switch_to() which must be called on the CPU for which a switch is requested. What this code does: * Return early if the current cluster is the wanted one. * Close the gate in the kernel entry vector for both the inbound and outbound CPUs. * Wake up the inbound CPU so it can perform its reset sequence in parallel up to the kernel entry vector gate. * Migrate all interrupts in the GIC targeting the outbound CPU interface to the inbound CPU interface, including SGIs. This is performed by gic_migrate_target() in drivers/irqchip/irq-gic.c. * Call cpu_pm_enter() which takes care of flushing the VFP state to RAM and save the CPU interface config from the GIC to RAM. * Modify the cpu_logical_map to refer to the inbound physical CPU. * Call cpu_suspend() which saves the CPU state (general purpose registers, page table address) onto the stack and store the resulting stack pointer in an array indexed by the updated cpu_logical_map, then call the provided shutdown function. This happens in arch/arm/kernel/sleep.S. At this point, the provided shutdown function executed by the outbound CPU ungates the inbound CPU. Therefore the inbound CPU: * Picks up the saved stack pointer in the array indexed by its MPIDR in arch/arm/kernel/sleep.S. * The MMU and caches are re-enabled using the saved state on the provided stack, just like if this was a resume operation from a suspended state. * Then cpu_suspend() returns, although this is on the inbound CPU rather than the outbound CPU which called it initially. * The function cpu_pm_exit() is called which effect is to restore the CPU interface state in the GIC using the state previously saved by the outbound CPU. * Exit of bL_switch_to() to resume normal kernel execution on the new CPU. However, the outbound CPU is potentially still running in parallel while the inbound CPU is resuming normal kernel execution, hence we need per CPU stack isolation to execute bL_do_switch(). After the outbound CPU has ungated the inbound CPU, it calls mcpm_cpu_power_down() to: * Clean its L1 cache. * If it is the last CPU still alive in its cluster (last man standing), it also cleans its L2 cache and disables cache snooping from the other cluster. * Power down the CPU (or whole cluster). Code called from bL_do_switch() might end up referencing 'current' for some reasons. However, 'current' is derived from the stack pointer. With any arbitrary stack, the returned value for 'current' and any dereferenced values through it are just random garbage which may lead to segmentation faults. The active page table during the execution of bL_do_switch() is also a problem. There is no guarantee that the inbound CPU won't destroy the corresponding task which would free the attached page table while the outbound CPU is still running and relying on it. To solve both issues, we borrow some of the task space belonging to the init/idle task which, by its nature, is lightly used and therefore is unlikely to clash with our usage. The init task is also never going away. Right now the logical CPU number is assumed to be equivalent to the physical CPU number within each cluster. The kernel should also be booted with only one cluster active. These limitations will be lifted eventually. Signed-off-by: Nicolas Pitre <nico@linaro.org>
2012-04-12 15:56:10 +09:00
config BIG_LITTLE
bool "big.LITTLE support (Experimental)"
depends on CPU_V7 && SMP
select MCPM
help
This option enables support selections for the big.LITTLE
system architecture.
config BL_SWITCHER
bool "big.LITTLE switcher support"
depends on BIG_LITTLE && MCPM && HOTPLUG_CPU && ARM_GIC
select CPU_PM
ARM: b.L: core switcher code This is the core code implementing big.LITTLE switcher functionality. Rationale for this code is available here: http://lwn.net/Articles/481055/ The main entry point for a switch request is: void bL_switch_request(unsigned int cpu, unsigned int new_cluster_id) If the calling CPU is not the wanted one, this wrapper takes care of sending the request to the appropriate CPU with schedule_work_on(). At the moment the core switch operation is handled by bL_switch_to() which must be called on the CPU for which a switch is requested. What this code does: * Return early if the current cluster is the wanted one. * Close the gate in the kernel entry vector for both the inbound and outbound CPUs. * Wake up the inbound CPU so it can perform its reset sequence in parallel up to the kernel entry vector gate. * Migrate all interrupts in the GIC targeting the outbound CPU interface to the inbound CPU interface, including SGIs. This is performed by gic_migrate_target() in drivers/irqchip/irq-gic.c. * Call cpu_pm_enter() which takes care of flushing the VFP state to RAM and save the CPU interface config from the GIC to RAM. * Modify the cpu_logical_map to refer to the inbound physical CPU. * Call cpu_suspend() which saves the CPU state (general purpose registers, page table address) onto the stack and store the resulting stack pointer in an array indexed by the updated cpu_logical_map, then call the provided shutdown function. This happens in arch/arm/kernel/sleep.S. At this point, the provided shutdown function executed by the outbound CPU ungates the inbound CPU. Therefore the inbound CPU: * Picks up the saved stack pointer in the array indexed by its MPIDR in arch/arm/kernel/sleep.S. * The MMU and caches are re-enabled using the saved state on the provided stack, just like if this was a resume operation from a suspended state. * Then cpu_suspend() returns, although this is on the inbound CPU rather than the outbound CPU which called it initially. * The function cpu_pm_exit() is called which effect is to restore the CPU interface state in the GIC using the state previously saved by the outbound CPU. * Exit of bL_switch_to() to resume normal kernel execution on the new CPU. However, the outbound CPU is potentially still running in parallel while the inbound CPU is resuming normal kernel execution, hence we need per CPU stack isolation to execute bL_do_switch(). After the outbound CPU has ungated the inbound CPU, it calls mcpm_cpu_power_down() to: * Clean its L1 cache. * If it is the last CPU still alive in its cluster (last man standing), it also cleans its L2 cache and disables cache snooping from the other cluster. * Power down the CPU (or whole cluster). Code called from bL_do_switch() might end up referencing 'current' for some reasons. However, 'current' is derived from the stack pointer. With any arbitrary stack, the returned value for 'current' and any dereferenced values through it are just random garbage which may lead to segmentation faults. The active page table during the execution of bL_do_switch() is also a problem. There is no guarantee that the inbound CPU won't destroy the corresponding task which would free the attached page table while the outbound CPU is still running and relying on it. To solve both issues, we borrow some of the task space belonging to the init/idle task which, by its nature, is lightly used and therefore is unlikely to clash with our usage. The init task is also never going away. Right now the logical CPU number is assumed to be equivalent to the physical CPU number within each cluster. The kernel should also be booted with only one cluster active. These limitations will be lifted eventually. Signed-off-by: Nicolas Pitre <nico@linaro.org>
2012-04-12 15:56:10 +09:00
help
The big.LITTLE "switcher" provides the core functionality to
transparently handle transition between a cluster of A15's
and a cluster of A7's in a big.LITTLE system.
config BL_SWITCHER_DUMMY_IF
tristate "Simple big.LITTLE switcher user interface"
depends on BL_SWITCHER && DEBUG_KERNEL
help
This is a simple and dummy char dev interface to control
the big.LITTLE switcher core code. It is meant for
debugging purposes only.
choice
prompt "Memory split"
depends on MMU
default VMSPLIT_3G
help
Select the desired split between kernel and user memory.
If you are not absolutely sure what you are doing, leave this
option alone!
config VMSPLIT_3G
bool "3G/1G user/kernel split"
config VMSPLIT_3G_OPT
depends on !ARM_LPAE
bool "3G/1G user/kernel split (for full 1G low memory)"
config VMSPLIT_2G
bool "2G/2G user/kernel split"
config VMSPLIT_1G
bool "1G/3G user/kernel split"
endchoice
config PAGE_OFFSET
hex
default PHYS_OFFSET if !MMU
default 0x40000000 if VMSPLIT_1G
default 0x80000000 if VMSPLIT_2G
default 0xB0000000 if VMSPLIT_3G_OPT
default 0xC0000000
config NR_CPUS
int "Maximum number of CPUs (2-32)"
range 2 32
depends on SMP
default "4"
config HOTPLUG_CPU
bool "Support for hot-pluggable CPUs"
depends on SMP
select GENERIC_IRQ_MIGRATION
help
Say Y here to experiment with turning CPUs off and on. CPUs
can be controlled through /sys/devices/system/cpu.
config ARM_PSCI
bool "Support for the ARM Power State Coordination Interface (PSCI)"
depends on HAVE_ARM_SMCCC
select ARM_PSCI_FW
help
Say Y here if you want Linux to communicate with system firmware
implementing the PSCI specification for CPU-centric power
management operations described in ARM document number ARM DEN
0022A ("Power State Coordination Interface System Software on
ARM processors").
# The GPIO number here must be sorted by descending number. In case of
# a multiplatform kernel, we just want the highest value required by the
# selected platforms.
config ARCH_NR_GPIO
int
default 2048 if ARCH_SOCFPGA
default 1024 if ARCH_BRCMSTB || ARCH_RENESAS || ARCH_TEGRA || \
Merge msm-5.4 (kernel.lnx.5.4-200510) into msm-waipio Changes in kernel.lnx.5.4-200510 msm:ADSPRPC: memory map updates to remote process radio: RTC6226: remove open and release v4l2_fh file dt-bindings: clock: add support for DSI CPHY clocks firmware: scm: Add export symbol for scm API usb: f_qdss: Fix watchdog bark issue on wait_for_completion usb: f_qdss: Remove QDSS read functionality as not in use usb: f_qdss: Handle async completion of requests during qdss_close usb: f_qdss: Dequeue pending requests upon qdss close ucsi: ucsi_glink: Fix message handling in ucsi_qti_notify() arm64: defconfig: Enable HH_IRQ_LEND for Lahaina GKI arm64: defconfig: Add HH_IRQ_LEND to genericarmv8 haven: irq_lend: Lendee registration persists across transactions haven: irq_lend: Defer vm_name to vmid translation cnss2: Enable Support for WFC call TWT config haven: ctrl: Enable setting trace class cnss2: Post register driver work as unkillable event clockevents: Add NULL definition for tick_broadcast on UP sched: Improve the scheduler scsi: pm: Balance pm_only of request queue during system resume usb: misc: nb7vpq904m: rework to work with ucsi framework clk: qcom: gdsc-regulator: correct gdsc_disable() success return value coresight: add sw usb mode support for tmc ASoC: update uapi header for upstream compliance coresight: tmc: clear has_iommu flag when smmu is bypassed devfreq: memlat: track cpu during ipi to cluster soc: qcom: service-locator: Add soft-dependency on QRTR Revert "arm64: defconfig: Insert Adreno default governor in gki defconfig" msm: adsprpc: remove excesive logging from debugfs during smmu probing cnss2: Add code to update cnss soc info drivers: qcom: rpmh_master_stat: remove stub function definition ucsi: ucsi_glink: notify partner information regulator: rpm-smd-regulator: Add support for proxy consumers regulators: rpm-smd: Remove unused exported functions Rest replicator registers when enabling it first time cpufreq: qcom: Add a property for max lut entries cpufreq: qcom: Fix multiple request of IRQs regulator: rpm-smd: Add snapshot of rpm-smd regulator driver usb: phy: qmp: support multiple function of portselect input: qcom-hv-haptics: set auto resonance when loading effects input: misc: qcom-hv-haptics: check nvmem before using it msm: adsprpc: allow only unsigned offload for untrusted apps mhi: core: remove duplicate timesync sysfs functions mhi: core: add asynchronous time request support in sysfs defconfig: lahaina: Enable LEDS_TRIGGER_TIMER cnss2: Fix a few issues during platform reboot or shutdown defconfig: arm64: Enable SDCARD_FS for Lahaina ARM: msm: Add board config support for 32 bit SDXLEMUR ARM: convert build of appended dtb zImage to list of dtbs ANDROID: ARM: add config option to build zImage/dtb combo msm: adsprpc: Driver capability iommu/arm-smmu: Fix tbu_ids type in qsmmuv500_tlb_sync_timeout() soc: qcom: mem-buf: Fix NULL pointer dereference when assigning memory msm: kgsl: Fix preemption fault handling for A6xx GPU mhi: controller: Enable L1 when mhi is not active mhi: controller: qcom: Enable MHI register write offload support input: qcom-hv-haptics: add RC clock calibration for FIFO mode ARM: build correct dtbs to append to zImage arch: arm: generalise ARCH_QCOM platform mach-qcom: add support to populate dt nodes for 32-bit platforms sched/walt: Remove fixup_walt_sched_stats sched_class method sched: walt: Remove CFS_BANDWIDTH support in WALT sched/walt: remove references to unused sched_disable_window_stats sched: fair: Improve the Scheduler arm64: defconfig: Enable debugfs for QMP on perf build msm: kgsl: Check for an OPP table without accidentally creating one msm: adsprpc : Change to resolve undefined behaviour clk: qcom: gcc-holi: Add GCC support for HOLI dt-bindings: clk: gcc: Remove vsensor clock ID for Holi tmc-etr: Add ETR status check in usb_notifier mhi: core: Add support to re-try requesting firmware image uapi: sound: remove redundant QGKI config checks Revert "ASoC: msm: fix integer overflow for long duration offload playback" Revert "ALSA: uapi: add new macro SNDRV_AUDIO_QGKI" cnss2: Clear host driver ops if register driver gets killed msm: kgsl: Add check not to decrement refcount when debug_fs is disabled haven: dbl: Make hh_dbl_ functions wait for capid availability neuron: ch_haven: Move msgq init to sync thread haven: dbl: Support registration before dbl probe, resource population haven: dbl: Initialize cap ids to HH_CAPID_INVAL soc: qcom: guestvm loader enhancements haven: rm: Add support to get hypervisor resources mhi: core: block low power modes only in mission mode mhi: core: use internal sequence numbers for timesync doorbells mhi: core: enable doorbell method for time synchronization msm: kgsl: Allow compatible string matching for gpu devices msm: kgsl: Remove legacy platform probe table hvc: haven: Move CONSOLE_OPEN before hvc_instantiate drivers: lpm-levels: use correct CPUHP notifications for QoS msm: gsi: Add support for EV RP DDR access feature sched: rt: print sched_rt_runtime during throttling wigig_sensing: add SPI profiling wigig_sensing: make equal sized SPI transactions wigig_sensing: fix driver state machine wigig_sensing: change change_mode ioctl signature wigig_sensing: fix usage of wait_event_interruptible_timeout() cpufreq: qcom: Add sysfs to reflect the limit frequency cnss2: Add code to pick hang data offset based on deviceID soc: qcom: Add RPM SMD Driver soc: qcom: eud: Define dummy set_temios and get_mctrl callbacks lib: spinlock: Cause a watchdog bite on spin_dump mmc: sdhci-msm: Port fixes from previous qcom SoCs to Lahaina soc: qcom: spss_utils: Modify memory unmapping scheme for cmac_mem soc: qcom: spss_utils: Port IAR spss_utils code to Lahaina spi: spi-msm-geni: Convert IB vote into KHz unit defconfig: Disable CTI save function on perf build for lahaina input: misc: qcom-hv-haptics: Add support to play custom waveform spmi: spmi-pmic-arb: add debugfs support for address mapping arm64: defconfig: Enable Haven ctrl for Lahaina arm64: defconfig: Enable Haven ctrl on genericarmv8 haven: add sysfs and debug interfaces msm: kgsl: Modify the UCHE_PF_CLIENT logic dwc3-msm: Check EUD based spoof disconnect state on resume msm: adsprpc: split init process function into smaller methods defconfig: lahaina: Enable DMA_CONFIGURE_ALIGNMENT iommu/iova: Support disabling domain iova alignment platform : msm-geni-se: fix voting unit for bus bandwidth smcinvoke: Port smcinvoke driver changes cfg80211: More error messages for key addition failures usb: dwc3: Do not process request if HWO is set for its TRB mhi: dev: netdev: inherit IPC log level from controller mhi: dev: uci: inherit IPC log level from controller arm64: defconfig: Enable SPS driver for Lahaina soc: qcom: pmic_glink: add protection domain restart (PDR) support haven: rm: Update dt parsing to match Haven-supplied nodes msm: kgsl: Add GMU registers to the A660 snapshot firmware: qcom: add encrypted tz and qsee log support msm: kgsl: Increase the size of the snapshot for A660 haven: display: add IRQ label for display haven: display: add display notify tag for memory sharing arm64: defconfig: Enable CONFIG_HH_MEM_NOTIFIER haven: Introduce a memory sharing notification framework cnss2: Update WLFW QMI messages to latest cnss2: Fix a issue for WLFW QMI files soc: qcom: spcom: enable config spcom as DLKM for GKI cnss2: Add platform driver code to handle hang event data soc: qcom: service-locator: update types in get_service_location() tmc-etr: Check if it is mode switch action during disable etr cnss2: Add SRAM dump in pci dump collection cnss2: Skip link down recovery if link has been recovered by retry cnss2: Update WLFW QMI host cap message cnss2: Add support to send host SMMU IOVA range to firmware neuron: block_client: Wait for channel to init usb: gsi: Add NULL pointer check dwc3-msm: Skip querying speed and cc_state with EUD extcon device haven: Align APIs and structures to account for the mem_info tag usb: gsi: Allocate strings IDs for functions on every bind usb: f_gsi: Don't enable IPA data path if connect channel fails usb: f_gsi: Avoid gsi ep operations if run/stop is cleared usb: f_gsi: Add error checking for PREPARE_TRBS and STARTXFER ops clk: qcom: clk-alpha-pll: Add support for Agera print registers clk: qcom: clk-alpha-pll: Add support for Agera PLL clk: qcom: clk-alpha-pll: Add support for Legacy FSM Mode wigig_sensing: print burst size msm: kgsl: Add CP_APRIV_CNTL and CP_SMMU_STREAM_ID regs to snapshot mhi: core: Prevent MHI reg read upon endpoint crash clk: qcom: lahaina: Fix stuck-off warnings during probe input: touchscreen: focaltech_touch: Configure power supply neuron: block_client: Fix init loop soc: qcom: qmi: Return EPROBE_DEFER if no address family platform: msm: allow external display registration from kernel module mhi: core: Make sure reg_write_q stores visible to other cores msm: kgsl: Fix snapshot collection after preempt trigger failure msm: kgsl: Add support for A619 GPU msm: cvp: Avoid dereferencing dangling pointer arm64: defconfig: Add support for torture tests on Lahaina msm: adsprpc: initialize async job member of context structure haven: irq_lend: Use Linux IRQ numbers msm: cvp: Support DSP to CPU reverse rpmsg drivers: qmi_sensor: Add support for mmw ADC thermistors dt-bindings: thermal: Add support for mmw ADC thermistors HID: qvr: Adding numerator and denominator to sensor data drivers: thermal: Add support for CDSP cooling devices via qmi cdev msm: kgsl: Add a requeue list for unprocessed dispatcher jobs msm: kgsl: Get resource address from cmd-db driver soc: qcom: socinfo: Add soc information for Holi dt-bindings: clock: Add support for clock ids for HOLI iommu/arm-smmu: Fix transaction flags in qsmmuv500_iova_to_phys wigig_sensing: do not deassert DRI on Data Ready DRI wigig_sensing: enable data read in non-burst sizes wigig_sensing: handle SYS_ASSERT corner cases wigig_sensing: relax state machine restrictions wigig_sensing: enforce data read in multiple of burst size wigig_sensing: make sys-assert DRI priority higher wigig_sensing: make change_mode ioctl more robust wigig_sensing: return error code after change_mode failure wigig_sensing: add support for asynchronous events msm: wigig_sensing: use 32 bit transactions for SPI block read wigig_sensing: add GET_NUM_AVAIL_BURSTS ioctl msm: wigig_sensing: initial commit of wigig_sensing SPI driver msm: cvp: Avoid out-of-bounds write mhi: core: Check for pm error state before asserting dev wake mhi: core: fix error handling in time synchronization function mhi: core: unconditionally trigger resume to assert device wake mhi: core: fix bandwidth scaling initialization failure mhi: core: ensure non-zero session or sequence ID values mhi: core: serialize execution environment and power off changes mhi: cntrl: qcom: enhance logging for forced suspend mhi: cntrl: qcom: remove boot monitor thread to use status cb mhi: cntrl: qcom: use RC driver APIs to toggle low power modes mhi: cntrl: qcom: allow printing large strings to IPC logs mhi: core: remove unused timesync device msm: synx: validate external callback service-locator: Start the locator service by default arm64: defconfig: Trim genericarmv8 defconfig arm64: defconfig: Add ftrace to genericarmv8 interconnect: qcom: lahaina: Change QUP vote_scale to 1 interconnect: qcom: Add support for per-BCM scaling factors interconnect: qcom: lahaina: Stop using initializer macros soc: qcom: Add support for early brought out subsystems soc: qcom: Refactor subsystem registration process msm: kgsl: Make the gpubw governor immutable msm: kgsl: Increase the SVM and non-SVM address space sched/fair: honor uclamp restrictions in fbt() clk: qcom: gcc-shima: Add support for GCC clock driver tcp: Reset tcp connections in SYN-SENT state arm64: defconfig: Insert Adreno default governor in gki defconfig arm64: defconfig: Enable touchscreen GKI on Lahaina qseecom: Invalidate the buffer after listener operation FROMLIST: power_supply: Add additional health properties to the header mhi: core: Add range check for channel id received in event ring msm: adsprpc: Add capibility API for HMX msm: kgsl: Enable Content Protection for A660 GPU driver: thermal: qmi_cdev: Add support for DSC mitigation ion: Ensure secure HLOS accessible buffers are zeroed when allocated trace: Add new trace event for DCVSH cpufreq: qcom: Add support to register for Limits Management interrupt pinctrl: qcom: Expose ufs_reset as gpio on shima scripts: headers_install: Add sigcontext.h into the bypass list soc: qcom: spcom: Provide retry mechanism for spss mmc: sdhci-msm: Avoid enable SD power if card is not present Revert "mmc: sdhci-msm: Avoid enable SD card power if card is removed" msm: ipa4: capture the unclock gsi IPA register access input: qcom-hv-haptics: store closed-loop brake settings into SDAM input: qcom-hv-haptics: limit play rate for PM8350B v1 hardware input: qcom-hv-haptics: update FIFO samples in IRQ thread ion: Forbid multi-VMID allocation requests for the secure system heap ion: Improve ION allocation paths msm: cvp: fixed cache operation func param issue msm: kgsl: Add a terminating empty entry to a660_protected_regs array defconfig: arm64: Enable msm_show_resume_irq for Lahaina irqchip: Declare the msm_show_resume_irq_mask in a header defconfig: arm64: Enable of_devlink proxy consumer for Lahaina soc: qcom: Add support for proxy consumers on of_devlink msm: kgsl: Don't populate the OPP table if it already exists dt-bindings: clock: Update clock IDs and BCRs of GCC for SHIMA ANDROID: serdev: restrict claim of platform devices phy: ufs: Add set_mode callback for RUMI UFS PHY driver mhi: core: add prints for votes and a debugfs vote entry mhi: core: assign controller name to own device mhi: core: provide an API to retrieve device failure reason mhi: core: add support for retrieving device failure reason mhi: core: Log dev wake count in mhi device get/put mhi: core: do not toggle PCIe low power mode in sleeping context mhi: core: Add OOB and DB mode event IPC log and count mhi: core: Handle RSC minimum credit requirement mhi: core: remove firmware loader worker thread mhi: core: check for special events at mission mode entry mhi: core: prioritize handling special purpose events mhi: core: Handle firmware load through state worker usb: gadget: composite: Support more than 500mA MaxPower sound: usb: Flush cache explicitly after mapping buffers usb: dwc3-msm: Revert back to power_supply_by_name() lookup sched: Improve the scheduler defconfig: Enable header tests for Lahaina GKI soc: qcom: hyp_core_ctl: Move the trace file to the local directory trace: Make ion.h work with KERNEL_HEADER_TEST includes: Make headers work with KERNEL_HEADER_TEST cnss2: Enable time sync feature for QCA6490 msm: kgsl: Modify CP_LPAC_PROG_FIFO_SIZE register value for A660 msm: adsprpc: retrieve table index directly from context ID sched: Improve the scheduler phy: ufs-qcom: Update offsets for Lahaina netfilter: Include alarm type timer in idletimer clk: qcom: clk-alpha-pll: Add support for Regera print registers clk: qcom: clk-alpha-pll: Add support for Regera PLL clk: qcom: clk-alpha-pll: Add support for Trion print registers clk: qcom: clk-alpha-pll: Add support for Trion PLL clk: qcom: gdsc-regulator: Add support for votable GDSCs msm: cvp: Re-classification of traces for CVP_DBG interconnect: qcom: lahaina: Use the correct binding for qnm_pcie input: qcom-hv-haptics: Add a property to specify FIFO empty threshold cnss2: Add SRAM mem dump for debug interconnect: qcom: lahaina: Enable the rest of the QoS ports msm: cvp: Fix NULL pointer error when DEBUG_FS is disabled msm: kgsl: Do not modify UCHE_CMDQ_CONFIG register for A660 clk: qcom: gdsc-regulator: remove explicit parent supply enablement Revert "BACKPORT: tracing: Remove unnecessary DEBUG_FS dependency" net: Indicate whether a socket is a transparent socket power: qti_battery_charger: Block PMIC GLINK Tx for debug battery dt-bindings: iio: Update PMIC5 ADC support defconfig: holi: Enable holi pinctrl pinctrl: qcom: Add support for Holi SoC pin control ASoC: compress: Avoid race condition in compress drain defconfig: Add initial defconfig fragments for Holi dt-bindings: clock: Update clock ids of GCC for SHIMA clk: qcom: clk-alpha-pll: Add support for Fabia print registers clk: qcom: clk-alpha-pll: Misc cleanup and fixes for PLLs um: x86_64: Remove the FRAME_WARN config option defconfig: arm64:Enable CDSPRM driver for Lahaina arm64: defconfig: Enable LLCC driver net: qrtr: Check for exisiting waiters Bluetooth: Add support to get chipset version from device tree memshare: Rectify sourcing memshare driver for compiling soc: qcom: add CDSP request manager regulator: qcom_pm8008: use private API for en_supply management power: supply: qti_battery_charger: add support to set fake SOC for battery soc: qcom: pmic_glink: Verify the message length haven: add stubs to haven client exposed APIs cnss2: Handle race between register driver and reboot properly haven: rm: Remove pr_err on get_vmid haven: rm: Add haven vIRQ lending library haven: rm: Add calls to relase/reclaim IRQs haven: rm: Allow IRQ lender to learn about the IRQ handle haven: rm: Update IRQ notify to expect standard reply haven: Clean up payload sizes haven: rm: Send requests atomically to RM haven: rm: Do not allow concurrent stream from RM haven: rm: Use local dt properites for RM capids hvc: haven: Update driver initialization to support console haven: Improve print statements haven: msgq: Update EMPTY/FULL signals haven: rm: Add HH_SELF_VM name irqchip: add snapshot of msm_show_resume_irq defconfig: Enable voltage cooling device for lahaina drivers: thermal: cpu_voltage: Add CPU voltage cooling device support tmc-etr: Remove the duplicated cti map regulator: qcom_pm8008: remove explicit parent supply management usb: xhci: Increase xhci halt timeout arm64: defconfig: Enable boot_stats driver for Lahaina msm: adsprpc: register wake-source clients during driver init interconnect: qcom: Fix the commit bit not getting set msm: synx: change kzalloc to vzalloc clk: qcom: clk-alpha-pll: Add support for Huayra print registers clk: qcom: clk-alpha-pll: Add support for Zonda print registers clk: qcom: clk-alpha-pll: Add support for Lucid PLL print registers msm: pcie: remove read to PCIe ELBI_SYS_CTRL reg after PME_TURNOFF msm: kgsl: Query xo resource addr from cmd-db driver power: supply: qti-battery-charger: Handle incorrect thermal levels kernel: hdcp_qseecom: Enable as gki module cnss2: Remove improper runtime PM enablement checks cnss2: Check driver link state before prevent/allow PCIe L1 power: supply: qti-battery-charger: Fix buffer handling in handle_message() msm: cvp: Avoid releasing buffers during boot msm: cvp: add cache operation control flag usb: dwc3-msm: Use PROP_INPUT_CURRENT_LIMIT to for vbus_draw iommu/arm-smmu: Add support to disable page-table coherency iommu/arm-smmu: Fix DOMAIN_ATTR_PAGE_TABLE_FORCE_COHERENT enablement defconfig: lahaina: Disable qbt_handler from QGKI config iio: adc: Add missing features in PMIC5 ADC Revert "ASoC: Update the widgets power up/down sequence" mm: slub: reinitialize random sequence cache on slab object update ion: Remove ION_HEAP_FLAG_DEFER_FREE for dynamic carveout heaps interconnect: qcom: Fix BW requests to L3_SHARED returning -EINVAL soc: qcom: msm_perf: fix invalid usuage of cpumask sched/fair: Improve the scheduler arm64: defconfig: define ARCH_LAHAINA for VM image to compile scsi: ufs-qcom: dump phy registers on error defconfig: lahaina-qgki: Enable QTI clk debugfs features for QGKI variant dt-bindings: interconnect: Update SLAVE_EPSS_L3_SHARED arm64: defconfig: Enable QRTR for genericarmv8 arm64: defconfig: Enable QRTR Haven for lahaina-gki AOSP change: Add fscrypt-provisioning to keyring usb: dwc3: Avoid resume_work flush in pm_suspend/pm_resume tty: hvc_haven: Use thread worker to send characters haven: rm: Clean VM Services - Console APIs arch: arm64: hh: Clobber x18 if SCS isn't enabled haven: hh_msgq: Let clients manage the buffers for hh_msgq_recv clk: qcom: rpmh: Add support for RPMH clocks for Shima drivers: llcc: Add LLCC driver for Shima cnss2: update firmware name for QCA6490 rev.2.0 drm/msm: make msm_drm.h uapi header safe for C++ arm64: kconfig: Add initial platform for Holi msm_geni_serial_console: Make early console depend on kernel console serial: msm_geni_serial: Use IS_ENABLED() instead of ifdef CONFIG msm: pcie: fix user info in client's event callback dwc3: Handle USB spoof disconnect when EUD is enabled msm: kgsl: Restrict gpu governors to gpu devfreq devices msm: cvp: Validate buffer config in HFI packet msm: ipa4: flow control changes for rmnet pipe drivers: soc: qti: Fix data type for uapi header msm: kgsl: Check the return value of regulator_enable msm: kgsl: Set the I/O coherent feature earlier drivers: cpuidle: lpm-levels: initialize latency to default i2c: i2c-msm-geni: Add support in I2C driver for Trusted VM memory_dump: Correct the copyright year leds: qti-flash: Update camera flash client interface options regulator: qpnp-amoled: Add set_load() callback for IBB regulator dt-bindings: clk: Remove unused cpuss clocks for Lahaina clk: qcom: gcc-lahaina: Remove unused cpuss clocks uapi: Fix more headers to work with UAPI_HEADER_TEST includes: Fix more headers to work with KERNEL_HEADER_TEST Revert "SoC: soc-core: export function to find components" msm: cvp: Optimize synX handling in cvp driver cnss2: Ignore ramdump init failure usb: gadget: Add super speed plus desc for midi function defconfig: lahaina: enable the fastrpc QGKI config option ALSA: core: set private data for snd_info_entry haven: Fix buffer calculations for MEM_SHARE and MEM_LEND haven: Fix NULL pointer dereference in hh_rm_populate_mem_attr_desc() Fix GKI compilation for inline encryption modules soc: qcom: altmode-glink: add SSR support power: supply: qti_battery_charger: add SSR support ucsi: ucsi_glink: add SSR support soc: qcom: pmic_glink: add subsystem restart (SSR) support soc: qcom: pmic_glink: rename callback function pointer msm: cvp: avoid checking read_idx again mem-buf: Replace *_TRUSTED_UI with *_TRUSTED_VM soc: qcom: secure_buffer: Remove support for VMID_TRUSTED_UI soc: qcom: mem-buf: Do not assume VMID values ion: Add support for dynamically assigned VMIDs haven: hh_msgq: Let clients manage the buffers for hh_msgq_send haven: msgq: Make the send/recv wait if the cap-id is not ready soc: qcom: mem-buf: Do not print errors on probe deferrals soc: qcom: rpmh_master_stat: Add island stats support input: touchscreen: st: enable aoi_set msm: pcie: update suppressible clock info usb: dwc3: Add tuning support for Gen2 Tx compliance parameters net: qrtr: Add haven transport kernel:hdcp_qseecom:Enable hdcp_qseecom on Lahaina msm: kgsl: Setup UCHE_CMDQ_CONFIG register for A660 crypto: msm: restrict value of num_fds to QCEDEV_MAX_BUFFERS usb: f_fs: Clear OS Extended descriptor counts to zero in ffs_data_reset() i2c: i2c-msm-geni: Return correct error code if registration fail phy: ufs: Return error if UFS PHY reset control is not provided on RUMI smcinvoke: Return proper error in process_accept_req msm: adsprpc: store process specific info in GETINFO ioctl call iommu/arm-smmu: Record page table configuration in debug structures haven: Include notifer header file usb: gadget: qdss: Add NULL check against priv_usb with usb_qdss_close() soc: qcom: eud: Fix the power supply information msm: pcie: add PCIe GDSC disable/enable for DRV suspend/resume msm: pcie: remove aggregation of PCIe rate change clock vote msm: pcie: switch pipe clk mux source to XO before disabling GDSC msm: adsprpc: remove DMA coherency attributes in fastrpc driver msm: cvp: Reverse cvp gdsc and cbcr ctrl sequence iommu: iommu-debug: Fix input IOVA usage in atos_write() arm64: defconfig: Enable I2C and SPI dev files in lahaina arm64: defconfig: Enable Buses configs for trusted VM msm: adsprpc: Handle hyp assign errors properly for dsp msm: adsprpc: Fix for correct offset calculation usb: gadget: Reset string ids upon unbind arm64: defconfig: Enable neuron for genericarmv8 arm64: defconfig: Enable neuron for lahaina net: Add Neuron Framework phy: ufs: Update UFS PHY settings for Lahaina msm: cvp: Relocate CVP DSP interface init BACKPORT: extcon: Mark extcon_get_edev_name() function as exported symbol haven: Convert the cap entry locks to spinlocks usb: phy: Keep regulators on in probe if EUD is enabled icc: dt-bindings: add endpoint IDs for interconnects for SHIMA icc: dt-bindings: add endpoint IDs for interconnects for HOLI arm: defconfig: Enable Slimbus and QUPv3 drivers as modules on Lahaina haven: msgq: Initialize the cap-id with U64_MAX Revert "cnss2: Add support for bus bandwidth scale" coresight: Add spin_lock_init for funnel and replicator cnss2: Make sure PCIe link is in L0 state before updating time sync tty: msm_geni: Do not place msm_geni_console_setup under __init interconnect: qcom: Set QoS on the first bandwidth request msm: ADSPRPC: Embed job type in context identifier clk: qcom: gcc-lahaina: Keep ice core memory retained across gdsc collapse drivers: of-thermal: Handle krealloc failure correctly arm64: defconfig: Enable media and UVC drivers on Lahaina msm: adsprpc: Adding inrout buffer cache maintenance support serial: msm_geni_serial: Separate earlyconsole functionality defconfig: Enable mem_dump driver on gki build for lahaina soc: memory_dump: Add moudle support for mem_dump driver msm: sps: Fix the SPS_DBG macro definitions HID: qvr: Removing axis orientation arm64: defconfig: Add support for LKDTM on Lahaina soc: qcom: Log the pending interrupts during the device resume pinctrl: qcom: Add GPIO wakeup interrupt map for Shima drivers: irqchip: qcom-pdc: Add PDC IRQ chip support for shima coresight: cti: Correct checking return value of device resume msm: kgsl: Retry setting the SMMU aperture on A6XX targets mhi: core: create sysfs nodes before devices mhi: core: Add support to create uncached event ring mhi: core: Cache last processed event ring element mhi: core: move non-essential errors to log messages scsi: ufs-qti: Enable block layer runtime PM for well-known logical units msm: pcie: use a local copy for PCIe event callback msm: pcie: validate speed switch request msm: pcie: correct cached PCIe link BW max gen speed sched: walt: Improve the Scheduler clk: qcom: gdsc-regulator: Remove regulator voltage level voting msm: ipa4: new qmap flow control pipe definitions msm: ipa4: function prototype for new qmap flow control defconfig: Support for QTI inline encryption soc: qcom: add HWKM driver for FBE ufs: ice: add variant ops for ICE power: supply: qti_battery_charger: Allow ICL to be set only for SDP mhi: core: Force PM state to M0 while processing BW scaling event msm: kgsl: Scale hub clock to 150 Mhz msm: kgsl: LPAC is using incorrect pagetable ANDROID: selinux: modify RTM_GETLINK permission msm: kgsl: Don't send same bus vote repeatedly drivers: input: touchscreen: defer probe if panel not found mhi: core: Add range check for channel id received in event ring msm: pcie: correct PCIe1 and PCIe2 clock order mhi: core: Finish pending reg writes before entering suspend mhi: core: Add support to offload MHI register write to worker thread mhi: core: Add write_reg call back for mhi controller mhi: core: Treat MHI_ASSERT as fatal error defconfig: arm64: Enable EUD driver for GKI cnss2: Avoid blocking target to reboot or shutdown arm64: defconfig: Enable QVR HID driver on Lahaina HID: Adding new id for hid-qvr support HID: Adding new vendor id for QVR support arm64: defconfig: Enable hung tasks detection hung task: check specific tasks for long uninterruptible sleep state staging: ion: Allow for attach and detach ops to be overridden mhi: core: Read transfer length from an event properly mhi: core: Dump more logs when invalid cookie is received mhi: core: Skip handling MSI0 if MHI register access is not allowed mhi: core: handle pm error state transition within fast suspend/resume mhi: cntrl: qcom: notify DRV suspend if device wake is set mhi: device: netdev: Add flag to track napi scheduling mhi: core: fix fast forward recycling of event rings mhi: cntrl: qcom: disable boot logger after forced suspend bus: mhi_netdev: Free background memory pool during memory free mhi: core: Add NULL check in debugfs show callback mhi: core: Synchronize time sync operation and removal msm: cvp: A fix of cvp issue in camera dwc3-msm: Check usb role switch status msm: kgsl: use correct load bit value for rbbm perf counter interconnect: qcom: Don't vote using unrelated voters in sync_state FROMGIT: BACKPORT: driver core: Add device links from fwnode only for the primary device defconfig: lahaina: Enable PRIORITIZE_OOM_TASKS msm: ipa: remove ipa and gsi from kernel regulator: qpnp-lcdb: Replace revid checks with DT compatible properties firmware: qcom_scm: Fix the __qcom_scm_is_call_available Do not use __qcom_scm_is_call_available in atomic context soc: qcom: spcom: return EINTR on wait interrupted soc: qcom: spcom: fix pr_err() missing "name" parameter devfreq: update sampling window timer limit devfreq: update sample_ms tunnable store function cnss2: Add support for bus bandwidth scale radio: RTC6226: correctly cleanup videodev input: misc: qcom-hv-haptics: Add support for V2 HW module arm64: defconfig: Enable QCOM_MEM_BUF on genericarmv8-64 soc: qcom: kconfig: Relax QCOM_MEM_BUF dependencies arm64: defconfig: Enable memory configs on genericarmv8-64 mmc: sdhci-msm: Avoid enable SD card power if card is removed mmc: sdhci-msm: Port the SD card code to Lahaina platforms arm64: defconfig: Enable memory hotplug configs on genericarmv8-64 mm/Kconfig: Remove dependency on QCOM_MEM_OFFLINE for movable zone defconfig: lahaina-gki: Enable interconnect debugfs test nodes cnss2: Add debugfs support to send WFC call status QMI message arm64: defconfig: Enable ZRAM on genericarmv8-64 arm64: defconfig: Enable CMA optimizations for genericarmv8-64 mm/Kconfig: Relax CMA optimization dependencies interconnect: Add debugfs test code cnss2: Serialize driver unload and idle restart msm: pcie: skip memory access when collecting PCIe PARF registers mm: correct ALLOC_WMARK_MIN flag check for atomic allocations mm: discard free cma pages in boost_eligible calculations mm: ignore boosting for min watermark mm: ignore the boosting of watermark under lowmemory mm: reap tasks only killed by low memory killer arm64: defconfig: Enable debugging support for spinlocks perf: Satisfy the kernel's request to request PMU counters soc: qcom: socinfo: Add soc information for Shima interconnect: Add interconnect_graph file to debugfs arm64: defconfig: Enable BFQ io scheduler on lahaina soc: qcom: spcom: allow commands for not connected channel input: qcom-hv-haptics: Add a regulator device to control SWR slave power: supply: qti-battery-charger: Initialize pmic_glink_client_data arm: defconfig: Disable serial device bus msm: adsprpc: increase max number of concurrent remote sessions FROMGIT: driver core: Call sync_state() even if supplier has no consumers sched: Add support to spread tasks kernel_headers: Add msm_hdmi_hdcp_mgr.h header iommu/arm-smmu: Add implementation specific device group matching iommu/arm-smmu: Add support for implementation specific removal iommu/arm-smmu: Add support for implementation specific debugging iommu/arm-smmu: Add implementation specific CB initialization hook iommu/arm-smmu: Rework QSMMUV500 initialization iommu/arm-smmu: Prepare to migrate QSMMUV500 implementation details defconfig: enable QRNG as a GKI module soc: qcom: hyp_core_ctl: Add frequency QoS support msm: ADSPRPC: Awake PM with a timeout arm64: defconfig: Enable Atmel touchscreen on Lahaina input: touchscreen: propagate changes from 4.14 to 5.4 for Atmel MXT driver haven: doorbell: Fix hh_dbl_send error print haven: doorbell: Pass cap_table_entry as irq private haven: doorbell: Add IRQF_ONESHOT flag sched/fair: Allow load bigger task load balance when nr_running is 2 ion: Fix to record NR_KERNEL_MISC_RECLAIMABLE in page units mm: oom_kill: Support further prioritization of OOM kills sched: Improve the scheduler sched/fair: reduce no-hz idle balance for energy aware systems defconfig: lahaina: Enable support for dma-coherent-hint-cached dma-mapping: add support for dma-coherent-hint-cached msm: adsprpc: Validate smmu device is created before using it defconfig: Disable fastrpc driver from kernel image drivers: lpm-levels: check for per-cpu dev PM QoS wil6210: Add support for 11ad platform driver qseecom: Proper handling of unmapping dmabuf scsi: ufs-qcom: Add one vendor specific sysfs group arm64: kpti: force off kpti arm64: defconfig: enable QPNP AMOLED regulator driver on Lahaina msm: cvp: Reduce CVP dmabuf mapping overhead PM / devfreq: memlat: fix suspend/resume calls to devfreq_monitor spmi: spmi-pmic-arb: make interrupt support optional spmi: spmi-pmic-arb: add support to map SPMI addresses to physical addr soc: qcom: msm_perf: add null policy checks for cpufreq policy defconfig: lahaina: Enable GPU driver msm: kgsl: Enable apb clock before isdb register writes msm: cvp: Disable CVP_DBG traces by default net: qrtr: mhi: Set mhi driver data before registering with qrtr msm: kgsl: Make OOB timeouts easier to debug msm: kgsl: Move ringbuffer start to target specific code msm: kgsl: Remove unneeded parameters for the sharedmem funcs msm: kgsl: Read snapshot registers in the target specific functions msm: kgsl: Remove references to adreno_regs from target specific code msm: kgsl: Remove soft fault registers from a5xx msm: kgsl: Print always on counters if HFI timed out msm: kgsl: Add a GMU core function to read the always on counter msm: kgsl: remove redundant check for usermem type msm: kgsl: fix accounting of memory mapped to userspace msm: kgsl: Dump GPU registers only when GX is ON msm: kgsl: Configure IFPC perf counter in platform_setup msm: kgsl: Fix conditional check for GMU_NONCACHED_USER msm: kgsl: Return correctly from gmu_core_dev_wait_for_lowest_idle msm: kgsl: Dump the always on counter for a6xx interrupts msm: kgsl: Properly handle attach error for secure pagetable msm: kgsl: Finish up probe cleanups msm: kgsl: Handle a defer from IOMMU msm: kgsl: Cleanup the adreno SOC HW probe msm: kgsl: Move context aware scaling to the scaling code msm: kgsl: Use the GPU platform device when it is appropriate msm: kgsl: Use booleans for power control features msm: kgsl: Fixup the GMU probe msm: kgsl: Fixup the RGMU probe msm: kgsl: Move hw_isidle to target specific code msm: kgsl: Clean up the reset and soft reset paths interconnect: qcom: Support bcm-voter-specific TCS wait behavior interconnect: qcom: Don't redefine bucket/tag macros dt-bindings: interconnect: Add generic qcom bindings leds: qpnp: Add snapshot of vibrator LDO driver arm64: defconfig: Enable QTI_IOMMU_SUPPORT only on target configurations iommu: arm-smmu: Fix domain logger use-after-free scsi: ufs-qcom: Configure LPM timer settings dwc3-msm: Increment req->num_trbs on queueing TRB trace: Add warning threshold for irqsoff time trace: Toggle irqsoff tracing to dmesg msm: kgsl: Update the GMU AO clockgating value sched: remove weak keyword from function declarations power_supply: Register cooling device outside of probe defconfig: arm64: Enable dummy netdevice regulator: Add QTI LCDB regulator driver radio: RTC6226: post tune success event when scan done rtc-pm8xxx: Clear Alarm register on resume slimbus: Add changes to make slimbus GKI compliant msm: cvp: Restructure CVP buffer management leds: qti-flash: Add support for on_time and off_time parameters sched/fair: Change PELT half-life to 8ms msm: kgsl: Fix to record NR_KERNEL_MISC_RECLAIMABLE in page units Perf: arm64: Add Snapshot of perf tracepoints arm: defconfig: Enable STM_PROTO_BASIC for lahaina platform: msm: Add snapshot of msm_11ad driver defconfig: lahaina-qgki: enable qoslat driver usb: phy: qmp: Perform DP_COM_SW_RESET during portselect usb: gadget: f_diag: Expose DLOAD pid/serial entries to configfs clk: qcom: clk-debug: List regs only if respective clk is qcom-regmap clk clk: qcom: Maintain qcom_regmap_list of qcom clks arm64: defconfig: Enable QRTR MHI on lahaina_gki arm64: defconfig: Enable IPC logging driver for lahaina_qgki arm64: defconfig: select CONFIG_USB_CONFIGFS_NCM on Lahaina coresight-tmc-etr : Call _tmc_disable_etr_sink when switch mode memshare: Use QMI request structure size as decode buffer size msm: ipa3: Updating SRAM locations for lito clk: qcom: lahaina: Add sync_state callbacks clk: qcom: Add generic sync_state callback interconnect: qcom: Fix uninitialized tcs_cmd::wait haven: doorbell: Add neuron and qrtr labels msm: kgsl: Fix GPU UBWC setting for DDR 5 cnss2: Assert if cold boot calibration times out in debug builds msm: kgsl: Do not send NMI to GMU on CM3 fault msm: pcie: replace all memory barriers with readbacks usb: gadget: Prevent use after free in qdss connect & close interconnect: qcom: Ignore -EBUSY for AMC requests defconfig: Enable LMH DCVS driver for lahaina driver: thermal: msm_lmh_dcvs: Add a snapshot of LMH DCVS driver scsi: ufs-qcom: Enable runtime auto suspend iommu: arm-smmu: fix check for need for preallocate memory ASoC: Update the Max value of integer controls mm: oom_kill: Prevent debug messages from going to serial console msm: kgsl: Add the list of protected registers for A660 msm: kgsl: Add the CP protected registers to the A660 list clk: qcom: clk-debug: Add mc_cc_debug_mux in gcc debug parent list iommu/arm-smmu: replicate faulty transaction iommu: arm-smmu: fix compile error if CONFIG_PCI disabled msm: kgsl: Restart a6xx gpu only once msm: kgsl: Correctly handle oob and fenced write failures msm: kgsl: Correctly handle gmu fault interrupts msm: kgsl: Correctly handle CP_INIT failure msm: kgsl: Take GMU snapshot on GMU failures msm: kgsl: Set gmu fault inside gmu_snapshot msm: kgsl: Handle the very first gmu boot failure ion: don't call free_buffer_page on failure of ion_hyp_unassign_sg ion: fix hyp_assign_sg failure handling usb: gsi: Dont mask read api for dpl_ctl node soc: qti_battery_debug: Add votables R/W support soc: qcom: ssr: Rename the module to 'subsystem_restart' drivers: thermal: bcl_soc: Read charge depletion percentage driver: thermal: bcl_pmic5: Register vbat only when enabled power_supply: Use of-thermal cdev registration API input: qcom-hv-haptics: ignore parsing non-effect subnodes Revert "BACKPORT: FROMLIST: Update Inline Encryption from v5 to v6 of patch series" msm: cvp: Support CVP session flush Revert "usb: gadget: Mark usb gsi driver dma memory as cached" usb: dwc3: gadget: update the return value of pullup function msm: pcie: lower event callback print prority cpuidle: lpm-levels: convert PSCI return value to boolean correctly soc: qcom: rpmh: remove serialization of TCS commands msm: kgsl: Program GPU SCID for UCHE traffic cnss_nl: Add new attributes for cld80211 attr list defconfig: arm64: Enable hyp core control driver for Lahaiana soc: qcom: Add snapshot of hyp_core_ctl driver virt/haven: populate VCPU resources haven: hcall: Add vcpu affinity API drivers: thermal: reintroduce notifier for max level transitions defconfig: lahaina: Enable QTI_PMIC_GLINK_CLIENT_DEBUG soc: Kconfig: Add QTI_PMIC_GLINK_CLIENT_DEBUG arm64: defconfig: Enable SD card on Lahaina power: supply: qti_battery_charger: add thermal mitigation support Linux 5.4.24 blktrace: Protect q->blk_trace with RCU kvm: nVMX: VMWRITE checks unsupported field before read-only field kvm: nVMX: VMWRITE checks VMCS-link pointer before VMCS field mm, thp: fix defrag setting if newline is not used mm/huge_memory.c: use head to check huge zero page mm/gup: allow FOLL_FORCE for get_user_pages_fast() mm/debug.c: always print flags in dump_page() locking/lockdep: Fix lockdep_stats indentation problem xfs: clear kernel only flags in XFS_IOC_ATTRMULTI_BY_HANDLE bus: tegra-aconnect: Remove PM_CLK dependency netfilter: nf_flowtable: fix documentation netfilter: nft_tunnel: no need to call htons() when dumping ports thermal: brcmstb_thermal: Do not use DT coefficients thermal: db8500: Depromote debug print ubifs: Fix ino_t format warnings in orphan_delete() rcu: Allow only one expedited GP to run concurrently with wakeups KVM: x86: Remove spurious clearing of async #PF MSR KVM: x86: Remove spurious kvm_mmu_unload() from vcpu destruction path x86/resctrl: Check monitoring static key in the MBM overflow handler perf ui gtk: Add missing zalloc object perf hists browser: Restore ESC as "Zoom out" of DSO/thread/etc pwm: omap-dmtimer: put_device() after of_find_device_by_node() lib/vdso: Update coarse timekeeper unconditionally lib/vdso: Make __arch_update_vdso_data() logic understandable kprobes: Set unoptimized flag after unoptimizing code ima: ima/lsm policy rule loading logic bug fixes drivers: net: xgene: Fix the order of the arguments of 'alloc_etherdev_mqs()' RDMA/hns: Bugfix for posting a wqe with sge RDMA/hns: Simplify the calculation and usage of wqe idx for post verbs f2fs: fix to add swap extent correctly sched/fair: Optimize select_idle_cpu KVM: Check for a bad hva before dropping into the ghc slow path KVM: SVM: Override default MMIO mask if memory encryption is enabled mwifiex: delete unused mwifiex_get_intf_num() mwifiex: drop most magic numbers from mwifiex_process_tdls_action_frame() namei: only return -ECHILD from follow_dotdot_rcu() kbuild: make single target builds even faster kbuild: remove unneeded variable, single-all kbuild: move headers_check rule to usr/include/Makefile kbuild: remove header compile test selftests: Install settings files to fix TIMEOUT failures net: ena: make ena rxfh support ETH_RSS_HASH_NO_CHANGE net/smc: no peer ID in CLC decline for SMCD net: atlantic: fix out of range usage of active_vlans array net: atlantic: fix potential error handling net: atlantic: fix use after free kasan warn net: netlink: cap max groups which will be considered in netlink_bind() s390/qeth: vnicc Fix EOPNOTSUPP precedence nvme-pci: Hold cq_poll_lock while completing CQEs usb: charger: assign specific number for enum value hv_netvsc: Fix unwanted wakeup in netvsc_attach() kbuild: fix DT binding schema rule to detect command line changes mac80211: Remove a redundant mutex unlock nl80211: fix potential leak in AP start drm/i915/gvt: Separate display reset from ALL_ENGINES reset drm/i915/gvt: Fix orphan vgpu dmabuf_objs' lifetime i2c: jz4780: silence log flood on txabrt i2c: altera: Fix potential integer overflow MIPS: VPE: Fix a double free and a memory leak in 'release_vpe()' HID: hiddev: Fix race in in hiddev_disconnect() HID: alps: Fix an error handling path in 'alps_input_configured()' netfilter: xt_hashlimit: reduce hashlimit_mutex scope for htable_put() netfilter: ipset: Fix forceadd evaluation path vhost: Check docket sk_family instead of call getname net/smc: transfer fasync_list in case of fallback netfilter: ipset: Fix "INFO: rcu detected stall in hash_xxx" reports io_uring: fix 32-bit compatability with sendmsg/recvmsg cpufreq: Fix policy initialization for internal governor drivers amdgpu/gmc_v9: save/restore sdpif regs during S3 Revert "PM / devfreq: Modify the device name as devfreq(X) for sysfs" tracing: Disable trace_printk() on post poned tests macintosh: therm_windtunnel: fix regression when instantiating devices drm/radeon: Inline drm_get_pci_dev drm/amdgpu: Drop DRIVER_USE_AGP HID: core: increase HID report buffer size to 8KiB HID: core: fix off-by-one memset in hid_report_raw_event() HID: ite: Only bind to keyboard USB interface on Acer SW5-012 keyboard dock KVM: VMX: check descriptor table exits on instruction emulation ACPI: watchdog: Fix gas->access_width usage ACPICA: Introduce ACPI_ACCESS_BYTE_WIDTH() macro audit: always check the netlink payload length in audit_receive_msg() audit: fix error handling in audit_data_to_entry() ext4: potential crash on allocation error in ext4_alloc_flex_bg_array() nvme/pci: move cqe check after device shutdown nvme: prevent warning triggered by nvme_stop_keep_alive nvme/tcp: fix bug on double requeue when send fails net: hns3: fix a copying IPv6 address error in hclge_fd_get_flow_tuples() net: hns3: add management table after IMP reset mac80211: fix wrong 160/80+80 MHz setting cfg80211: add missing policy for NL80211_ATTR_STATUS_CODE cifs: Fix mode output in debugging statements ice: update Unit Load Status bitmask to check after reset net: ena: ena-com.c: prevent NULL pointer dereference net: ena: ethtool: use correct value for crc32 hash net: ena: fix corruption of dev_idx_to_host_tbl net: ena: fix incorrectly saving queue numbers when setting RSS indirection table net: ena: rss: store hash function as values and not bits net: ena: rss: fix failure to get indirection table net: ena: rss: do not allocate key when not supported net: ena: fix incorrect default RSS key net: ena: add missing ethtool TX timestamping indication net: ena: fix uses of round_jiffies() net: ena: fix potential crash when rxfh key is NULL i40e: Fix the conditional for i40e_vc_validate_vqs_bitmaps soc/tegra: fuse: Fix build with Tegra194 configuration amdgpu: Prevent build errors regarding soft/hard-float FP ABI tags drm/amd/display: Add initialitions for PLL2 clock source drm/amd/display: Limit minimum DPPCLK to 100MHz. drm/amd/display: Check engine is not NULL before acquiring RDMA/siw: Remove unwanted WARN_ON in siw_cm_llp_data_ready() drm/amd/display: Do not set optimized_require to false after plane disable ARM: dts: sti: fixup sound frame-inversion for stihxxx-b2120.dtsi ceph: do not execute direct write in parallel if O_APPEND is specified perf/x86/msr: Add Tremont support perf/x86/cstate: Add Tremont support perf/x86/intel: Add Elkhart Lake support perf/smmuv3: Use platform_get_irq_optional() for wired interrupt NFSv4: Fix races between open and dentry revalidation qmi_wwan: unconditionally reject 2 ep interfaces qmi_wwan: re-add DW5821e pre-production variant s390/zcrypt: fix card and queue total counter wrap cfg80211: check wiphy driver existence for drvinfo report mac80211: consider more elements in parsing CRC dax: pass NOWAIT flag to iomap_apply sched/fair: Prevent unlimited runtime on throttled group timers/nohz: Update NOHZ load in remote tick sched/core: Don't skip remote tick for idle CPUs drm/msm: Set dma maximum segment size for mdss ipmi:ssif: Handle a possible NULL pointer reference ipv6: Fix nlmsg_flags when splitting a multipath route ipv6: Fix route replacement with dev-only route bonding: fix lockdep warning in bond_get_stats() net: export netdev_next_lower_dev_rcu() bonding: add missing netdev_update_lockdep_key() bnxt_en: Issue PCIe FLR in kdump kernel to cleanup pending DMAs. bnxt_en: Improve device shutdown method. sctp: move the format error check out of __sctp_sf_do_9_1_abort udp: rehash on disconnect Revert "net: dev: introduce support for sch BYPASS for lockless qdisc" qede: Fix race between rdma destroy workqueue and link change event nfc: pn544: Fix occasional HW initialization failure net/tls: Fix to avoid gettig invalid tls record net: sched: correct flower port blocking net: phy: restore mdio regs in the iproc mdio driver net: mscc: fix in frame extraction net: macb: ensure interface is not suspended on at91rm9200 net: fib_rules: Correctly set table field when table number exceeds 8 bits net: dsa: b53: Ensure the default VID is untagged EDAC: skx_common: downgrade message importance on missing PCI device io_uring: grab ->fs as part of async offload NFC: Add timeout when waiting for responses in probe ABI: aarch64: Update the ABI snapshot msm: kgsl: Move event groups to the KGSL device msm: kgsl: Make interrupt handlers more target specific msm: kgsl: Move the legacy speed bin code to adreno msm: kgsl: Get the lm_slope on demand msm: kgsl: Get rid of mmu_init msm: kgsl: Initialize the default pagetables at probe time msm: kgsl: Probe LLCC before setting up MMU msm: kgsl: Refactor IOMMU register macros msm: kgsl: Simplify the mmu probe msm: kgsl: Fix up the MMU features msm: kgsl: Map globals in the LPAC pagetable too msm: kgsl: Only add OPP levels to the device once msm: kgsl: Add MODULE_SOFTDEP dependencies dt-bindings: thermal_qti: Add thermal devicetree Macro ANDROID: abi_gki_aarch64_whitelist: add module_layout and task_struct ANDROID: gki_defconfig: disable KPROBES, update ABI usb: gadget: Stall OS descriptor request for unsupported functions FROMGIT: scsi: ufs: Select INITIAL ADAPT type for HS Gear4 FROMLIST: scsi: ufs: Use ufshcd_config_pwr_mode() when scale gear FROMGIT: scsi: ufs-qcom: Apply QUIRK_HOST_TACTIVATE for WDC UFS devices FROMGIT: scsi: ufs: Allow vendor device quirks to be applied early BACKPORT: scsi: ufs: Delete struct ufs_dev_desc msm: pcie: add proper PCIe link state for linkdown msm: pcie: add logs for link bandwidth switching ANDROID: gki_defconfig: enable IOMMU_LIMIT_IOVA_ALIGNMENT FROMLIST: iommu/iova: Support limiting IOVA alignment FROMLIST: iommu/iova: Add a best-fit algorithm FROMLIST: iommu/dma: Allow drivers to reserve an iova range ANDROID: Unconditionally create bridge tracepoints ANDROID: gki_defconfig: Enable MFD_SYSCON on x86 ANDROID: update ABI for CONFIG_IIO_* changes ANDROID: gki_defconfig: add CONFIG_IIO_BUFFER and CONFIG_IIO_TRIGGER ANDROID: gki: set CONFIG_SERIAL_SPRD_CONSOLE for earlycon ANDROID: Re-add default y for VIRTIO_PCI_LEGACY ANDROID: GKI: build in HVC_DRIVER ANDROID: Removed default m for virtual sw crypto device ANDROID: Remove default y on BRIDGE_IGMP_SNOOPING ANDROID: GKI: Added missing SND configs ANDROID: scsi: ufs: allow ufs variants to override sg entry size msm: ipa: Update source and dest resource group config values ANDROID: GKI: Remove CONFIG_BRIDGE from arm64 config ANDROID: Enable HID_NINTENDO as y FROMLIST: HID: nintendo: add nintendo switch controller driver UPSTREAM: iommu/arm-smmu: Restore naming of driver parameter prefix cpuidle: lpm-levels: Print enabled clocks, regulators on cpu/cluster LPM clk: Print enabled clock tree when cpu/cluster enters LPM level ANDROID: gki_defconfig: Remove 'BRIDGE_NETFILTER is not set' UPSTREAM: net: disable BRIDGE_NETFILTER by default Linux 5.4.23 ASoC: SOF: Intel: hda: Add iDisp4 DAI bpf: Selftests build error in sockmap_basic.c s390/mm: Explicitly compare PAGE_DEFAULT_KEY against zero in storage_key_init_range s390/kaslr: Fix casts in get_random net/mlx5e: Fix crash in recovery flow without devlink reporter net/mlx5: Fix sleep while atomic in mlx5_eswitch_get_vepa net/mlx5e: Reset RQ doorbell counter before moving RQ state from RST to RDY xen: Enable interrupts when calling _cond_resched() ata: ahci: Add shutdown to freeze hardware resources of ahci io_uring: prevent sq_thread from spinning when it should stop rxrpc: Fix call RCU cleanup using non-bh-safe locks netfilter: xt_hashlimit: limit the max size of hashtable ALSA: seq: Fix concurrent access to queue current tick/time ALSA: seq: Avoid concurrent access to queue flags ALSA: rawmidi: Avoid bit fields for state flags io_uring: fix __io_iopoll_check deadlock in io_sq_thread arm64: lse: Fix LSE atomics with LLVM bpf, offload: Replace bitwise AND by logical AND in bpf_prog_offload_info_fill genirq/proc: Reject invalid affinity masks (again) crypto: rename sm3-256 to sm3 in hash_algo_name iommu/vt-d: Fix compile warning from intel-svm.h ecryptfs: replace BUG_ON with error handling code ASoC: fsl_sai: Fix exiting path on probing failure ASoC: atmel: fix atmel_ssc_set_audio link failure staging: greybus: use after free in gb_audio_manager_remove_all() staging: rtl8723bs: fix copy of overlapping memory usb: dwc2: Fix in ISOC request length checking usb: gadget: composite: Fix bMaxPower for SuperSpeedPlus scsi: Revert "target: iscsi: Wait for all commands to finish before freeing a session" scsi: Revert "RDMA/isert: Fix a recently introduced regression related to logout" drm/msm/dpu: fix BGR565 vs RGB565 confusion drm/i915/gt: Protect defer_request() from new waiters drm/bridge: tc358767: fix poll timeouts drm/i915/gvt: more locking for ppgtt mm LRU list drm/i915/execlists: Always force a context reload when rewinding RING_TAIL drm/i915/gt: Detect if we miss WaIdleLiteRestore Revert "dmaengine: imx-sdma: Fix memory leak" Btrfs: fix deadlock during fast fsync when logging prealloc extents beyond eof btrfs: don't set path->leave_spinning for truncate Btrfs: fix race between shrinking truncate and fiemap Btrfs: fix btrfs_wait_ordered_range() so that it waits for all ordered extents btrfs: do not check delayed items are empty for single transaction cleanup btrfs: reset fs_root to NULL on error in open_ctree btrfs: fix bytes_may_use underflow in prealloc error condtition btrfs: destroy qgroup extent records on transaction abort KVM: apic: avoid calculating pending eoi from an uninitialized val KVM: nVMX: handle nested posted interrupts when apicv is disabled for L1 KVM: nVMX: clear PIN_BASED_POSTED_INTR from nested pinbased_ctls only when apicv is globally disabled KVM: nVMX: Check IO instruction VM-exit conditions KVM: nVMX: Refactor IO bitmap checks into helper function ext4: fix race between writepages and enabling EXT4_EXTENTS_FL ext4: rename s_journal_flag_rwsem to s_writepages_rwsem ext4: fix mount failure with quota configured as module ext4: fix potential race between s_flex_groups online resizing and access ext4: fix potential race between s_group_info online resizing and access ext4: fix potential race between online resizing and write operations ext4: add cond_resched() to __ext4_find_entry() ext4: fix a data race in EXT4_I(inode)->i_disksize KVM: x86: don't notify userspace IOAPIC on edge-triggered interrupt EOI KVM: nVMX: Don't emulate instructions in guest mode sched/psi: Fix OOB write when writing 0 bytes to PSI files drm/i915: Update drm/i915 bug filing URL drm/i915: Wean off drm_pci_alloc/drm_pci_free drm/nouveau/kms/gv100-: Re-set LUT after clearing for modesets drm/amdgpu/gfx10: disable gfxoff when reading rlc clock drm/amdgpu/gfx9: disable gfxoff when reading rlc clock drm/amdgpu/soc15: fix xclk for raven mm: Avoid creating virtual address aliases in brk()/mmap()/mremap() lib/stackdepot.c: fix global out-of-bounds in stack_slabs mm/sparsemem: pfn_to_page is not valid yet on SPARSEMEM mm/vmscan.c: don't round up scan size for online memory cgroup genirq/irqdomain: Make sure all irq domain flags are distinct nvme-multipath: Fix memory leak with ana_log_buf mm/memcontrol.c: lost css_put in memcg_expand_shrinker_maps() Revert "ipc,sem: remove uneeded sem_undo_list lock usage in exit_sem()" ACPI: PM: s2idle: Check fixed wakeup events in acpi_s2idle_wake() MAINTAINERS: Update drm/i915 bug filing URL serdev: ttyport: restore client ops on deregistration tty: serial: qcom_geni_serial: Fix RX cancel command failure tty: serial: imx: setup the correct sg entry for tx dma tty/serial: atmel: manage shutdown in case of RS485 or ISO7816 mode serial: 8250: Check UPF_IRQ_SHARED in advance x86/cpu/amd: Enable the fixed Instructions Retired counter IRPERF x86/mce/amd: Fix kobject lifetime x86/mce/amd: Publish the bank pointer only after setup has succeeded x86/ima: use correct identifier for SetupMode variable jbd2: fix ocfs2 corrupt when clearing block group bits arm64: memory: Add missing brackets to untagged_addr() macro powerpc/hugetlb: Fix 8M hugepages on 8xx powerpc/hugetlb: Fix 512k hugepages on 8xx with 16k page size powerpc/entry: Fix an #if which should be an #ifdef in entry_32.S powerpc/tm: Fix clearing MSR[TS] in current when reclaiming on signal delivery powerpc/eeh: Fix deadlock handling dead PHB powerpc/8xx: Fix clearing of bits 20-23 in ITLB miss drm/panfrost: perfcnt: Reserve/use the AS attached to the perfcnt MMU context staging: rtl8723bs: Fix potential overuse of kernel memory staging: rtl8723bs: Fix potential security hole staging: rtl8188eu: Fix potential overuse of kernel memory staging: rtl8188eu: Fix potential security hole scsi: Revert "target/core: Inline transport_lun_remove_cmd()" usb: dwc3: debug: fix string position formatting mixup with ret and len usb: dwc3: gadget: Check for IOC/LST bit in TRB->ctrl fields usb: dwc2: Fix SET/CLEAR_FEATURE and GET_STATUS flows USB: hub: Fix the broken detection of USB3 device in SMSC hub USB: hub: Don't record a connect-change event during reset-resume USB: Fix novation SourceControl XL after suspend usb: uas: fix a plug & unplug racing USB: quirks: blacklist duplicate ep on Sound Devices USBPre2 USB: core: add endpoint-blacklist quirk usb: host: xhci: update event ring dequeue pointer on purpose xhci: Fix memory leak when caching protocol extended capability PSI tables - take 2 xhci: apply XHCI_PME_STUCK_QUIRK to Intel Comet Lake platforms xhci: fix runtime pm enabling for quirky Intel hosts xhci: Force Maximum Packet size for Full-speed bulk devices to valid range. staging: vt6656: fix sign of rx_dbm to bb_pre_ed_rssi. staging: android: ashmem: Disallow ashmem memory from being remapped vt: vt_ioctl: fix race in VT_RESIZEX vt: selection, handle pending signals in paste_selection vt: fix scrollback flushing on background consoles floppy: check FDC index for errors before assigning it e1000e: Use rtnl_lock to prevent race conditions between net and pci/pm USB: misc: iowarrior: add support for the 100 device USB: misc: iowarrior: add support for the 28 and 28L devices USB: misc: iowarrior: add support for 2 OEMed devices thunderbolt: Prevent crash if non-active NVMem file is read btrfs: handle logged extent failure properly ecryptfs: fix a memory leak bug in ecryptfs_init_messaging() ecryptfs: fix a memory leak bug in parse_tag_1_packet() tpm: Initialize crypto_id of allocated_banks to HASH_ALGO__LAST ASoC: sun8i-codec: Fix setting DAI data format ASoC: codec2codec: avoid invalid/double-free of pcm runtime ALSA: hda/realtek - Apply quirk for yet another MSI laptop ALSA: hda/realtek - Apply quirk for MSI GP63, too ALSA: hda: Use scnprintf() for printing texts for sysfs/procfs iommu/qcom: Fix bogus detach logic UPSTREAM: sched/psi: Fix OOB write when writing 0 bytes to PSI files ANDROID: build.config.gki.aarch64: enable symbol trimming clk: Move clk_debug_print_enabled to linux clk header ANDROID: kbuild: avoid excessively long argument lists ANDROID: gki_defconfig: Enable CONFIG_RD_LZ4 ANDROID: net: wireless: Add module_param(mac_prefix) to mac80211_hwsim ANDROID: gki: Enable BINFMT_MISC as part of GKI ANDROID: gki_defconfig: disable CONFIG_CRYPTO_MD4 FROMLIST: kbuild: generate autoksyms.h early FROMLIST: kbuild: split adjust_autoksyms.sh in two parts FROMLIST: kbuild: allow symbol whitelisting with TRIM_UNUSED_KSYMS coresight: tmc-etr: fix null ptr dereferencing in usb_qdss_close ANDROID: ABI/Whitelist: update for unisoc ANDROID: Disable wq fp check in CFI builds ANDROID: gki_defconfig: Disable CONFIG_RT_GROUP_SCHED FROMGIT: of: property: Add device link support for power-domains and hwlocks ANDROID: drm/msm/a6xx: Make a6xx_gmu_bo.iova a dma_addr_t FROMLIST: of: of_reserved_mem: Increase limit on number of reserved regions arm64: defconfig: Enable ION support on genericarmv8-64_defconfig ion: Relax CONFIG_ION_MSM_HEAPS dependencies ANDROID: dm: Add wrapped key support in dm-default-key ANDROID: dm: add support for passing through derive_raw_secret ANDROID: block: Prevent crypto fallback for wrapped keys FROMLIST: drm/msm/a6xx: Use the DMA API for GMU memory objects FROMLIST: arm64: dts: sdm845: Set the virtual address range for GMU allocations UPSTREAM: of: Make of_dma_get_range() work on bus nodes UPSTREAM: of/address: Fix of_pci_range_parser_one translation of DMA addresses UPSTREAM: of/address: Translate 'dma-ranges' for parent nodes missing 'dma-ranges' UPSTREAM: of: Factor out #{addr,size}-cells parsing UPSTREAM: of: address: Follow DMA parent for "dma-coherent" UPSTREAM: of/address: Introduce of_get_next_dma_parent() helper UPSTREAM: of: Make of_dma_get_range() private ANDROID: fix merge issue in 5.4.22 ANDROID: update ABI for 5.4.22 Linux 5.4.22 rtc: Kconfig: select REGMAP_I2C when necessary bcache: properly initialize 'path' and 'err' in register_bcache() drm/amdgpu/display: handle multiple numbers of fclks in dcn_calcs.c (v2) s390/pci: Recover handle in clp_set_pci_fn() mlxsw: spectrum_dpipe: Add missing error path fuse: don't overflow LLONG_MAX with end offset virtio_balloon: prevent pfn array overflow cifs: log warning message (once) if out of disk space i40e: Relax i40e_xsk_wakeup's return value when PF is busy help_next should increase position index NFS: Fix memory leaks drm/amdgpu/smu10: fix smu10_get_clock_by_type_with_voltage drm/amdgpu/smu10: fix smu10_get_clock_by_type_with_latency brd: check and limit max_part par microblaze: Prevent the overflow of the start asm-generic/tlb: add missing CONFIG symbol iwlwifi: mvm: Check the sta is not NULL in iwl_mvm_cfg_he_sta() iwlwifi: mvm: Fix thermal zone registration nvme-pci: remove nvmeq->tags nvmet: Pass lockdep expression to RCU lists irqchip/gic-v3-its: Reference to its_invall_cmd descriptor when building INVALL bcache: fix incorrect data type usage in btree_flush_write() bcache: explicity type cast in bset_bkey_last() bcache: fix memory corruption in bch_cache_accounting_clear() reiserfs: prevent NULL pointer dereference in reiserfs_insert_item() lib/scatterlist.c: adjust indentation in __sg_alloc_table ocfs2: fix a NULL pointer dereference when call ocfs2_update_inode_fsync_trans() ocfs2: make local header paths relative to C files btrfs: do not do delalloc reservation under page lock powerpc: Do not consider weak unresolved symbol relocations as bad radeon: insert 10ms sleep in dce5_crtc_load_lut trigger_next should increase position index ftrace: fpid_next() should increase position index char: hpet: Fix out-of-bounds read bug drm/nouveau/disp/nv50-: prevent oops when no channel method map provided irqchip/gic-v3: Only provision redistributors that are enabled in ACPI drm/amd/display: do not allocate display_mode_lib unnecessarily rbd: work around -Wuninitialized warning ceph: check availability of mds cluster on mount after wait timeout powerpc/mm: Don't log user reads to 0xffffffff bpf: map_seq_next should always increase position index cifs: fix NULL dereference in match_prepath cifs: Fix mount options set in automount cifs: fix unitialized variable poential problem with network I/O cache lock patch iwlegacy: ensure loop counter addr does not wrap and cause an infinite loop rtw88: fix potential NULL skb access in TX ISR hostap: Adjust indentation in prism2_hostapd_add_sta ALSA: usb-audio: add quirks for Line6 Helix devices fw>=2.82 ARM: 8951/1: Fix Kexec compilation issue. selftests/eeh: Bump EEH wait time to 60s powerpc/pseries/lparcfg: Fix display of Maximum Memory jbd2: make sure ESHUTDOWN to be recorded in the journal superblock jbd2: switch to use jbd2_journal_abort() when failed to submit the commit record selftests: bpf: Reset global state between reuseport test runs alarmtimer: Make alarmtimer platform device child of RTC device iommu/vt-d: Remove unnecessary WARN_ON_ONCE() bcache: fix use-after-free in register_bcache() bcache: rework error unwinding in register_bcache bcache: cached_dev_free needs to put the sb page btrfs: Fix split-brain handling when changing FSID to metadata uuid btrfs: separate definition of assertion failure handlers media: uvcvideo: Add a quirk to force GEO GC6500 Camera bits-per-pixel value powerpc/sriov: Remove VF eeh_dev state when disabling SR-IOV drm/nouveau/mmu: fix comptag memory leak sunrpc: Fix potential leaks in sunrpc_cache_unhash() ALSA: hda - Add docking station support for Lenovo Thinkpad T420s bpf, btf: Always output invariant hit in pahole DWARF to BTF transform driver core: platform: fix u32 greater or equal to zero comparison s390/ftrace: generate traced function stack frame s390: adjust -mpacked-stack support check for clang 10 x86/decoder: Add TEST opcode to Group3-2 objtool: Fix ARCH=x86_64 build error kbuild: use -S instead of -E for precise cc-option test in Kconfig spi: spi-fsl-qspi: Ensure width is respected in spi-mem operations ALSA: hda/hdmi - add retry logic to parse_intel_hdmi() irqchip/mbigen: Set driver .suppress_bind_attrs to avoid remove problems regulator: core: Fix exported symbols to the exported GPL version remoteproc: Initialize rproc_class before use module: avoid setting info->name early in case we can fall back to info->mod->name btrfs: device stats, log when stats are zeroed btrfs: safely advance counter when looking up bio csums btrfs: fix possible NULL-pointer dereference in integrity checks pwm: Remove set but not set variable 'pwm' ide: serverworks: potential overflow in svwks_set_pio_mode() cmd64x: potential buffer overflow in cmd64x_program_timings() pwm: omap-dmtimer: Remove PWM chip in .remove before making it unfunctional x86/mm: Fix NX bit clearing issue in kernel_map_pages_in_pgd f2fs: fix memleak of kobject regulator: vctrl-regulator: Avoid deadlock getting and setting the voltage ASoC: SOF: Intel: hda: Fix SKL dai count debugobjects: Fix various data races watchdog/softlockup: Enforce that timestamp is valid on boot perf/x86/amd: Constrain Large Increment per Cycle events sched/topology: Assert non-NUMA topology masks don't (partially) overlap sched/core: Fix size of rq::uclamp initialization arm64: dts: ti: k3-j721e-main: Add missing power-domains for smmu KVM: PPC: Remove set but not used variable 'ra', 'rs', 'rt' EDAC/sifive: Fix return value check in ecc_register() drm/amd/display: fixup DML dependencies arm64: fix alternatives with LLVM's integrated assembler arm64: lse: fix LSE atomics with LLVM's integrated assembler RDMA/mlx5: Don't fake udata for kernel path ALSA: usb-audio: add implicit fb quirk for MOTU M Series crypto: essiv - fix AEAD capitalization and preposition use in help text scsi: iscsi: Don't destroy session if there are outstanding connections scsi: ufs-mediatek: add apply_dev_quirks variant operation scsi: ufs: pass device information to apply_dev_quirks f2fs: free sysfs kobject f2fs: set I_LINKABLE early to avoid wrong access by vfs ALSA: usb-audio: unlock on error in probe iommu/arm-smmu-v3: Use WRITE_ONCE() when changing validity of an STE kbuild: remove *.tmp file when filechk fails usb: musb: omap2430: Get rid of musb .set_vbus for omap2430 glue perf/imx_ddr: Fix cpu hotplug state cleanup drm/vmwgfx: prevent memory leak in vmw_cmdbuf_res_add gpiolib: Set lockdep class for hierarchical irq domains dm thin: don't allow changing data device during thin-pool reload drm/nouveau/fault/gv100-: fix memory leak on module unload drm/nouveau/drm/ttm: Remove set but not used variable 'mem' drm/nouveau: Fix copy-paste error in nouveau_fence_wait_uevent_handler drm/nouveau/gr/gk20a,gm200-: add terminators to method lists read from fw drm/nouveau/secboot/gm20b: initialize pointer in gm20b_secboot_new() vme: bridges: reduce stack usage bpf: Return -EBADRQC for invalid map type in __bpf_tx_xdp_map ASoC: SOF: Intel: hda-dai: fix compilation warning in pcm_prepare driver core: Print device when resources present in really_probe() driver core: platform: Prevent resouce overflow from causing infinite loops visorbus: fix uninitialized variable access misc: xilinx_sdfec: fix xsdfec_poll()'s return type tty: synclink_gt: Adjust indentation in several functions tty: synclinkmp: Adjust indentation in several functions raid6/test: fix a compilation warning ASoC: atmel: fix build error with CONFIG_SND_ATMEL_SOC_DMA=m ALSA: usb-audio: Add boot quirk for MOTU M Series ARM: dts: rockchip: add reg property to brcmf sub node for rk3188-bqedison2qc arm64: dts: rockchip: add reg property to brcmf sub-nodes arm64: dts: rockchip: fix dwmmc clock name for px30 clocksource: davinci: only enable clockevents once tim34 is initialized wan: ixp4xx_hss: fix compile-testing on 64-bit x86/nmi: Remove irq_work from the long duration NMI handler bnxt: Detach page from page pool before sending up the stack Input: edt-ft5x06 - work around first register access error rcu: Use WRITE_ONCE() for assignments to ->pprev for hlist_nulls efi/x86: Don't panic or BUG() on non-critical error conditions soc/tegra: fuse: Correct straps' address for older Tegra124 device trees IB/hfi1: Add RcvShortLengthErrCnt to hfi1stats IB/hfi1: Add software counter for ctxt0 seq drop staging: rtl8188: avoid excessive stack usage drm/mediatek: Add gamma property according to hardware capability udf: Fix free space reporting for metadata and virtual partitions usbip: Fix unsafe unaligned pointer usage ARM: dts: stm32: Add power-supply for DSI panel on stm32f469-disco usb: dwc3: use proper initializers for property entries drm: remove the newline for CRC source name. RDMA/hns: Avoid printing address of mtt page mlx5: work around high stack usage with gcc drm/amdkfd: Fix permissions of hang_hws iommu/vt-d: Avoid sending invalid page response iommu/vt-d: Match CPU and IOMMU paging mode ACPI: button: Add DMI quirk for Razer Blade Stealth 13 late 2019 lid switch ASoC: Intel: sof_rt5682: Ignore the speaker amp when there isn't one. vfio/spapr/nvlink2: Skip unpinning pages on error exit tools lib api fs: Fix gcc9 stringop-truncation compilation error net: phy: fixed_phy: fix use-after-free when checking link GPIO ALSA: sh: Fix compile warning wrt const ALSA: hda/realtek - Apply mic mute LED quirk for Dell E7xx laptops, too clk: uniphier: Add SCSSI clock gate for each channel clk: Use parent node pointer during registration if necessary ALSA: sh: Fix unused variable warnings clk: sunxi-ng: add mux and pll notifiers for A64 CPU clock RDMA/rxe: Fix error type of mmap_offset fbdev: fix numbering of fbcon options ASoC: soc-topology: fix endianness issues reset: uniphier: Add SCSSI reset control for each channel pinctrl: sh-pfc: sh7269: Fix CAN function GPIOs drm/fbdev: Fallback to non tiled mode if all tiles not present PM / devfreq: rk3399_dmc: Add COMPILE_TEST and HAVE_ARM_SMCCC dependency PM / devfreq: exynos-ppmu: Fix excessive stack usage x86/vdso: Provide missing include file crypto: chtls - Fixed memory leak net: phy: realtek: add logging for the RGMII TX delay configuration bpf: Print error message for bpftool cgroup show dmaengine: imx-sdma: Fix memory leak dmaengine: Store module owner in dma_device struct clk: actually call the clock init before any other callback of the clock iommu/iova: Silence warnings under memory pressure iommu/amd: Only support x2APIC with IVHD type 11h/40h iommu/amd: Check feature support bit before accessing MSI capability registers arm64: dts: qcom: db845c: Enable ath10k 8bit host-cap quirk scsi: lpfc: Fix: Rework setting of fdmi symbolic node name registration selinux: ensure we cleanup the internal AVC counters on error in avc_update() ARM: dts: r8a7779: Add device node for ARM global timer clk: renesas: rcar-gen3: Allow changing the RPC[D2] clocks drm/mediatek: handle events when enabling/disabling crtc crypto: inside-secure - add unspecified HAS_IOMEM dependency scsi: aic7xxx: Adjust indentation in ahc_find_syncrate scsi: ufs: Complete pending requests in host reset and restore path nfsd: Clone should commit src file metadata too ACPICA: Disassembler: create buffer fields in ACPI_PARSE_LOAD_PASS1 clk: qcom: smd: Add missing bimc clock drm/amdgpu: fix KIQ ring test fail in TDR of SRIOV orinoco: avoid assertion in case of NULL pointer rtlwifi: rtl_pci: Fix -Wcast-function-type iwlegacy: Fix -Wcast-function-type ipw2x00: Fix -Wcast-function-type b43legacy: Fix -Wcast-function-type PCI: Add DMA alias quirk for PLX PEX NTB PCI: Add nr_devfns parameter to pci_add_dma_alias() ALSA: usx2y: Adjust indentation in snd_usX2Y_hwdep_dsp_status netfilter: nft_tunnel: add the missing ERSPAN_VERSION nla_policy fore200e: Fix incorrect checks of NULL pointer dereference r8169: check that Realtek PHY driver module is loaded samples/bpf: Set -fno-stack-protector when building BPF programs reiserfs: Fix spurious unlock in reiserfs_fill_super() error handling media: v4l2-device.h: Explicitly compare grp{id,mask} to zero in v4l2_device macros selftests/net: make so_txtime more robust to timer variance gpu/drm: ingenic: Avoid null pointer deference in plane atomic update Revert "nfp: abm: fix memory leak in nfp_abm_u32_knode_replace" PCI: Increase D3 delay for AMD Ryzen5/7 XHCI controllers PCI: Add generic quirk for increasing D3hot delay media: cx23885: Add support for AVerMedia CE310B PCI: iproc: Apply quirk_paxc_bridge() for module as well as built-in bus: ti-sysc: Implement quirk handling for CLKDM_NOAUTO ARM: dts: imx6: rdu2: Limit USBH1 to Full Speed ARM: dts: imx6: rdu2: Disable WP for USDHC2 and USDHC3 ARM: exynos_defconfig: Bring back explicitly wanted options clk: imx: Add correct failure handling for clk based helpers padata: validate cpumask without removed CPU during offline arm64: dts: qcom: msm8996: Disable USB2 PHY suspend by core selinux: ensure we cleanup the internal AVC counters on error in avc_insert() opp: Free static OPPs on errors while adding them arm: dts: allwinner: H3: Add PMU node arm64: dts: allwinner: H5: Add PMU node arm64: dts: allwinner: H6: Add PMU mode NFC: port100: Convert cpu_to_le16(le16_to_cpu(E1) + E2) to use le16_add_cpu(). net/wan/fsl_ucc_hdlc: reject muram offsets above 64K regulator: rk808: Lower log level on optional GPIOs being not available ASoC: intel: sof_rt5682: Add support for tgl-max98357a-rt5682 ASoC: intel: sof_rt5682: Add quirk for number of HDMI DAI's modules: lockdep: Suppress suspicious RCU usage warning arm64: dts: rockchip: Fix NanoPC-T4 cooling maps drm/panel: simple: Add Logic PD Type 28 display support drm/amdgpu: Ensure ret is always initialized when using SOC15_WAIT_ON_RREG ath10k: correct the tlv len of ath10k_wmi_tlv_op_gen_config_pno_start drm/amdgpu: remove 4 set but not used variable in amdgpu_atombios_get_connector_info_from_object_table bpf, sockhash: Synchronize_rcu before free'ing map drm/amdkfd: Fix a bug in SDMA RLC queue counting under HWS mode clk: qcom: rcg2: Don't crash if our parent can't be found; return an error clk: qcom: Don't overwrite 'cfg' in clk_rcg2_dfs_populate_freq() kconfig: fix broken dependency in randconfig-generated .config block, bfq: do not plug I/O for bfq_queues with no proc refs drivers/block/zram/zram_drv.c: fix error return codes not being returned in writeback_store Btrfs: keep pages dirty when using btrfs_writepage_fixup_worker KVM: s390: ENOTSUPP -> EOPNOTSUPP fixups nbd: add a flush_workqueue in nbd_start_device tracing: Simplify assignment parsing for hist triggers drm/amd/display: Retrain dongles when SINK_COUNT becomes non-zero rtc: i2c/spi: Avoid inclusion of REGMAP support when not needed selftests: settings: tests can be in subsubdirs brcmfmac: sdio: Fix OOB interrupt initialization on brcm43362 rtw88: fix rate mask for 1SS chip ath10k: Correct the DMA direction for management tx buffers ext4, jbd2: ensure panic when aborting with zero errno ARM: 8952/1: Disable kmemleak on XIP kernels tracing: Fix very unlikely race of registering two stat tracers tracing: Fix tracing_stat return values in error handling paths powerpc/iov: Move VF pdev fixup into pcibios_fixup_iov() s390/pci: Fix possible deadlock in recover_store() wan/hdlc_x25: fix skb handling dmaengine: fsl-qdma: fix duplicated argument to && udf: Allow writing to 'Rewritable' partitions pwm: omap-dmtimer: Simplify error handling x86/sysfb: Fix check for bad VRAM size clk: ti: dra7: fix parent for gmac_clkctrl ext4: fix deadlock allocating bio_post_read_ctx from mempool jbd2: clear JBD2_ABORT flag before journal_reset to update log tail info when load journal kselftest: Minimise dependency of get_size on C library interfaces drm/amd/display: Clear state after exiting fixed active VRR state clocksource/drivers/bcm2835_timer: Fix memory leak of timer usb: dwc2: Fix IN FIFO allocation usb: gadget: udc: fix possible sleep-in-atomic-context bugs in gr_probe() drm/nouveau/nouveau: fix incorrect sizeof on args.src an args.dst spi: fsl-lpspi: fix only one cs-gpio working drm/amdgpu/sriov: workaround on rev_id for Navi12 under sriov uio: fix a sleep-in-atomic-context bug in uio_dmem_genirq_irqcontrol() raid6/test: fix a compilation error net: ethernet: ixp4xx: Standard module init sparc: Add .exit.data section. MIPS: Loongson: Fix potential NULL dereference in loongson3_platform_init() efi/x86: Map the entire EFI vendor string before copying it pinctrl: baytrail: Do not clear IRQ flags on direct-irq enabled pins IB/core: Let IB core distribute cache update events kernel/module: Fix memleak in module_add_modinfo_attrs() media: sti: bdisp: fix a possible sleep-in-atomic-context bug in bdisp_device_run() char/random: silence a lockdep splat with printk() x86/fpu: Deactivate FPU state after failure during state load iommu/vt-d: Fix off-by-one in PASID allocation gpio: gpio-grgpio: fix possible sleep-in-atomic-context bugs in grgpio_irq_map/unmap() clk: meson: meson8b: make the CCF use the glitch-free mali mux powerpc/powernv/iov: Ensure the pdn for VFs always contains a valid PE number clk: at91: sam9x60: fix programmable clock prescaler media: sun4i-csi: Fix [HV]sync polarity handling media: sun4i-csi: Fix data sampling polarity handling media: sun4i-csi: Deal with DRAM offset media: i2c: mt9v032: fix enum mbus codes and frame sizes media: ov5640: Fix check for PLL1 exceeding max allowed rate pxa168fb: Fix the function used to release some memory in an error handling path drm/msm/adreno: fix zap vs no-zap handling drm/mipi_dbi: Fix off-by-one bugs in mipi_dbi_blank() printk: fix exclusive_console replaying pinctrl: sh-pfc: sh7264: Fix CAN function GPIOs gianfar: Fix TX timestamping with a stacked DSA driver ALSA: ctl: allow TLV read operation for callback type of element in locked case ext4: fix ext4_dax_read/write inode locking sequence for IOCB_NOWAIT leds: pca963x: Fix open-drain initialization drm/amd/display: Map ODM memory correctly when doing ODM combine PCI: Fix pci_add_dma_alias() bitmask size brcmfmac: Fix use after free in brcmf_sdio_readframes() brcmfmac: Fix memory leak in brcmf_p2p_create_p2pdev() cpu/hotplug, stop_machine: Fix stop_machine vs hotplug order clk: meson: pll: Fix by 0 division in __pll_params_to_rate() media: meson: add missing allocation failure check on new_buf f2fs: call f2fs_balance_fs outside of locked page f2fs: preallocate DIO blocks when forcing buffered_io rcu: Fix data-race due to atomic_t copy-by-value rcu: Fix missed wakeup of exp_wq waiters rcu/nocb: Fix dump_tree hierarchy print always active drm/qxl: Complete exception handling in qxl_device_init() wil6210: fix break that is never reached because of zero'ing of a retry counter ath10k: Fix qmi init error handling drm/gma500: Fixup fbdev stolen size usage evaluation net/sched: flower: add missing validation of TCA_FLOWER_FLAGS net/sched: matchall: add missing validation of TCA_MATCHALL_FLAGS net: dsa: tag_qca: Make sure there is headroom for tag net/smc: fix leak of kernel memory to user space enic: prevent waking up stopped tx queues over watchdog reset core: Don't skip generic XDP program execution for cloned SKBs ANDROID: ufs, block: fix crypto power management and move into block layer ANDROID: rtc: class: support hctosys from modular RTC drivers ANDROID: update the abi after clk changes ANDROID: update abi for f2fs/fscrypt merge ANDROID: Kconfig.gki: Remove most of the built in qcom clks FROMLIST: f2fs: Handle casefolding with Encryption FROMLIST: fscrypt: Have filesystems handle their d_ops FROMLIST: ext4: Use generic casefolding support FROMLIST: f2fs: Use generic casefolding support FROMLIST: Add standard casefolding support FROMLIST: unicode: Add utf8_casefold_hash ANDROID: gki: Set CONFIG_SERIAL_SAMSUNG for early con. UPSTREAM: tty: serial: samsung_tty: remove SERIAL_SAMSUNG_DEBUG UPSTREAM: tty: serial: samsung_tty: build it for any platform UPSTREAM: tty: serial: samsung_tty: do not abuse the struct uart_port unused fields UPSTREAM: tty: serial: samsung_tty: fix blank line checkpatch warning UPSTREAM: tty: serial: samsung_tty: fix up minor comment formatting UPSTREAM: tty: serial: samsung_tty: use 'unsigned int' not 'unsigned' UPSTREAM: tty: serial: samsung_tty: use standard debugging macros UPSTREAM: tty: serial: samsung_tty: drop unneded dbg() calls UPSTREAM: tty: serial: samsung_tty: delete samsung.h UPSTREAM: tty: serial: samsung.h: remove reset_port callback from struct s3c24xx_uart_info UPSTREAM: tty: serial: samsung.h: fix up minor comment issues UPSTREAM: tty: serial: samsung_tty: fix build warning UPSTREAM: tty: serial: samsung: allow driver to be built by anyone UPSTREAM: tty: serial: samsung: remove variable 'ufstat' set but not used UPSTREAM: {tty: serial, nand: onenand}: samsung: rename to fix build warning UPSTREAM: random: ignore GRND_RANDOM in getentropy(2) UPSTREAM: random: add GRND_INSECURE to return best-effort non-cryptographic bytes UPSTREAM: linux/random.h: Mark CONFIG_ARCH_RANDOM functions __must_check UPSTREAM: linux/random.h: Use false with bool UPSTREAM: linux/random.h: Remove arch_has_random, arch_has_random_seed UPSTREAM: random: remove some dead code of poolinfo UPSTREAM: random: fix typo in add_timer_randomness() UPSTREAM: random: Add and use pr_fmt() UPSTREAM: random: convert to ENTROPY_BITS for better code readability UPSTREAM: random: remove unnecessary unlikely() UPSTREAM: random: remove kernel.random.read_wakeup_threshold UPSTREAM: random: delete code to pull data into pools UPSTREAM: random: remove the blocking pool UPSTREAM: random: make /dev/random be almost like /dev/urandom UPSTREAM: random: Add a urandom_read_nowait() for random APIs that don't warn UPSTREAM: random: Don't wake crng_init_wait when crng_init == 1 UPSTREAM: char/random: silence a lockdep splat with printk() ANDROID: Incremental fs: Support xattrs BACKPORT: sched/fair: Remove wake_cap() UPSTREAM: sched/core: Remove for_each_lower_domain() UPSTREAM: sched/topology: Remove SD_BALANCE_WAKE on asymmetric capacity systems UPSTREAM: sched/fair: Add asymmetric CPU capacity wakeup scan ANDROID: ufs: add quirk to fix abnormal ocs fatal error FROMLIST: ufs: fix a bug on printing PRDT ANDROID: update abi for 5.4.21 ANDROID: clang: update to 10.0.4 fbdev: core: Initialise structure to prevent kernel information leak Linux 5.4.21 mmc: core: Rework wp-gpio handling gpio: add gpiod_toggle_active_low() KVM: x86/mmu: Fix struct guest_walker arrays for 5-level paging ext4: choose hardlimit when softlimit is larger than hardlimit in ext4_statfs_project() jbd2: do not clear the BH_Mapped flag when forgetting a metadata buffer jbd2: move the clearing of b_modified flag to the journal_unmap_buffer() Revert "drm/sun4i: drv: Allow framebuffer modifiers in mode config" NFSv4.1 make cachethis=no for writes perf stat: Don't report a null stalled cycles per insn metric KVM: x86: Mask off reserved bit from #DB exception payload arm64: dts: fast models: Fix FVP PCI interrupt-map property cifs: fix mount option display for sec=krb5i mac80211: fix quiet mode activation in action frames hwmon: (pmbus/ltc2978) Fix PMBus polling of MFR_COMMON definitions. perf/x86/intel: Fix inaccurate period in context switch for auto-reload spmi: pmic-arb: Set lockdep class for hierarchical irq domains sched/uclamp: Reject negative values in cpu_uclamp_write() s390/time: Fix clk type in get_tod_clock RDMA/core: Fix protection fault in get_pkey_idx_qp_list RDMA/rxe: Fix soft lockup problem due to using tasklets in softirq RDMA/hfi1: Fix memory leak in _dev_comp_vect_mappings_create RDMA/iw_cxgb4: initiate CLOSE when entering TERM RDMA/core: Fix invalid memory access in spec_filter_size IB/umad: Fix kernel crash while unloading ib_umad IB/rdmavt: Reset all QPs when the device is shut down IB/hfi1: Close window for pq and request coliding IB/hfi1: Acquire lock to release TID entries when user file is closed IB/mlx5: Return failure when rts2rts_qp_counters_set_id is not supported drivers: ipmi: fix off-by-one bounds check that leads to a out-of-bounds write nvme: fix the parameter order for nvme_get_log in nvme_get_fw_slot_info bus: moxtet: fix potential stack buffer overflow drm/panfrost: Make sure the shrinker does not reclaim referenced BOs drm/vgem: Close use-after-free race in vgem_gem_create s390/uv: Fix handling of length extensions s390/pkey: fix missing length of protected key on return perf/x86/amd: Add missing L2 misses event spec to AMD Family 17h's event map KVM: nVMX: Use correct root level for nested EPT shadow page tables EDAC/mc: Fix use-after-free and memleaks during device removal EDAC/sysfs: Remove csrow objects on errors cifs: make sure we do not overflow the max EA buffer size xprtrdma: Fix DMA scatter-gather list mapping imbalance arm64: ssbs: Fix context-switch when SSBS is present on all CPUs gpio: xilinx: Fix bug where the wrong GPIO register is written to ARM: npcm: Bring back GPIOLIB support btrfs: log message when rw remount is attempted with unclean tree-log btrfs: print message when tree-log replay starts btrfs: ref-verify: fix memory leaks Btrfs: fix race between using extent maps and merging them ext4: improve explanation of a mount failure caused by a misconfigured kernel ext4: add cond_resched() to ext4_protect_reserved_inode ext4: fix checksum errors with indexed dirs ext4: fix support for inode sizes > 1024 bytes ext4: don't assume that mmp_nodename/bdevname have NUL ALSA: usb-audio: Add clock validity quirk for Denon MC7000/MCX8000 ALSA: usb-audio: sound: usb: usb true/false for bool return type ACPI: PM: s2idle: Prevent spurious SCIs from waking up the system ACPICA: Introduce acpi_any_gpe_status_set() ACPI: PM: s2idle: Avoid possible race related to the EC GPE ACPI: EC: Fix flushing of pending work ALSA: usb-audio: Apply sample rate quirk for Audioengine D1 ALSA: hda/realtek - Fix silent output on MSI-GL73 ALSA: hda/realtek - Add more codec supported Headset Button ALSA: usb-audio: Fix UAC2/3 effect unit parsing Input: synaptics - remove the LEN0049 dmi id from topbuttonpad list Input: synaptics - enable SMBus on ThinkPad L470 Input: synaptics - switch T470s to RMI4 by default ANDROID: ABI/Whitelist: initial unisoc whitelist ANDROID: Fix ABI representation after enabling CONFIG_NET_NS ANDROID: gki_defconfig: Enable CONFIG_NET_NS ANDROID: gki_defconfig: Enable XDP_SOCKETS ANDROID: gki_defconfig: Enable MAC80211_RC_MINSTREL ANDROID: virtio: virtio_input: pass _DIRECT only if the device advertises _DIRECT Revert "arm64: defconfig: Remove IKHEADERS option" ANDROID: staging: ion: delete unused heap types and IDs ANDROID: gki_defconfig: disable system_contig ion heap. ANDROID: cf build: Use merge_configs ANDROID: net: bpf: Allow TC programs to call BPF_FUNC_skb_change_head ANDROID: gki_defconfig: Disable SDCARD_FS Linux 5.4.20 selinux: fall back to ref-walk if audit is required libertas: make lbs_ibss_join_existing() return error code on rates overflow libertas: don't exit from lbs_ibss_join_existing() with RCU read lock held mwifiex: Fix possible buffer overflows in mwifiex_cmd_append_vsie_tlv() mwifiex: Fix possible buffer overflows in mwifiex_ret_wmm_get_status() dmaengine: axi-dmac: add a check for devm_regmap_init_mmio clk: meson: g12a: fix missing uart2 in regmap table mfd: max77650: Select REGMAP_IRQ in Kconfig regmap: fix writes to non incrementing registers pinctrl: sh-pfc: r8a7778: Fix duplicate SDSELF_B and SD1_CLK_B pinctrl: sh-pfc: r8a77965: Fix DU_DOTCLKIN3 drive/bias control selinux: fix regression introduced by move_mount(2) syscall selinux: revert "stop passing MAY_NOT_BLOCK to the AVC upon follow_link" bcache: avoid unnecessary btree nodes flushing in btree_flush_write() dt-bindings: iio: adc: ad7606: Fix wrong maxItems value media: i2c: adv748x: Fix unsafe macros drivers: watchdog: stm32_iwdg: set WDOG_HW_RUNNING at probe crypto: caam/qi2 - fix typo in algorithm's driver name crypto: atmel-sha - fix error handling when setting hmac key crypto: artpec6 - return correct error code for failed setkey() crypto: testmgr - don't try to decrypt uninitialized buffers mtd: sharpslpart: Fix unsigned comparison to zero mtd: onenand_base: Adjust indentation in onenand_read_ops_nolock arm64: nofpsmid: Handle TIF_FOREIGN_FPSTATE flag cleanly KVM: arm64: Treat emulated TVAL TimerValue as a signed 32-bit integer KVM: arm64: pmu: Fix chained SW_INCR counters KVM: arm64: pmu: Don't increment SW_INCR if PMCR.E is unset KVM: arm: Make inject_abt32() inject an external abort instead KVM: arm: Fix DFSR setting for non-LPAE aarch32 guests KVM: arm/arm64: Fix young bit from mmu notifier arm64: ptrace: nofpsimd: Fail FP/SIMD regset operations arm64: cpufeature: Set the FP/SIMD compat HWCAP bits properly arm64: cpufeature: Fix the type of no FP/SIMD capability sched/uclamp: Fix a bug in propagating uclamp value in new cgroups ARM: 8949/1: mm: mark free_memmap as __init KVM: arm/arm64: vgic-its: Fix restoration of unmapped collections ARM: at91: pm: use of_device_id array to find the proper shdwc node ARM: at91: pm: use SAM9X60 PMC's compatible iommu/arm-smmu-v3: Populate VMID field for CMDQ_OP_TLBI_NH_VA powerpc/pseries: Allow not having ibm, hypertas-functions::hcall-multi-tce for DDW powerpc/pseries/vio: Fix iommu_table use-after-free refcount warning powerpc/papr_scm: Fix leaking 'bus_desc.provider_name' in some paths powerpc/ptdump: Only enable PPC_CHECK_WX with STRICT_KERNEL_RWX powerpc/ptdump: Fix W+X verification call in mark_rodata_ro() Revert "powerpc/pseries/iommu: Don't use dma_iommu_ops on secure guests" soc: qcom: rpmhpd: Set 'active_only' for active only power domains tools/power/acpi: fix compilation error ARM: dts: at91: sama5d3: define clock rate range for tcb1 ARM: dts: at91: sama5d3: fix maximum peripheral clock rates ARM: dts: meson8b: use the actual frequency for the GPU's 364MHz OPP ARM: dts: meson8: use the actual frequency for the GPU's 182.1MHz OPP arm64: dts: marvell: clearfog-gt-8k: fix switch cpu port node arm64: dts: renesas: r8a77990: ebisu: Remove clkout-lr-synchronous from sound ARM: dts: am43xx: add support for clkout1 clock ARM: dts: at91: Reenable UART TX pull-ups arm64: dts: uDPU: fix broken ethernet arm64: dts: qcom: msm8998: Fix tcsr syscon size platform/x86: intel_mid_powerbtn: Take a copy of ddata ARC: [plat-axs10x]: Add missing multicast filter number to GMAC node watchdog: qcom: Use platform_get_irq_optional() for bark irq rtc: cmos: Stop using shared IRQ rtc: hym8563: Return -EINVAL if the time is known to be invalid x86/boot: Handle malformed SRAT tables during early ACPI parsing NFSv4.0: nfs4_do_fsinfo() should not do implicit lease renewals NFSv4: try lease recovery on NFS4ERR_EXPIRED NFSv4: pnfs_roc() must use cred_fscmp() to compare creds NFS: Fix fix of show_nfs_errors NFS/pnfs: Fix pnfs_generic_prepare_to_resend_writes() NFS: Revalidate the file size on a fatal write error nfs: NFS_SWAP should depend on SWAP bpf, sockmap: Check update requirements after locking bpf: Improve bucket_log calculation logic selftests/bpf: Test freeing sockmap/sockhash with a socket in it bpf, sockhash: Synchronize_rcu before free'ing map bpf, sockmap: Don't sleep while holding RCU lock on tear-down bpftool: Don't crash on missing xlated program instructions iwlwifi: mvm: avoid use after free for pmsr request PCI/AER: Initialize aer_fifo PCI: Don't disable bridge BARs when assigning bus resources PCI: tegra: Fix afi_pex2_ctrl reg offset for Tegra30 PCI/switchtec: Fix vep_vector_number ioread width PCI/switchtec: Use dma_set_mask_and_coherent() ath10k: pci: Only dump ATH10K_MEM_REGION_TYPE_IOREG when safe PCI/IOV: Fix memory leak in pci_iov_add_virtfn() scsi: ufs: Fix ufshcd_probe_hba() reture value in case ufshcd_scsi_add_wlus() fails RDMA/umem: Fix ib_umem_find_best_pgsz() RDMA/cma: Fix unbalanced cm_id reference count during address resolve RDMA/uverbs: Verify MR access flags RDMA/core: Fix locking in ib_uverbs_event_read RDMA/i40iw: fix a potential NULL pointer dereference RDMA/netlink: Do not always generate an ACK for some netlink operations IB/mlx4: Fix leak in id_map_find_del IB/srp: Never use immediate data if it is disabled by a user IB/mlx4: Fix memory leak in add_gid error flow hv_sock: Remove the accept port restriction ASoC: pcm: update FE/BE trigger order based on the command ANDROID: gki_defconfig: Add CONFIG_UNICODE ANDROID: added memory initialization tests to cuttlefish config ANDROID: gki_defconfig: enable CONFIG_RUNTIME_TESTING_MENU fs-verity: use u64_to_user_ptr() fs-verity: use mempool for hash requests fs-verity: implement readahead of Merkle tree pages fs-verity: implement readahead for FS_IOC_ENABLE_VERITY fscrypt: improve format of no-key names ubifs: allow both hash and disk name to be provided in no-key names ubifs: don't trigger assertion on invalid no-key filename fscrypt: clarify what is meant by a per-file key fscrypt: derive dirhash key for casefolded directories fscrypt: don't allow v1 policies with casefolding fscrypt: add "fscrypt_" prefix to fname_encrypt() fscrypt: don't print name of busy file when removing key ubifs: use IS_ENCRYPTED() instead of ubifs_crypt_is_encrypted() fscrypt: document gfp_flags for bounce page allocation fscrypt: optimize fscrypt_zeroout_range() fscrypt: remove redundant bi_status check fscrypt: Allow modular crypto algorithms FROMLIST: rename missed uaccess .fixup section ANDROID: gki_defconfig: enable heap and stack initialization. ANDROID: ABI/Whitelist: update for db845c ANDROID: ABI/Whitelist: update for Cuttlefish ANDROID: update ABI representation and GKI whitelist ANDROID: f2fs: fix missing blk-crypto changes usb: misc: Add USB super speed re-driver support fscrypt: include <linux/ioctl.h> in UAPI header fscrypt: don't check for ENOKEY from fscrypt_get_encryption_info() fscrypt: remove fscrypt_is_direct_key_policy() fscrypt: move fscrypt_valid_enc_modes() to policy.c fscrypt: check for appropriate use of DIRECT_KEY flag earlier fscrypt: split up fscrypt_supported_policy() by policy version fscrypt: introduce fscrypt_needs_contents_encryption() fscrypt: move fscrypt_d_revalidate() to fname.c fscrypt: constify inode parameter to filename encryption functions fscrypt: constify struct fscrypt_hkdf parameter to fscrypt_hkdf_expand() fscrypt: verify that the crypto_skcipher has the correct ivsize fscrypt: use crypto_skcipher_driver_name() fscrypt: support passing a keyring key to FS_IOC_ADD_ENCRYPTION_KEY UPSTREAM: dynamic_debug: allow to work if debugfs is disabled UPSTREAM: serial: sprd: Add polling IO support UPSTREAM: dmaengine: sprd: Add wrap address support for link-list mode UPSTREAM: pinctrl: sprd: Add CM4 sleep mode support UPSTREAM: pinctrl: sprd: Add PIN_CONFIG_BIAS_DISABLE configuration support UPSTREAM: spi: sprd: adi: Set BIT_WDG_NEW bit when rebooting UPSTREAM: nvmem: sprd: Add Spreadtrum SoCs eFuse support UPSTREAM: dt-bindings: nvmem: Add Spreadtrum eFuse controller documentation UPSTREAM: scsi: ufs-mediatek: enable low-power mode for hibern8 state BACKPORT: scsi: ufs: export some functions for vendor usage UPSTREAM: scsi: ufs-mediatek: add dbg_register_dump implementation UPSTREAM: scsi: ufs-mediatek: add apply_dev_quirks variant operation UPSTREAM: scsi: ufs: pass device information to apply_dev_quirks UPSTREAM: scsi: ufs: add device reset history for vendor implementations UPSTREAM: scsi: ufs: fix empty check of error history UPSTREAM: scsi: ufs-mediatek: configure and enable clk-gating UPSTREAM: scsi: ufs-mediatek: configure customized auto-hibern8 timer BACKPORT: scsi: ufs: export ufshcd_auto_hibern8_update for vendor usage UPSTREAM: scsi: ufs-mediatek: introduce reference clock control UPSTREAM: scsi: ufs-mediatek: add device reset implementation UPSTREAM: scsi: soc: mediatek: add header for SiP service interface BACKPORT: scsi: ufs: use ufshcd_vops_dbg_register_dump for vendor specific dumps BACKPORT: scsi: ufs: unify scsi_block_requests usage UPSTREAM: scsi: ufs: disable interrupt during clock-gating UPSTREAM: scsi: ufs: disable irq before disabling clocks UPSTREAM: scsi: ufs-mediatek: enable auto suspend capability ANDROID: update ABI for 5.4.19 ANDROID: fix up dummy-cpufreq.c due to api changes Linux 5.4.19 powerpc/kuap: Fix set direction in allow/prevent_user_access() regulator fix for "regulator: core: Add regulator_is_equal() helper" rxrpc: Fix service call disconnection perf/core: Fix mlock accounting in perf_mmap() clocksource: Prevent double add_timer_on() for watchdog_timer x86/apic/msi: Plug non-maskable MSI affinity race cifs: fail i/o on soft mounts if sessionsetup errors out KVM: Play nice with read-only memslots when querying host page size KVM: Use vcpu-specific gva->hva translation when querying host page size KVM: nVMX: vmread should not set rflags to specify success in case of #PF KVM: x86: fix overlap between SPTE_MMIO_MASK and generation KVM: x86: Use gpa_t for cr2/gpa to fix TDP support on 32-bit KVM KVM: x86: use CPUID to locate host page table reserved bits KVM: x86/mmu: Apply max PA check for MMIO sptes to 32-bit KVM drm/dp_mst: Remove VCPI while disabling topology mgr btrfs: free block groups after free'ing fs trees btrfs: use bool argument in free_root_pointers() x86/timer: Don't skip PIT setup when APIC is disabled or in legacy mode mfd: bd70528: Fix hour register mask mfd: rn5t618: Mark ADC control register volatile mfd: da9062: Fix watchdog compatible string ASoC: Intel: skl_hda_dsp_common: Fix global-out-of-bounds bug net/mlx5: Deprecate usage of generic TLS HW capability bit net/mlx5: Fix deadlock in fs_core drop_monitor: Do not cancel uninitialized work item qed: Fix timestamping issue for L2 unicast ptp packets. ipv6/addrconf: fix potential NULL deref in inet6_set_link_af() taprio: Fix dropping packets when using taprio + ETF offloading taprio: Use taprio_reset_tc() to reset Traffic Classes configuration taprio: Add missing policy validation for flags taprio: Fix still allowing changing the flags during runtime taprio: Fix enabling offload with wrong number of traffic classes net: macb: Limit maximum GEM TX length in TSO net: macb: Remove unnecessary alignment check for TSO net/mlx5: IPsec, fix memory leak at mlx5_fpga_ipsec_delete_sa_ctx net/mlx5: IPsec, Fix esp modify function attribute net: systemport: Avoid RBUF stuck in Wake-on-LAN mode net: stmmac: fix a possible endless loop net_sched: fix a resource leak in tcindex_set_parms() net: mvneta: move rx_dropped and rx_errors in per-cpu stats net: dsa: microchip: enable module autoprobe net: dsa: bcm_sf2: Only 7278 supports 2Gb/sec IMP port net: dsa: b53: Always use dev->vlan_enabled in b53_configure_vlan() dpaa_eth: support all modes with rate adapting PHYs devlink: report 0 after hitting end in region read bonding/alb: properly access headers in bond_alb_xmit() ASoC: sgtl5000: Fix VDDA and VDDIO comparison regulator: core: Add regulator_is_equal() helper ubifs: Fix memory leak from c->sup_node ubi: Fix an error pointer dereference in error handling code ubi: fastmap: Fix inverted logic in seen selfcheck virtio_balloon: Fix memory leaks on errors in virtballoon_probe() virtio-balloon: Fix memory leak when unloading while hinting is in progress nfsd: Return the correct number of bytes written to the file nfsd: fix jiffies/time_t mixup in LRU list nfsd: fix delay timer on 32-bit architectures IB/core: Fix ODP get user pages flow IB/mlx5: Fix outstanding_pi index for GSI qps net: tulip: Adjust indentation in {dmfe, uli526x}_init_module net: smc911x: Adjust indentation in smc911x_phy_configure ppp: Adjust indentation into ppp_async_input NFC: pn544: Adjust indentation in pn544_hci_check_presence drm: msm: mdp4: Adjust indentation in mdp4_dsi_encoder_enable powerpc/44x: Adjust indentation in ibm4xx_denali_fixup_memsize ext2: Adjust indentation in ext2_fill_super phy: qualcomm: Adjust indentation in read_poll_timeout mtd: spi-nor: Split mt25qu512a (n25q512a) entry into two scsi: ufs: Recheck bkops level if bkops is disabled scsi: qla4xxx: Adjust indentation in qla4xxx_mem_free scsi: csiostor: Adjust indentation in csio_device_reset scsi: qla2xxx: Fix the endianness of the qla82xx_get_fw_size() return type ASoC: meson: axg-fifo: fix fifo threshold setup percpu: Separate decrypted varaibles anytime encryption can be enabled broken ping to ipv6 linklocal addresses on debian buster fix up iter on short count in fuse_direct_io() virtio-pci: check name when counting MSI-X vectors virtio-balloon: initialize all vq callbacks drm/amd/dm/mst: Ignore payload update failures clk: tegra: Mark fuse clock as critical mm/mmu_gather: invalidate TLB correctly on batch allocation failure and flush arm64: dts: qcom: qcs404-evb: Set vdd_apc regulator in high power mode mm/page_alloc.c: fix uninitialized memmaps on a partially populated last section ocfs2: fix oops when writing cloned file KVM: s390: do not clobber registers during guest reset/store status KVM: x86: Revert "KVM: X86: Fix fpu state crash in kvm guest" KVM: x86: Ensure guest's FPU state is loaded when accessing for emulation KVM: x86: Handle TIF_NEED_FPU_LOAD in kvm_{load,put}_guest_fpu() KVM: x86: Free wbinvd_dirty_mask if vCPU creation fails KVM: x86: Don't let userspace set host-reserved cr4 bits KVM: VMX: Add non-canonical check on writes to RTIT address MSRs x86/KVM: Clean up host's steal time structure x86/kvm: Cache gfn to pfn translation x86/KVM: Make sure KVM_VCPU_FLUSH_TLB flag is not missed x86/kvm: Introduce kvm_(un)map_gfn() x86/kvm: Be careful not to clear KVM_VCPU_FLUSH_TLB bit kvm/svm: PKU not currently supported KVM: PPC: Book3S PR: Free shared page if mmu initialization fails KVM: PPC: Book3S HV: Uninit vCPU if vcore creation fails KVM: x86: Fix potential put_fpu() w/o load_fpu() on MPX platform KVM: x86: Protect MSR-based index computations in fixed_msr_to_seg_unit() from Spectre-v1/L1TF attacks KVM: x86: Protect x86_decode_insn from Spectre-v1/L1TF attacks KVM: x86: Protect MSR-based index computations from Spectre-v1/L1TF attacks in x86.c KVM: x86: Protect ioapic_read_indirect() from Spectre-v1/L1TF attacks KVM: x86: Protect MSR-based index computations in pmu.h from Spectre-v1/L1TF attacks KVM: x86: Protect ioapic_write_indirect() from Spectre-v1/L1TF attacks KVM: x86: Protect kvm_hv_msr_[get|set]_crash_data() from Spectre-v1/L1TF attacks KVM: x86: Protect kvm_lapic_reg_write() from Spectre-v1/L1TF attacks KVM: x86: Protect DR-based index computations from Spectre-v1/L1TF attacks KVM: x86: Protect pmu_intel.c from Spectre-v1/L1TF attacks KVM: x86: Refactor prefix decoding to prevent Spectre-v1/L1TF attacks KVM: x86: Refactor picdev_write() to prevent Spectre-v1/L1TF attacks aio: prevent potential eventfd recursion on poll eventfd: track eventfd_signal() recursion depth bcache: add readahead cache policy options via sysfs interface watchdog: fix UAF in reboot notifier handling in watchdog core code xen/balloon: Support xend-based toolstack take two tools/kvm_stat: Fix kvm_exit filter name media: rc: ensure lirc is initialized before registering input device media: iguanair: fix endpoint sanity check drm/rect: Avoid division by zero drm: atmel-hlcdc: prefer a lower pixel-clock than requested drm: atmel-hlcdc: enable clock before configuring timing engine drm: atmel-hlcdc: use double rate for pixel clock only if supported gfs2: fix O_SYNC write handling gfs2: move setting current->backing_dev_info gfs2: fix gfs2_find_jhead that returns uninitialized jhead with seq 0 sunrpc: expiry_time should be seconds not timeval mwifiex: fix unbalanced locking in mwifiex_process_country_ie() iwlwifi: don't throw error when trying to remove IGTK ARM: tegra: Enable PLLP bypass during Tegra124 LP1 btrfs: Correctly handle empty trees in find_first_clear_extent_bit btrfs: flush write bio if we loop in extent_write_cache_pages Btrfs: fix race between adding and putting tree mod seq elements and nodes btrfs: drop log root for dropped roots btrfs: set trans->drity in btrfs_commit_transaction Btrfs: fix infinite loop during fsync after rename operations Btrfs: make deduplication with range including the last block work Btrfs: fix missing hole after hole punching and fsync when using NO_HOLES ext4: fix race conditions in ->d_compare() and ->d_hash() ext4: fix deadlock allocating crypto bounce page from mempool jbd2_seq_info_next should increase position index nfsd: fix filecache lookup NFS: Directory page cache pages need to be locked when read NFS: Fix memory leaks and corruption in readdir scsi: qla2xxx: Fix unbound NVME response length powerpc/futex: Fix incorrect user access blocking crypto: picoxcell - adjust the position of tasklet_init and fix missed tasklet_kill crypto: api - Fix race condition in crypto_spawn_alg crypto: atmel-aes - Fix counter overflow in CTR mode crypto: pcrypt - Do not clear MAY_SLEEP flag in original request crypto: arm64/ghash-neon - bump priority to 150 crypto: ccp - set max RSA modulus size for v3 platform devices as well crypto: hisilicon - Use the offset fields in sqe to avoid need to split scatterlists crypto: api - fix unexpectedly getting generic implementation selftests: bpf: Ignore FIN packets for reuseport tests selftests: bpf: Use a temporary file in test_sockmap selftests/bpf: Skip perf hw events test if the setup disabled it selftests/bpf: Fix test_attach_probe samples/bpf: Xdp_redirect_cpu fix missing tracepoint attach samples/bpf: Don't try to remove user's homedir on clean tc-testing: fix eBPF tests failure on linux fresh clones libbpf: Fix realloc usage in bpf_core_find_cands bpf, devmap: Pass lockdep expression to RCU lists selftests/bpf: Fix perf_buffer test on systems w/ offline CPUs riscv, bpf: Fix broken BPF tail calls btrfs: Handle another split brain scenario with metadata uuid feature btrfs: fix improper setting of scanned for range cyclic write cache pages crypto: pcrypt - Avoid deadlock by using per-instance padata queues ftrace: Protect ftrace_graph_hash with ftrace_sync ftrace: Add comment to why rcu_dereference_sched() is open coded tracing: Annotate ftrace_graph_notrace_hash pointer with __rcu tracing: Annotate ftrace_graph_hash pointer with __rcu ASoC: SOF: core: release resources on errors in probe_continue ASoC: SOF: Introduce state machine for FW boot scsi: qla2xxx: Fix stuck login session using prli_pend_timer dm: fix potential for q->make_request_fn NULL pointer dm thin metadata: use pool locking at end of dm_pool_metadata_close dm crypt: fix benbi IV constructor crash if used in authenticated mode dm crypt: fix GFP flags passed to skcipher_request_alloc() dm writecache: fix incorrect flush sequence when doing SSD mode commit dm space map common: fix to ensure new block isn't already in use dm zoned: support zone sizes smaller than 128MiB ARM: dma-api: fix max_pfn off-by-one error in __dma_supported() of: Add OF_DMA_DEFAULT_COHERENT & select it on powerpc cpufreq: Avoid creating excessively large stack frames PM: core: Fix handling of devices deleted during system-wide resume f2fs: fix race conditions in ->d_compare() and ->d_hash() f2fs: fix dcache lookup of !casefolded directories f2fs: code cleanup for f2fs_statfs_project() f2fs: fix miscounted block limit in f2fs_statfs_project() f2fs: choose hardlimit when softlimit is larger than hardlimit in f2fs_statfs_project() ovl: fix lseek overflow on 32bit ovl: fix wrong WARN_ON() in ovl_cache_update_ino() power: supply: ltc2941-battery-gauge: fix use-after-free power: supply: axp20x_ac_power: Fix reporting online status cpupower: Revert library ABI changes from commit ae2917093fb60bdc1ed3e scsi: qla2xxx: Fix mtcp dump collection failure scsi: megaraid_sas: Do not initiate OCR if controller is not in ready state erofs: fix out-of-bound read for shifted uncompressed block scripts/find-unused-docs: Fix massive false positives fs: allow deduplication of eof block into the end of the destination file padata: Remove broken queue flushing crypto: ccree - fix PM race condition crypto: ccree - fix FDE descriptor sequence crypto: ccree - fix pm wrongful error reporting crypto: ccree - fix AEAD decrypt auth fail crypto: ccree - fix backlog memory leak crypto: api - Check spawn->alg under lock in crypto_drop_spawn nvmem: core: fix memory abort in cleanup path mfd: axp20x: Mark AXP20X_VBUS_IPSOUT_MGMT as volatile hv_balloon: Balloon up according to request page number ASoC: SOF: core: free trace on errors mmc: sdhci-of-at91: fix memleak on clk_get failure ubifs: Fix deadlock in concurrent bulk-read and writepage ubifs: Fix FS_IOC_SETFLAGS unexpectedly clearing encrypt flag ubifs: Fix wrong memory allocation ubifs: don't trigger assertion on invalid no-key filename fscrypt: don't print name of busy file when removing key alarmtimer: Unregister wakeup source when module get fails ACPI / battery: Deal better with neither design nor full capacity not being reported ACPI / battery: Use design-cap for capacity calculations if full-cap is not available ACPI / battery: Deal with design or full capacity being reported as -1 ACPI: video: Do not export a non working backlight interface on MSI MS-7721 boards mmc: spi: Toggle SPI polarity, do not hardcode it PCI: keystone: Fix error handling when "num-viewport" DT property is not populated PCI: keystone: Fix link training retries initiation PCI: keystone: Fix outbound region mapping PCI: tegra: Fix return value check of pm_runtime_get_sync() tracing: Fix now invalid var_ref_vals assumption in trace action powerpc/32s: Fix CPU wake-up from sleep mode powerpc/32s: Fix bad_kuap_fault() powerpc/pseries: Advance pfn if section is not present in lmb_is_removable() powerpc/xmon: don't access ASDR in VMs powerpc/ptdump: Fix W+X verification powerpc/mmu_gather: enable RCU_TABLE_FREE even for !SMP case s390/mm: fix dynamic pagetable upgrade for hugetlbfs MIPS: boot: fix typo in 'vmlinux.lzma.its' target MIPS: fix indentation of the 'RELOCS' message MIPS: syscalls: fix indentation of the 'SYSNR' message KVM: arm64: Only sign-extend MMIO up to register width KVM: arm/arm64: Correct AArch32 SPSR on exception entry KVM: arm/arm64: Correct CPSR on exception entry KVM: arm64: Correct PSTATE on exception entry arm64: acpi: fix DAIF manipulation with pNMI ALSA: hda: Add JasperLake PCI ID and codec vid ALSA: hda: Add Clevo W65_67SB the power_save blacklist ALSA: hda: Apply aligned MMIO access only conditionally platform/x86: intel_scu_ipc: Fix interrupt support x86/cpu: Update cached HLE state on write to TSX_CTRL_CPUID_CLEAR irqdomain: Fix a memory leak in irq_domain_push_irq() lib/test_kasan.c: fix memory leak in kmalloc_oob_krealloc_more() media: v4l2-rect.h: fix v4l2_rect_map_inside() top/left adjustments media: v4l2-core: compat: ignore native command codes media/v4l2-core: set pages dirty upon releasing DMA buffers mm: move_pages: report the number of non-attempted pages mm: thp: don't need care deferred split queue in memcg charge move path mm/memory_hotplug: fix remove_memory() lockdep splat utimes: Clamp the timestamps in notify_change() mmc: sdhci-pci: Make function amd_sdhci_reset static mm/sparse.c: reset section's mem_map when fully deactivated memcg: fix a crash in wb_workfn when a device disappears ALSA: dummy: Fix PCM format loop in proc output ALSA: usb-audio: Annotate endianess in Scarlett gen2 quirk ALSA: usb-audio: Fix endianess in descriptor validation usb: gadget: f_ecm: Use atomic_t to track in-flight request usb: gadget: f_ncm: Use atomic_t to track in-flight request usb: gadget: legacy: set max_speed to super-speed usb: gadget: f_fs: set req->num_sgs as 0 for non-sg transfer objtool: Silence build output usb: typec: tcpci: mask event interrupts when remove driver usb: dwc3: gadget: Delay starting transfer usb: dwc3: gadget: Check END_TRANSFER completion brcmfmac: Fix memory leak in brcmf_usbdev_qinit Bluetooth: btusb: Disable runtime suspend on Realtek devices Bluetooth: btusb: fix memory leak on fw nvmet: Fix controller use after free nvmet: Fix error print message at nvmet_install_queue function rcu: Use READ_ONCE() for ->expmask in rcu_read_unlock_special() srcu: Apply *_ONCE() to ->srcu_last_gp_end rcu: Avoid data-race in rcu_gp_fqs_check_wake() rcu: Use *_ONCE() to protect lockless ->expmask accesses tracing: Fix sched switch start/stop refcount racy updates tracing/kprobes: Have uname use __get_str() in print_fmt ipc/msg.c: consolidate all xxxctl_down() functions netfilter: ipset: fix suspicious RCU usage in find_set_and_id mfd: dln2: More sanity checking for endpoints media: uvcvideo: Avoid cyclic entity chains due to malformed USB descriptors bnxt_en: Fix logic that disables Bus Master during firmware reset. netdevsim: fix stack-out-of-bounds in nsim_dev_debugfs_init() MAINTAINERS: correct entries for ISDN/mISDN section ionic: fix rxq comp packet type mask tcp: clear tp->segs_{in|out} in tcp_disconnect() tcp: clear tp->data_segs{in|out} in tcp_disconnect() tcp: clear tp->delivered in tcp_disconnect() tcp: clear tp->total_retrans in tcp_disconnect() rxrpc: Fix NULL pointer deref due to call->conn being cleared on disconnect rxrpc: Fix missing active use pinning of rxrpc_local object rxrpc: Fix insufficient receive notification generation rxrpc: Fix use-after-free in rxrpc_put_local() bnxt_en: Fix TC queue mapping. net: stmmac: Delete txtimer in suspend() net_sched: fix an OOB access in cls_tcindex net: hsr: fix possible NULL deref in hsr_handle_frame() l2tp: Allow duplicate session creation with UDP gtp: use __GFP_NOWARN to avoid memalloc warning cls_rsvp: fix rsvp_policy bnxt_en: Move devlink_register before registering netdev sparc32: fix struct ipc64_perm type definition ANDROID: Revert "ANDROID: gki_defconfig: removed CONFIG_PM_WAKELOCKS" ANDROID: dm: prevent default-key from being enabled without needed hooks UPSTREAM: crypto: x86 - Regularize glue function prototypes ANDROID: gki: x86: Enable PCI_MSI, WATCHDOG, HPET ANDROID: drm: Add support for DP 1.4 Compliance edid corruption test ANDROID: drm: Parse Colorimetry data block from EDID ANDROID: drm: fix HDR static metadata type field numbering ANDROID: Incremental fs: Make files writeable UPSTREAM: mfd: syscon: Add arguments support for syscon reference ANDROID: Incremental fs: Fix crash on failed lookup UPSTREAM: usb: gadget: f_fs: set req->num_sgs as 0 for non-sg transfer ANDROID: support GKI image that contains an uncompressed Kernel Image. ANDROID: update ABI for 5.4.18 Linux 5.4.18 tracing/uprobe: Fix to make trace_uprobe_filter alignment safe Revert "rsi: fix potential null dereference in rsi_probe()" ASoC: topology: fix soc_tplg_fe_link_create() - link->dobj initialization order mm/migrate.c: also overwrite error when it is bigger than zero perf report: Fix no libunwind compiled warning break s390 issue dm thin: fix use-after-free in metadata_pre_commit_callback flow_dissector: Fix to use new variables for port ranges in bpf hook cpuidle: teo: Avoid using "early hits" incorrectly btrfs: do not zero f_bavail if we have available space net: Fix skb->csum update in inet_proto_csum_replace16(). netfilter: nf_tables_offload: fix check the chain offload flag netfilter: conntrack: sctp: use distinct states for new SCTP connections l2t_seq_next should increase position index seq_tab_next() should increase position index net: fsl/fman: rename IF_MODE_XGMII to IF_MODE_10G net/fsl: treat fsl,erratum-a011043 powerpc/fsl/dts: add fsl,erratum-a011043 qlcnic: Fix CPU soft lockup while collecting firmware dump ARM: dts: am43x-epos-evm: set data pin directions for spi0 and spi1 r8152: disable DelayPhyPwrChg r8152: avoid the MCU to clear the lanwake r8152: disable test IO for RTL8153B r8152: Disable PLA MCU clock speed down r8152: disable U2P3 for RTL8153B r8152: get default setting of WOL before initializing tee: optee: Fix compilation issue with nommu led: max77650: add of_match table ARM: 8955/1: virt: Relax arch timer version check during early boot scsi: fnic: do not queue commands during fwreset Input: max77650-onkey - add of_match table xfrm: interface: do not confirm neighbor when do pmtu update xfrm interface: fix packet tx through bpf_redirect() vti[6]: fix packet tx through bpf_redirect() ARM: dts: am335x-boneblack-common: fix memory size Input: evdev - convert kzalloc()/vzalloc() to kvzalloc() iwlwifi: dbg: force stop the debug monitor HW iwlwifi: Don't ignore the cap field upon mcc update iwlwifi: pcie: allocate smaller dev_cmd for TX headers XArray: Fix xas_pause at ULONG_MAX riscv: delete temporary files perf/x86/intel/uncore: Remove PCIe3 unit for SNR perf/x86/intel/uncore: Add PCI ID of IMC for Xeon E3 V5 Family wireless: wext: avoid gcc -O3 warning mac80211: Fix TKIP replay protection immediately after key setup cfg80211: Fix radar event during another phy CAC wireless: fix enabling channel 12 for custom regulatory domain lkdtm/bugs: fix build error in lkdtm_UNSET_SMEP parisc: Use proper printk format for resource_size_t qmi_wwan: Add support for Quectel RM500Q ASoC: sti: fix possible sleep-in-atomic ASoC: hdac_hda: Fix error in driver removal after failed probe ASoC: SOF: Intel: fix HDA codec driver probe with multiple controllers platform/x86: intel_pmc_core: update Comet Lake platform driver platform/x86: GPD pocket fan: Allow somewhat lower/higher temperature limits iavf: remove current MAC address filter on VF reset igb: Fix SGMII SFP module discovery for 100FX/LX. ixgbe: Fix calculation of queue with VFs and flow director on interface flap ixgbevf: Remove limit of 10 entries for unicast filter list i40e: Fix virtchnl_queue_select bitmap validation s390/zcrypt: move ap device reset from bus to driver code ASoC: rt5640: Fix NULL dereference on module unload clk: mmp2: Fix the order of timer mux parents mac80211: mesh: restrict airtime metric to peered established plinks clk: sunxi-ng: h6-r: Fix AR100/R_APB2 parent order clk: sunxi-ng: sun8i-r: Fix divider on APB0 clock rseq: Unregister rseq for clone CLONE_VM tools lib traceevent: Fix memory leakage in filter_event soc: ti: wkup_m3_ipc: Fix race condition with rproc_boot ARM: dts: beagle-x15-common: Model 5V0 regulator ARM: dts: am57xx-beagle-x15/am57xx-idk: Remove "gpios" for endpoint dt nodes ARM: dts: sun8i: a83t: Correct USB3503 GPIOs polarity arm64: dts: meson-sm1-sei610: add gpio bluetooth interrupt clk: sunxi-ng: v3s: Fix incorrect number of hw_clks. cgroup: Prevent double killing of css when enabling threaded cgroup Bluetooth: Fix race condition in hci_release_sock() ttyprintk: fix a potential deadlock in interrupt context issue tomoyo: Use atomic_t for statistics counter media: dvb-usb/dvb-usb-urb.c: initialize actlen to 0 media: gspca: zero usb_buf media: vp7045: do not read uninitialized values if usb transfer fails media: af9005: uninitialized variable printked media: digitv: don't continue if remote control state can't be read reiserfs: Fix memory leak of journal device string mm/mempolicy.c: fix out of bounds write in mpol_parse_str() arm64: kbuild: remove compressed images on 'make ARCH=arm64 (dist)clean' tools lib: Fix builds when glibc contains strlcpy() PM / devfreq: Add new name attribute for sysfs perf c2c: Fix return type for histogram sorting comparision functions gfs2: Another gfs2_find_jhead fix e1000e: Revert "e1000e: Make watchdog use delayed work" e1000e: Drop unnecessary __E1000_DOWN bit twiddling x86/resctrl: Fix use-after-free due to inaccurate refcount of rdtgroup x86/resctrl: Fix use-after-free when deleting resource groups x86/resctrl: Fix a deadlock due to inaccurate reference cifs: fix soft mounts hanging in the reconnect code vfs: fix do_last() regression ANDROID: Incremental fs: Remove C++-style comments ANDROID: gki_defconfig: Set CONFIG_ANDROID_BINDERFS=y FROMLIST: selinux: Fix typo in filesystem name UPSTREAM: drm: Add DisplayPort colorspace property creation function UPSTREAM: drm: Rename HDMI colorspace property creation function ANDROID: db845c: Update db845c_gki.fragment to add support for bluetooth modules UPSTREAM: sched/rt: Make RT capacity-aware UPSTREAM: sched/fair: Make EAS wakeup placement consider uclamp restrictions UPSTREAM: sched/fair: Make task_fits_capacity() consider uclamp restrictions UPSTREAM: sched/uclamp: Rename uclamp_util_with() into uclamp_rq_util_with() UPSTREAM: sched/uclamp: Make uclamp util helpers use and return UL values BACKPORT: sched/uclamp: Remove uclamp_util() Revert "ANDROID: sched/fair: EAS: Add uclamp support to find_energy_efficient_cpu()" Linux 5.4.17 power/supply: ingenic-battery: Don't change scale if there's only one Revert "um: Enable CONFIG_CONSTRUCTORS" KVM: arm64: Write arch.mdcr_el2 changes since last vcpu_load on VHE crypto: pcrypt - Fix user-after-free on module unload crypto: caam - do not reset pointer size from MCFGR register crypto: vmx - reject xts inputs that are too short crypto: af_alg - Use bh_lock_sock in sk_destruct rsi: fix non-atomic allocation in completion handler rsi: fix memory leak on failed URB submission rsi: fix use-after-free on probe errors rsi: fix use-after-free on failed probe and unbind bus: ti-sysc: Fix missing force mstandby quirk handling Bluetooth: btbcm: Use the BDADDR_PROPERTY quirk Bluetooth: Allow combination of BDADDR_PROPERTY and INVALID_BDADDR quirks ALSA: hda/realtek - Move some alc236 pintbls to fallback table usb-storage: Disable UAS on JMicron SATA enclosure bus: ti-sysc: Add module enable quirk for audio AESS mmc: sdhci-pci: Add support for Intel JSL mmc: sdhci-pci: Quirk for AMD SDHC Device 0x7906 ARM: OMAP2+: SmartReflex: add omap_sr_pdata definition ARM: config: aspeed-g5: Enable 8250_DW quirks mfd: intel-lpss: Add Intel Comet Lake PCH-H PCI IDs perf/imx_ddr: Add enhanced AXI ID filter support iommu/amd: Support multiple PCI DMA aliases in IRQ Remapping iommu/amd: Support multiple PCI DMA aliases in device table spi: pxa2xx: Add support for Intel Comet Lake-H bus: ti-sysc: Use swsup quirks also for am335x musb bus: ti-sysc: Handle mstandby quirk and use it for musb media: dvbsky: add support for eyeTV Geniatech T2 lite PCI: Add DMA alias quirk for Intel VCA NTB platform/x86: dell-laptop: disable kbd backlight on Inspiron 10xx staging: mt7621-pci: add quirks for 'E2' revision using 'soc_device_attribute' libbpf: Fix BTF-defined map's __type macro handling of arrays drm/amdgpu/SRIOV: add navi12 pci id for SRIOV (v2) ASoC: Intel: cht_bsw_rt5645: Add quirk for boards using pmc_plt_clk_0 extcon-intel-cht-wc: Don't reset USB data connection at probe HID: steam: Fix input device disappearing atm: eni: fix uninitialized variable warning stmmac: debugfs entry name is not be changed when udev rename device name. drm/amd/display: Reduce HDMI pixel encoding if max clock is exceeded iommu/dma: fix variable 'cookie' set but not used gpio: max77620: Add missing dependency on GPIOLIB_IRQCHIP net: wan: sdla: Fix cast from pointer to integer of different size drivers/net/b44: Change to non-atomic bit operations on pwol_mask net: Google gve: Remove dma_wmb() before ringing doorbell spi: spi-dw: Add lock protect dw_spi rx/tx to prevent concurrent calls can: tcan4x5x: tcan4x5x_parse_config(): reset device before register access usb: musb: jz4740: Silence error if code is -EPROBE_DEFER watchdog: orion: fix platform_get_irq() complaints watchdog: rn5t618_wdt: fix module aliases watchdog: max77620_wdt: fix potential build errors HID: intel-ish-hid: ipc: Add Tiger Lake PCI device ID phy: cpcap-usb: Prevent USB line glitches from waking up modem ASoC: topology: Prevent use-after-free in snd_soc_get_pcm_runtime() ASoC: fsl_audmix: add missed pm_runtime_disable phy: qcom-qmp: Increase PHY ready timeout drivers/hid/hid-multitouch.c: fix a possible null pointer access. ASoC: SOF: Intel: hda: hda-dai: fix oops on hda_link .hw_free ASoC: SOF: fix fault at driver unload after failed probe HID: wacom: Recognize new MobileStudio Pro PID HID: intel-ish-hid: ipc: add CMP device id HID: Add quirk for incorrect input length on Lenovo Y720 HID: asus: Ignore Asus vendor-page usage-code 0xff events HID: ite: Add USB id match for Acer SW5-012 keyboard dock HID: Add quirk for Xin-Mo Dual Controller arc: eznps: fix allmodconfig kconfig warning HID: multitouch: Add LG MELF0410 I2C touchscreen support rxrpc: Fix use-after-free in rxrpc_receive_data() net: include struct nhmsg size in nh nlmsg size mlxsw: minimal: Fix an error handling path in 'mlxsw_m_port_create()' udp: segment looped gso packets correctly net: socionext: fix xdp_result initialization in netsec_process_rx net: socionext: fix possible user-after-free in netsec_process_rx net_sched: walk through all child classes in tc_bind_tclass() net_sched: fix ops->bind_class() implementations net_sched: ematch: reject invalid TCF_EM_SIMPLE zd1211rw: fix storage endpoint lookup rtl8xxxu: fix interface sanity check brcmfmac: fix interface sanity check ath9k: fix storage endpoint lookup cifs: Fix memory allocation in __smb2_handle_cancelled_cmd() cifs: set correct max-buffer-size for smb2_ioctl_init() CIFS: Fix task struct use-after-free on reconnect crypto: chelsio - fix writing tfm flags to wrong place driver core: Fix test_async_driver_probe if NUMA is disabled iio: st_gyro: Correct data for LSM9DS0 gyro iio: adc: stm32-dfsdm: fix single conversion mei: me: add comet point (lake) H device ids mei: hdcp: bind only with i915 on the same PCH binder: fix log spam for existing debugfs file creation. component: do not dereference opaque pointer in debugfs debugfs: Return -EPERM when locked down serial: imx: fix a race condition in receive path serial: 8250_bcm2835aux: Fix line mismatch on driver unbind staging: vt6656: Fix false Tx excessive retries reporting. staging: vt6656: use NULLFUCTION stack on mac80211 staging: vt6656: correct packet types for CTS protect, mode. staging: wlan-ng: ensure error return is actually returned staging: most: net: fix buffer overflow usb: typec: fusb302: fix "op-sink-microwatt" default that was in mW usb: typec: wcove: fix "op-sink-microwatt" default that was in mW usb: dwc3: turn off VBUS when leaving host mode USB: serial: ir-usb: fix IrLAP framing USB: serial: ir-usb: fix link-speed handling USB: serial: ir-usb: add missing endpoint sanity check usb: host: xhci-tegra: set MODULE_FIRMWARE for tegra186 usb: dwc3: pci: add ID for the Intel Comet Lake -V variant rsi_91x_usb: fix interface sanity check orinoco_usb: fix interface sanity check Bluetooth: btusb: fix non-atomic allocation in completion handler ANDROID: scsi: ufs: fix collision between CRYPTO and RPM_AUTOSUSPEND bits ANDROID: gki: Removed cf modules from gki_defconfig ANDROID: Remove default y for VIRTIO_PCI_LEGACY ANDROID: gki_defconfig: enabled INTERCONNECT ANDROID: gki_defconfig: Remove SND_8X0 ANDROID: gki: Fixed some typos in Kconfig.gki ANDROID: gki_defconfig: Enable req modules in GKI ANDROID: modularize BLK_MQ_VIRTIO ANDROID: kallsyms: strip hashes from static functions with ThinLTO and CFI ANDROID: Incremental fs: Remove unneeded compatibility typedef ANDROID: Incremental fs: Enable incrementalfs in GKI ANDROID: Incremental fs: Fix sparse errors ANDROID: Fixing incremental fs style issues ANDROID: Make incfs selftests pass ANDROID: Initial commit of Incremental FS Linux 5.4.16 net/x25: fix nonblocking connect netfilter: nf_tables: autoload modules from the abort path netfilter: nf_tables: add __nft_chain_type_get() netfilter: ipset: use bitmap infrastructure completely media: v4l2-ioctl.c: zero reserved fields for S/TRY_FMT libertas: Fix two buffer overflows at parsing bss descriptor net/sonic: Prevent tx watchdog timeout net/sonic: Fix CAM initialization net/sonic: Fix command register usage net/sonic: Quiesce SONIC before re-initializing descriptor memory net/sonic: Fix receive buffer replenishment net/sonic: Improve receive descriptor status flag check net/sonic: Avoid needless receive descriptor EOL flag updates net/sonic: Fix receive buffer handling net/sonic: Fix interface error stats collection net/sonic: Use MMIO accessors net/sonic: Clear interrupt flags immediately net/sonic: Add mutual exclusion for accessing shared state readdir: be more conservative with directory entry names do_last(): fetch directory ->i_mode and ->i_uid before it's too late net, sk_msg: Don't check if sock is locked when tearing down psock xfrm: support output_mark for offload ESP packets drm/i915/userptr: fix size calculation iwlwifi: mvm: fix potential SKB leak on TXQ TX iwlwifi: mvm: fix SKB leak on invalid queue tracing: xen: Ordered comparison of function pointers scsi: RDMA/isert: Fix a recently introduced regression related to logout hwmon: (nct7802) Fix non-working alarm on voltages hwmon: (nct7802) Fix voltage limits to wrong registers hsr: Fix a compilation error leds: gpio: Fix uninitialized gpio label for fwnode based probe readdir: make user_access_begin() use the real access range iommu/amd: Fix IOMMU perf counter clobbering during init lib: Reduce user_access_begin() boundaries in strncpy_from_user() and strnlen_user() netfilter: nft_osf: add missing check for DREG attribute Input: sun4i-ts - add a check for devm_thermal_zone_of_sensor_register Input: pegasus_notetaker - fix endpoint sanity check Input: aiptek - fix endpoint sanity check Input: gtco - fix endpoint sanity check Input: sur40 - fix interface sanity checks Input: pm8xxx-vib - fix handling of separate enable register net/tls: fix async operation mlxsw: switchx2: Do not modify cloned SKBs during xmit mmc: sdhci_am654: Reset Command and Data line after tuning mmc: sdhci_am654: Remove Inverted Write Protect flag mmc: sdhci: fix minimum clock rate for v3 controller mmc: tegra: fix SDR50 tuning override ARM: 8950/1: ftrace/recordmcount: filter relocation types Revert "Input: synaptics-rmi4 - don't increment rmiaddr for SMBus transfers" Input: keyspan-remote - fix control-message timeouts iommu/vt-d: Call __dmar_remove_one_dev_info with valid pointer pinctrl: sunrisepoint: Add missing Interrupt Status register offset XArray: Fix xas_find returning too many entries XArray: Fix xa_find_after with multi-index entries XArray: Fix infinite loop with entry at ULONG_MAX iwlwifi: mvm: don't send the IWL_MVM_RXQ_NSSN_SYNC notif to Rx queues Revert "iwlwifi: mvm: fix scan config command size" powerpc/xive: Discard ESB load value when interrupt is invalid powerpc/mm/hash: Fix sharing context ids between kernel & userspace tracing: Fix histogram code when expression has same var as value tracing: Do not set trace clock if tracefs lockdown is in effect tracing/uprobe: Fix double perf_event linking on multiprobe uprobe tracing: trigger: Replace unneeded RCU-list traversals PM: hibernate: fix crashes with init_on_free=1 drm/i915: Align engine->uabi_class/instance with i915_drm.h drm/panfrost: Add the panfrost_gem_mapping concept PCI: Mark AMD Navi14 GPU rev 0xc5 ATS as broken ceph: hold extra reference to r_parent over life of request hwmon: (core) Do not use device managed functions for memory allocations hwmon: (adt7475) Make volt2reg return same reg as reg2volt input afs: Fix characters allowed into cell names Revert "io_uring: only allow submit from owning task" ipv4: Detect rollover in specific fib table dump net/mlx5e: kTLS, Do not send decrypted-marked SKBs via non-accel path net/mlx5e: kTLS, Remove redundant posts in TX resync flow net/mlx5e: kTLS, Fix corner-case checks in TX resync flow net/mlx5: DR, use non preemptible call to get the current cpu number net/mlx5: E-Switch, Prevent ingress rate configuration of uplink rep net/mlx5: DR, Enable counter on non-fwd-dest objects net/mlx5: Update the list of the PCI supported devices net/mlx5: Fix lowest FDB pool size net: Fix packet reordering caused by GRO and listified RX cooperation fou: Fix IPv6 netlink policy mlxsw: spectrum_acl: Fix use-after-free during reload airo: Add missing CAP_NET_ADMIN check in AIROOLDIOCTL/SIOCDEVPRIVATE airo: Fix possible info leak in AIROOLDIOCTL/SIOCDEVPRIVATE tun: add mutex_unlock() call and napi.skb clearing in tun_get_user() tcp: do not leave dangling pointers in tp->highest_sack tcp_bbr: improve arithmetic division in bbr_update_bw() Revert "udp: do rmem bulk free even if the rx sk queue is empty" net: usb: lan78xx: Add .ndo_features_check net-sysfs: Fix reference count leak net_sched: use validated TCA_KIND attribute in tc_new_tfilter() net_sched: fix datalen for ematch net: rtnetlink: validate IFLA_MTU attribute in rtnl_create_link() net, ip_tunnel: fix namespaces move net, ip6_tunnel: fix namespaces move net: ip6_gre: fix moving ip6gre between namespaces net: cxgb3_main: Add CAP_NET_ADMIN check to CHELSIO_GET_MEM net: bcmgenet: Use netif_tx_napi_add() for TX NAPI ipv6: sr: remove SKB_GSO_IPXIP6 on End.D* actions gtp: make sure only SOCK_DGRAM UDP sockets are accepted firestream: fix memory leaks can, slip: Protect tty->disc_data in write_wakeup and close with RCU ANDROID: gki_defconfig: Set IKHEADERS back to =y ANDROID: gki_defconfig: Enable CONFIG_BTT f2fs: fix race conditions in ->d_compare() and ->d_hash() f2fs: fix dcache lookup of !casefolded directories f2fs: Add f2fs stats to sysfs f2fs: delete duplicate information on sysfs nodes f2fs: change to use rwsem for gc_mutex f2fs: update f2fs document regarding to fsync_mode f2fs: add a way to turn off ipu bio cache f2fs: code cleanup for f2fs_statfs_project() f2fs: fix miscounted block limit in f2fs_statfs_project() f2fs: show the CP_PAUSE reason in checkpoint traces f2fs: fix deadlock allocating bio_post_read_ctx from mempool f2fs: remove unneeded check for error allocating bio_post_read_ctx f2fs: convert inline_dir early before starting rename f2fs: fix memleak of kobject f2fs: fix to add swap extent correctly f2fs: run fsck when getting bad inode during GC f2fs: support data compression f2fs: free sysfs kobject f2fs: declare nested quota_sem and remove unnecessary sems f2fs: don't put new_page twice in f2fs_rename f2fs: set I_LINKABLE early to avoid wrong access by vfs f2fs: don't keep META_MAPPING pages used for moving verity file blocks f2fs: introduce private bioset f2fs: cleanup duplicate stats for atomic files f2fs: Check write pointer consistency of non-open zones f2fs: Check write pointer consistency of open zones f2fs: set GFP_NOFS when moving inline dentries f2fs: should avoid recursive filesystem ops f2fs: keep quota data on write_begin failure f2fs: call f2fs_balance_fs outside of locked page f2fs: preallocate DIO blocks when forcing buffered_io FROMGIT: ext4: Add EXT4_IOC_FSGETXATTR/EXT4_IOC_FSSETXATTR to compat_ioctl. ANDROID: gki_defconfig: Set IKHEADERS back to =m ANDROID: gki_defconfig: enable NVDIMM/PMEM options Linux 5.4.15 optee: Fix multi page dynamic shm pool alloc phy/rockchip: inno-hdmi: round clock rate down to closest 1000 Hz gpio: aspeed: avoid return type warning net-sysfs: Call dev_hold always in netdev_queue_add_kobject s390/qeth: fix dangling IO buffers after halt/clear block: fix memleak of bio integrity data platform/chrome: wilco_ec: fix use after free issue xdp: Fix cleanup on map free for devmap_hash map type drm/radeon: fix bad DMA from INTERRUPT_CNTL2 dmaengine: ti: edma: fix missed failure handling afs: Remove set but not used variables 'before', 'after' dma-direct: don't check swiotlb=force in dma_direct_map_resource mt76: mt76u: rely on usb_interface instead of usb_dev sched/cpufreq: Move the cfs_rq_util_change() call to cpufreq_update_util() SUNRPC: Fix another issue with MIC buffer space workqueue: Add RCU annotation for pwq list walk tee: optee: fix device enumeration error handling tee: optee: Fix dynamic shm pool allocations mmc: core: fix wl1251 sdio quirks mmc: sdio: fix wl1251 vendor id firmware: arm_scmi: Fix doorbell ring logic for !CONFIG_64BIT kselftests: cgroup: Avoid the reuse of fd after it is deallocated i2c: stm32f7: report dma error during probe packet: fix data-race in fanout_flow_is_huge() rtc: bd70528: fix module alias to autoload module selftests: gen_kselftest_tar.sh: Do not clobber kselftest/ net: axienet: Fix error return code in axienet_probe() net: neigh: use long type to store jiffies delta rt2800: remove errornous duplicate condition hv_netvsc: flag software created hash value net: openvswitch: don't unlock mutex when changing the user_features fails scsi: ufs: delete redundant function ufshcd_def_desc_sizes() dpaa_eth: avoid timestamp read on error paths dpaa_eth: perform DMA unmapping before read rcu: Fix uninitialized variable in nocb_gp_wait() libbpf: Don't use kernel-side u32 type in xsk.c firmware: imx: Remove call to devm_of_platform_populate power: supply: bd70528: Add MODULE_ALIAS to allow module auto loading drm/amdgpu/vi: silence an uninitialized variable warning regulator: bd70528: Add MODULE_ALIAS to allow module auto loading pwm: sun4i: Fix incorrect calculation of duty_cycle/period ACPI: platform: Unregister stale platform devices net: netsec: Correct dma sync for XDP_TX frames drm: rcar_lvds: Fix color mismatches on R-Car H2 ES2.0 and later PCI: mobiveil: Fix csr_read()/write() build issue software node: Get reference to parent swnode in get_parent op drm/rockchip: Round up _before_ giving to the clock framework dpaa2-eth: Fix minor bug in ethtool stats reporting hwrng: omap3-rom - Fix missing clock by probing with device tree drm/amdgpu: remove excess function parameter description drm: panel-lvds: Potential Oops in probe error handling drm/panfrost: Add missing check for pfdev->regulator rtw88: fix error handling when setup efuse info rtw88: fix beaconing mode rsvd_page memory violation issue gpiolib: No need to call gpiochip_remove_pin_ranges() twice sched/core: Further clarify sched_class::set_next_task() ipmi: Fix memory leak in __ipmi_bmc_register watchdog: sprd: Fix the incorrect pointer getting from driver data soc: aspeed: Fix snoop_file_poll()'s return type soc: renesas: Add missing check for non-zero product register address soc: qcom: llcc: Name regmaps to avoid collisions soc/tegra: pmc: Fix crashes for hierarchical interrupts leds: tlc591xx: update the maximum brightness perf map: No need to adjust the long name of modules crypto: sun4i-ss - fix big endian issues crypto: amcc - restore CRYPTO_AES dependency nfsd: depend on CRYPTO_MD5 for legacy client tracking s390/pkey: fix memory leak within _copy_apqns_from_user() ice: fix stack leakage mt7601u: fix bbp version check in mt7601u_wait_bbp_ready mt76: mt76u: fix endpoint definition order phy: ti: gmii-sel: fix mac tx internal delay for rgmii-rxid net: phy: broadcom: Fix RGMII delays configuration for BCM54210E phy: lantiq: vrx200-pcie: fix error return code in ltq_vrx200_pcie_phy_power_on() net/mlx5e: Fix free peer_flow when refcount is 0 tipc: fix wrong timeout input for tipc_wait_for_cond() tipc: fix wrong socket reference counter after tipc_sk_timeout() returns tipc: fix potential memory leak in __tipc_sendmsg() tipc: update mon's self addr when node addr generated tipc: reduce sensitive to retransmit failures powerpc/archrandom: fix arch_get_random_seed_int() powerpc/kasan: Fix boot failure with RELOCATABLE && FSL_BOOKE powerpc/pseries: Enable support for ibm,drc-info property powerpc/security: Fix debugfs data leak on 32-bit SUNRPC: Fix backchannel latency metrics SUNRPC: Fix svcauth_gss_proxy_init() mfd: intel-lpss: Add default I2C device properties for Gemini Lake i2c: i2c-stm32f7: fix 10-bits check in slave free id search loop i2c: stm32f7: rework slave_id allocation xfs: Sanity check flags of Q_XQUOTARM call ARM: OMAP2+: Add missing put_device() call in omapdss_init_of() ARM: dts: logicpd-torpedo-37xx-devkit-28: Reference new DRM panel samples/bpf: Fix broken xdp_rxq_info due to map order assumptions samples: bpf: update map definition to new syntax BTF-defined map bpf: Force .BTF section start to zero when dumping from vmlinux libbpf: Make btf__resolve_size logic always check size error condition libbpf: Fix another potential overflow issue in bpf_prog_linfo libbpf: Fix potential overflow issue libbpf: Fix memory leak/double free issue libbpf: Fix compatibility for kernels without need_wakeup drm/i915: Fix pid leak with banned clients ANDROID: update ABI following inline crypto changes ANDROID: gki_defconfig: enable dm-default-key ANDROID: dm: add dm-default-key target for metadata encryption ANDROID: dm: enable may_passthrough_inline_crypto on some targets ANDROID: dm: add support for passing through inline crypto support ANDROID: block: Introduce passthrough keyslot manager ANDROID: ext4, f2fs: enable direct I/O with inline encryption FROMLIST: scsi: ufs: add program_key() variant op ANDROID: block: export symbols needed for modules to use inline crypto ANDROID: block: fix some inline crypto bugs UPSTREAM: mm/page_io.c: annotate refault stalls from swap_readpage FROMLIST: security: selinux: allow per-file labelling for binderfs Revert "ANDROID: security,perf: Allow further restriction of perf_event_open" ANDROID: selinux: modify RTM_GETLINK permission BACKPORT: tracing: Remove unnecessary DEBUG_FS dependency BACKPORT: debugfs: Fix !DEBUG_FS debugfs_create_automount Linux 5.4.14 scsi: lpfc: use hdwq assigned cpu for allocation perf script: Fix --reltime with --time hwmon: (pmbus/ibm-cffps) Fix LED blink behavior hwmon: (pmbus/ibm-cffps) Switch LEDs to blocking brightness call regulator: ab8500: Remove SYSCLKREQ from enum ab8505_regulator_id clk: imx7ulp: Correct DDR clock mux options clk: imx7ulp: Correct system clock source option #7 clk: sprd: Use IS_ERR() to validate the return value of syscon_regmap_lookup_by_phandle() perf script: Allow --time with --reltime perf probe: Fix wrong address verification rtw88: fix potential read outside array boundary scsi: lpfc: Fix a kernel warning triggered by lpfc_get_sgl_per_hdwq() scsi: lpfc: Fix hdwq sgl locks and irq handling scsi: lpfc: Fix list corruption detected in lpfc_put_sgl_per_hdwq scsi: core: scsi_trace: Use get_unaligned_be*() scsi: qla2xxx: fix rports not being mark as lost in sync fabric scan scsi: qla2xxx: Fix qla2x00_request_irqs() for MSI scsi: scsi_transport_sas: Fix memory leak when removing devices scsi: hisi_sas: Return directly if init hardware failed scsi: lpfc: fix: Coverity: lpfc_get_scsi_buf_s3(): Null pointer dereferences scsi: target: core: Fix a pr_debug() argument scsi: bnx2i: fix potential use after free scsi: qla4xxx: fix double free bug scsi: hisi_sas: Set the BIST init value before enabling BIST scsi: hisi_sas: Don't create debugfs dump folder twice scsi: esas2r: unlock on error in esas2r_nvram_read_direct() reiserfs: fix handling of -EOPNOTSUPP in reiserfs_for_each_xattr um: virtio_uml: Disallow modular build um: Don't trace irqflags during shutdown mtd: cfi_cmdset_0002: fix delayed error detection on HyperFlash mtd: cfi_cmdset_0002: only check errors when ready in cfi_check_err_status() mtd: devices: fix mchp23k256 read and write Revert "arm64: dts: juno: add dma-ranges property" ARM: dts: Fix sgx sysconfig register for omap4 arm64: dts: juno: Fix UART frequency ARM: dts: dra7: fix cpsw mdio fck clock arm64: dts: allwinner: a64: Re-add PMU node ARM: dts: imx6ul-kontron-n6310-s: Disable the snvs-poweroff driver arm64: dts: qcom: sdm845-cheza: delete zap-shader arm64: dts: imx8mm-evk: Assigned clocks for audio plls arm64: dts: renesas: r8a774a1: Remove audio port node arm64: dts: marvell: Fix CP110 NAND controller node multi-line comment alignment tick/sched: Annotate lockless access to last_jiffies_update cfg80211: check for set_wiphy_params arm64: dts: marvell: Add AP806-dual missing CPU clocks arm64: dts: renesas: r8a77970: Fix PWM3 arm64: dts: meson-gxl-s905x-khadas-vim: fix gpio-keys-polled node arm64: dts: meson: g12: fix audio fifo reg size arm64: dts: meson: axg: fix audio fifo reg size cw1200: Fix a signedness bug in cw1200_load_firmware() arm64: dts: qcom: msm8998: Disable coresight by default irqchip: Place CONFIG_SIFIVE_PLIC into the menu tcp: refine rule to allow EPOLLOUT generation under mem pressure dt-bindings: Add missing 'properties' keyword enclosing 'snps,tso' xen/blkfront: Adjust indentation in xlvbd_alloc_gendisk devlink: Wait longer before warning about unset port type net: stmmac: tc: Do not setup flower filtering if RSS is enabled net: stmmac: selftests: Update status when disabling RSS selftests: mlxsw: qos_mc_aware: Fix mausezahn invocation net: stmmac: selftests: Mark as fail when received VLAN ID != expected net: stmmac: selftests: Make it work in Synopsys AXS101 boards mlxsw: spectrum_qdisc: Include MC TCs in Qdisc counters mlxsw: spectrum: Wipe xstats.backlog of down ports mlxsw: spectrum: Do not modify cloned SKBs during xmit sh_eth: check sh_eth_cpu_data::dual_port when dumping registers drm/amdgpu: allow direct upload save restore list for raven2 i40e: prevent memory leak in i40e_setup_macvlans net: dsa: bcm_sf2: Configure IMP port for 2Gb/sec net: sched: act_ctinfo: fix memory leak net: dsa: tag_gswip: fix typo in tagger name net: dsa: sja1105: Don't error out on disabled ports with no phy-mode net: systemport: Fixed queue mapping in internal ring map net: ethernet: ave: Avoid lockdep warning bnxt_en: Do not treat DSN (Digital Serial Number) read failure as fatal. bnxt_en: Fix ipv6 RFS filter matching logic. bnxt_en: Fix NTUPLE firmware command failures. tcp: fix marked lost packets not being retransmitted r8152: add missing endpoint sanity check ptp: free ptp device pin descriptors properly net/wan/fsl_ucc_hdlc: fix out of bounds write on array utdm_info net: usb: lan78xx: limit size of local TSO packets net/sched: act_ife: initalize ife->metalist earlier net: phy: dp83867: Set FORCE_LINK_GOOD to default after reset net: hns: fix soft lockup when there is not enough memory net: hns3: pad the short frame before sending to the hardware net: dsa: tag_qca: fix doubled Tx statistics net: avoid updating qdisc_xmit_lock_key in netdev_update_lockdep_key() hv_netvsc: Fix memory leak when removing rndis device macvlan: use skb_reset_mac_header() in macvlan_queue_xmit() batman-adv: Fix DAT candidate selection on little endian systems bpftool: Fix printing incorrect pointer in btf_dump_ptr net: bpf: Don't leak time wait and request sockets NFC: pn533: fix bulk-message timeout netfilter: nf_tables: fix flowtable list del corruption netfilter: nf_tables: store transaction list locally while requesting module netfilter: nf_tables: remove WARN and add NLA_STRING upper limits netfilter: nft_tunnel: ERSPAN_VERSION must not be null netfilter: nft_tunnel: fix null-attribute check netfilter: nat: fix ICMP header corruption on ICMP errors netfilter: arp_tables: init netns pointer in xt_tgdtor_param struct netfilter: fix a use-after-free in mtype_destroy() i2c: iop3xx: Fix memory leak in probe error path bpf/sockmap: Read psock ingress_msg before sk_receive_queue cfg80211: fix page refcount issue in A-MSDU decap cfg80211: fix memory leak in cfg80211_cqm_rssi_update cfg80211: fix memory leak in nl80211_probe_mesh_link cfg80211: fix deadlocks in autodisconnect work i2c: tegra: Properly disable runtime PM on driver's probe error i2c: tegra: Fix suspending in active runtime PM state bpf: Sockmap/tls, fix pop data with SK_DROP return code bpf: Sockmap/tls, skmsg can have wrapped skmsg that needs extra chaining bpf: Sockmap/tls, tls_sw can create a plaintext buf > encrypt buf bpf: Sockmap/tls, msg_push_data may leave end mark in place bpf: Sockmap, skmsg helper overestimates push, pull, and pop bounds bpf: Sockmap/tls, push write_space updates through ulp updates bpf: Sockmap, ensure sock lock held during tear down bpf: Sockmap/tls, during free we may call tcp_bpf_unhash() in loop bpf: Fix incorrect verifier simulation of ARSH under ALU32 drm/amd/display: Reorder detect_edp_sink_caps before link settings read. block: Fix the type of 'sts' in bsg_queue_rq() net: fix kernel-doc warning in <linux/netdevice.h> tipc: fix retrans failure due to wrong destination tipc: fix potential hanging after b/rcast changing reset: Fix {of,devm}_reset_control_array_get kerneldoc return types net: stmmac: Enable 16KB buffer size net: stmmac: 16KB buffer must be 16 byte aligned ARM: dts: imx7: Fix Toradex Colibri iMX7S 256MB NAND flash support ARM: dts: imx6q-icore-mipi: Use 1.5 version of i.Core MX6DL ARM: dts: imx6sll-evk: Remove incorrect power supply assignment ARM: dts: imx6sl-evk: Remove incorrect power supply assignment ARM: dts: imx6sx-sdb: Remove incorrect power supply assignment ARM: dts: imx6qdl-sabresd: Remove incorrect power supply assignment mm: khugepaged: add trace status description for SCAN_PAGE_HAS_PRIVATE mm/page-writeback.c: avoid potential division by zero in wb_min_max_ratio() mm/memory_hotplug: don't free usage map when removing a re-added early section Btrfs: always copy scrub arguments back to user space btrfs: check rw_devices, not num_devices for balance btrfs: fix memory leak in qgroup accounting btrfs: relocation: fix reloc_root lifespan and access btrfs: do not delete mismatched root refs btrfs: fix invalid removal of root ref btrfs: rework arguments of btrfs_unlink_subvol mm, debug_pagealloc: don't rely on static keys too early mm: memcg/slab: call flush_memcg_workqueue() only if memcg workqueue is valid mm: memcg/slab: fix percpu slab vmstats flushing mm/huge_memory.c: thp: fix conflict of above-47bit hint address and PMD alignment mm/shmem.c: thp, shmem: fix conflict of above-47bit hint address and PMD alignment perf report: Fix incorrectly added dimensions as switch perf data file locking/lockdep: Fix buffer overrun problem in stack_trace[] perf hists: Fix variable name's inconsistency in hists__for_each() macro clk: samsung: exynos5420: Keep top G3D clocks enabled s390/setup: Fix secure ipl message efi/earlycon: Fix write-combine mapping on x86 x86/resctrl: Fix potential memory leak drm/i915: Add missing include file <linux/math64.h> mtd: spi-nor: Fix selection of 4-byte addressing opcodes on Spansion scsi: storvsc: Correctly set number of hardware queues for IDE disk s390/zcrypt: Fix CCA cipher key gen with clear key value function x86/efistub: Disable paging at mixed mode entry perf/x86/intel/uncore: Fix missing marker for snr_uncore_imc_freerunning_events locking/rwsem: Fix kernel crash when spinning on RWSEM_OWNER_UNKNOWN x86/CPU/AMD: Ensure clearing of SME/SEV features is maintained x86/resctrl: Fix an imbalance in domain_remove_cpu() cpu/SMT: Fix x86 link error without CONFIG_SYSFS usb: core: hub: Improved device recognition on remote wakeup mtd: rawnand: gpmi: Restore nfc timing setup after suspend/resume mtd: rawnand: gpmi: Fix suspend/resume problem ptrace: reintroduce usage of subjective credentials in ptrace_has_cap() scsi: mptfusion: Fix double fetch bug in ioctl scsi: fnic: fix invalid stack access staging: comedi: ni_routes: allow partial routing information staging: comedi: ni_routes: fix null dereference in ni_find_route_source() USB: serial: quatech2: handle unbound ports USB: serial: keyspan: handle unbound ports USB: serial: io_edgeport: add missing active-port sanity check USB: serial: io_edgeport: handle unbound ports on URB completion USB: serial: ch341: handle unbound port at reset_resume USB: serial: suppress driver bind attributes USB: serial: option: add support for Quectel RM500Q in QDL mode USB: serial: opticon: fix control-message timeouts USB: serial: option: Add support for Quectel RM500Q USB: serial: simple: Add Motorola Solutions TETRA MTP3xxx and MTP85xx iio: buffer: align the size of scan bytes to size of the largest element iio: chemical: pms7003: fix unmet triggered buffer dependency iio: light: vcnl4000: Fix scale for vcnl4040 iio: imu: st_lsm6dsx: Fix selection of ST_LSM6DS3_ID iio: adc: ad7124: Fix DT channel configuration perf: Correctly handle failed perf_get_aux_event() ARM: davinci: select CONFIG_RESET_CONTROLLER ARM: dts: am571x-idk: Fix gpios property to have the correct gpio number cpuidle: teo: Fix intervals[] array indexing bug io_uring: only allow submit from owning task fuse: fix fuse_send_readpages() in the syncronous read case block: fix an integer overflow in logical block size clk: sunxi-ng: r40: Allow setting parent rate for external clock outputs Fix built-in early-load Intel microcode alignment arm64: dts: agilex/stratix10: fix pmu interrupt numbers arm64: dts: allwinner: a64: olinuxino: Fix eMMC supply regulator arm64: dts: allwinner: a64: olinuxino: Fix SDIO supply regulator ALSA: usb-audio: fix sync-ep altsetting sanity check ALSA: firewire-tascam: fix corruption due to spin lock without restoration in SoftIRQ context ALSA: seq: Fix racy access for queue timer in proc read ALSA: dice: fix fallback from protocol extension into limited functionality ASoC: Intel: bytcht_es8316: Fix Irbis NB41 netbook quirk ARM: dts: imx6q-dhcom: Fix SGTL5000 VDDIO regulator connection ARM: dts: imx7ulp: fix reg of cpu node ARM: OMAP2+: Fix ti_sysc_find_one_clockdomain to check for to_clk_hw_omap ASoC: msm8916-wcd-analog: Fix MIC BIAS Internal1 ASoC: msm8916-wcd-analog: Fix selected events for MIC BIAS External1 ASoC: stm32: dfsdm: fix 16 bits record ASoC: stm32: sai: fix possible circular locking ASoC: msm8916-wcd-digital: Reset RX interpolation path after use arm64: dts: imx8mq-librem5-devkit: use correct interrupt for the magnetometer Revert "gpio: thunderx: Switch to GPIOLIB_IRQCHIP" clk: Don't try to enable critical clocks if prepare failed bus: ti-sysc: Fix iterating over clocks arm64: dts: imx8mm: Change SDMA1 ahb clock for imx8mm arm64: dts: ls1028a: fix endian setting for dcfg ARM: dts: imx6q-dhcom: fix rtc compatible dt-bindings: reset: meson8b: fix duplicate reset IDs soc: amlogic: meson-ee-pwrc: propagate errors from pm_genpd_init() soc: amlogic: meson-ee-pwrc: propagate PD provider registration errors clk: qcom: gcc-sdm845: Add missing flag to votable GDSCs ARM: dts: meson8: fix the size of the PMU registers ANDROID: gki: Make GKI specific modules builtins ANDROID: virtio-net: Skip set_features on non-cvq devices ANDROID: fscrypt: add support for hardware-wrapped keys ANDROID: block: add KSM op to derive software secret from wrapped key ANDROID: block: provide key size as input to inline crypto APIs ANDROID: ufshcd-crypto: export cap find API ANDROID: build config for cuttlefish ramdisk ANDROID: x86: gki_defconfig: enable LTO and CFI ANDROID: x86: map CFI jump tables in pti_clone_entry_text ANDROID: x86, module: Ignore __typeid__ relocations ANDROID: x86, relocs: Ignore __typeid__ relocations ANDROID: x86/alternatives: Use C int3 selftest but disable KASAN ANDROID: x86/extable: Do not mark exception callback as CFI ANDROID: x86, build: allow LTO_CLANG and THINLTO to be selected ANDROID: x86: disable UNWINDER_ORC with LTO_CLANG ANDROID: x86: disable STACK_VALIDATION with LTO_CLANG ANDROID: x86: disable HAVE_ARCH_PREL32_RELOCATIONS with LTO_CLANG ANDROID: x86/vdso: disable LTO only for VDSO FROMLIST: crypto, x86/sha: Eliminate casts on asm implementations UPSTREAM: x86/vmlinux: Actually use _etext for the end of the text segment Linux 5.4.13 ocfs2: call journal flush to mark journal as empty after journal recovery when mount hexagon: work around compiler crash hexagon: parenthesize registers in asm predicates kbuild/deb-pkg: annotate libelf-dev dependency as :native media: intel-ipu3: Align struct ipu3_uapi_awb_fr_config_s to 32 bytes drm/amdgpu: enable gfxoff for raven1 refresh ioat: ioat_alloc_ring() failure handling. s390/qeth: lock the card while changing its hsuid dmaengine: k3dma: Avoid null pointer traversal rxrpc: Fix missing security check on incoming calls rxrpc: Don't take call->user_mutex in rxrpc_new_incoming_call() rxrpc: Unlock new call in rxrpc_new_incoming_call() rather than the caller drm/arm/mali: make malidp_mw_connector_helper_funcs static MIPS: Prevent link failure with kcov instrumentation tomoyo: Suppress RCU warning at list_for_each_entry_rcu(). mips: Fix gettimeofday() in the vdso library mips: cacheinfo: report shared CPU map riscv: export flush_icache_all to modules rseq/selftests: Turn off timeout setting selftests: firmware: Fix it to do root uid check and skip scsi: target/iblock: Fix protection error with blocks greater than 512B scsi: libcxgbi: fix NULL pointer dereference in cxgbi_device_destroy() gpio: mpc8xxx: Add platform device to gpiochip->parent rtc: bd70528: Add MODULE ALIAS to autoload module rtc: brcmstb-waketimer: add missed clk_disable_unprepare rtc: msm6242: Fix reading of 10-hour digit NFSD fixing possible null pointer derefering in copy offload f2fs: fix potential overflow sch_cake: Add missing NLA policy entry TCA_CAKE_SPLIT_GSO iwlwifi: mvm: fix support for single antenna diversity rtlwifi: Remove unnecessary NULL check in rtl_regd_init iwlwifi: mvm: consider ieee80211 station max amsdu value spi: lpspi: fix memory leak in fsl_lpspi_probe spi: rspi: Use platform_get_irq_byname_optional() for optional irqs spi: atmel: fix handling of cs_change set on non-last xfer spi: pxa2xx: Set controller->max_transfer_size in dma mode mtd: spi-nor: fix silent truncation in spi_nor_read_raw() mtd: spi-nor: fix silent truncation in spi_nor_read() spi: sprd: Fix the incorrect SPI register ubifs: do_kill_orphans: Fix a memory leak bug ubifs: Fixed missed le64_to_cpu() in journal Revert "ubifs: Fix memory leak bug in alloc_ubifs_info() error path" memory: mtk-smi: Add PM suspend and resume ops iommu/mediatek: Add a new tlb_lock for tlb_flush iommu/mediatek: Correct the flush_iotlb_all callback media: hantro: Set H264 FIELDPIC_FLAG_E flag correctly media: aspeed-video: Fix memory leaks in aspeed_video_probe media: hantro: Do not reorder H264 scaling list media: cedrus: Use correct H264 8x8 scaling list media: coda: fix deadlock between decoder picture run and start command media: exynos4-is: Fix recursive locking in isp_video_release() media: v4l: cadence: Fix how unsued lanes are handled in 'csi2rx_start()' media: hantro: h264: Fix the frame_num wraparound case media: rcar-vin: Fix incorrect return statement in rvin_try_format() media: ov6650: Fix default format not applied on device probe media: ov6650: Fix .get_fmt() V4L2_SUBDEV_FORMAT_TRY support media: ov6650: Fix some format attributes not under control media: ov6650: Fix incorrect use of JPEG colorspace ARM: 8943/1: Fix topology setup in case of CPU hotplug for CONFIG_SCHED_MC tty: serial: pch_uart: correct usage of dma_unmap_sg tty: serial: imx: use the sg count from dma_map_sg MIPS: SGI-IP27: Fix crash, when CPUs are disabled via nr_cpus parameter MIPS: Loongson: Fix return value of loongson_hwmon_init MIPS: PCI: remember nasid changed by set interrupt affinity powerpc/powernv: Disable native PCIe port management PCI/PTM: Remove spurious "d" from granularity message tools: PCI: Fix fd leakage PCI/PM: Clear PCIe PME Status even for legacy power management PCI: Fix missing bridge dma_ranges resource list cleanup PCI: dwc: Fix find_next_bit() usage PCI: aardvark: Fix PCI_EXP_RTCTL register configuration PCI: aardvark: Use LTSSM state to build link training flag compat_ioctl: handle SIOCOUTQNSD af_unix: add compat_ioctl support gfs2: add compat_ioctl support arm64: dts: apq8096-db820c: Increase load on l21 for SDCARD scsi: sd: enable compat ioctls for sed-opal drm/amdgpu/discovery: reserve discovery data at the top of VRAM drm/amdgpu: cleanup creating BOs at fixed location (v2) Revert "drm/virtio: switch virtio_gpu_wait_ioctl() to gem helper." PCI: pciehp: Do not disable interrupt twice on suspend pinctrl: lewisburg: Update pin list according to v1.1v6 pinctrl: sh-pfc: Do not use platform_get_irq() to count interrupts pinctrl: sh-pfc: Fix PINMUX_IPSR_PHYS() to set GPSR pinctl: ti: iodelay: fix error checking on pinctrl_count_index_with_args call affs: fix a memory leak in affs_remount rsi: fix potential null dereference in rsi_probe() clk: imx: pll14xx: Fix quick switch of S/K parameter dmaengine: dw: platform: Mark 'hclk' clock optional clk: Fix memory leak in clk_unregister() clk: samsung: exynos5420: Preserve CPU clocks configuration during suspend/resume clk: meson: axg-audio: fix regmap last register mei: fix modalias documentation iio: imu: adis16480: assign bias value only if operation succeeded iio: imu: st_lsm6dsx: fix gyro gain definitions for LSM9DS1 NFSv4.x: Drop the slot if nfs4_delegreturn_prepare waits for layoutreturn NFSv4.x: Handle bad/dead sessions correctly in nfs41_sequence_process() nfsd: v4 support requires CRYPTO_SHA256 nfsd: Fix cld_net->cn_tfm initialization NFSv2: Fix a typo in encode_sattr() crypto: geode-aes - convert to skcipher API and make thread-safe crypto: algif_skcipher - Use chunksize instead of blocksize crypto: virtio - implement missing support for output IVs crypto: arm64/aes-neonbs - add return value of skcipher_walk_done() in __xts_crypt() crypto: hisilicon - select NEED_SG_DMA_LENGTH in qm Kconfig crypto: cavium/nitrox - fix firmware assignment to AE cores scsi: ufs: Give an unique ID to each ufs-bsg dm: add dm-clone to the documentation index xprtrdma: Fix oops in Receive handler after device removal xprtrdma: Fix completion wait during device removal xprtrdma: Fix create_qp crash on device unload Documentation/ABI: Add missed attribute for mlxreg-io sysfs interfaces Documentation/ABI: Fix documentation inconsistency for mlxreg-io sysfs interfaces asm-generic/nds32: don't redefine cacheflush primitives platform/x86: GPD pocket fan: Use default values when wrong modparams are given platform/x86: asus-wmi: Fix keyboard brightness cannot be set to 0 platform/mellanox: fix potential deadlock in the tmfifo driver scsi: sd: Clear sdkp->protection_type if disk is reformatted without PI scsi: enclosure: Fix stale device oops with hot replug keys: Fix request_key() cache afs: Fix afs_lookup() to not clobber the version on a new dentry afs: Fix use-after-loss-of-ref libbpf: Fix Makefile' libbpf symbol mismatch diagnostic bpf: Support pre-2.25-binutils objcopy for vmlinux BTF bpf: skmsg, fix potential psock NULL pointer dereference bpf: Make use of probe_user_write in probe write helper uaccess: Add non-pagefault user-space write function RDMA/srpt: Report the SCSI residual to the initiator RDMA/mlx5: Return proper error value rdma: Remove nes ABI header RDMA/hns: Bugfix for qpc/cqc timer configuration RDMA/hns: Fix to support 64K page for srq xprtrdma: Close window between waking RPC senders and posting Receives xprtrdma: Fix MR list handling xprtrdma: Connection becomes unstable after a reconnect xprtrdma: Add unique trace points for posting Local Invalidate WRs RDMA/hns: Release qp resources when failed to destroy qp RDMA/hns: Fix build error again RDMA/siw: Fix port number endianness in a debug message RDMA/counter: Prevent QP counter manual binding in auto mode RDMA/hns: Modify return value of restrack functions RDMA/hns: remove a redundant le16_to_cpu RDMA/hns: Prevent undefined behavior in hns_roce_set_user_sq_size() ASoC: rsnd: fix DALIGN register for SSIU ASoC: core: Fix compile warning with CONFIG_DEBUG_FS=n ASoC: SOF: Intel: Broadwell: clarify mutual exclusion with legacy driver ASoC: fsl_esai: Add spin lock to protect reset, stop and start ASoC: simple_card_utils.h: Add missing include ASoC: dt-bindings: mt8183: add missing update netfilter: nft_meta: use 64-bit time arithmetic netfilter: nf_tables_offload: release flow_rule on error from commit path btrfs: simplify inode locking for RWF_NOWAIT hsr: fix slab-out-of-bounds Read in hsr_debugfs_rename() syscalls/x86: Fix function types in COND_SYSCALL syscalls/x86: Use the correct function type for sys_ni_syscall syscalls/x86: Use COMPAT_SYSCALL_DEFINE0 for IA32 (rt_)sigreturn syscalls/x86: Wire up COMPAT_SYSCALL_DEFINE0 perf vendor events s390: Remove name from L1D_RO_EXCL_WRITES description afs: Fix missing cell comparison in afs_test_super() reset: brcmstb: Remove resource checks dt-bindings: reset: Fix brcmstb-reset example can: j1939: fix address claim code example ath9k: use iowrite32 over __raw_writel MAINTAINERS: Append missed file to the database scsi: smartpqi: Update attribute name to `driver_version` cifs: Adjust indentation in smb2_open_file s390/qeth: fix initialization on old HW s390/qeth: vnicc Fix init to default s390/qeth: Fix vnicc_is_in_use if rx_bcast not set s390/qeth: fix false reporting of VNIC CHAR config failure s390/qeth: fix qdio teardown after early init error hsr: reset network header when supervision frame is created hsr: rename debugfs file when interface name is changed hsr: add hsr root debugfs directory drm/tegra: Fix ordering of cleanup code PCI: amlogic: Fix probed clock names PM / devfreq: tegra: Add COMMON_CLK dependency gpio: Fix error message on out-of-range GPIO in lookup table scsi: mpt3sas: Fix double free in attach error handling fs: move guard_bio_eod() after bio_set_op_attrs bpf: cgroup: prevent out-of-order release of cgroup bpf iommu: Remove device link to group on failure iommu/vt-d: Unlink device if failed to add to group selftests: loopback.sh: skip this test if the driver does not support pinctrl: meson: Fix wrong shift value when get drive-strength gpio: zynq: Fix for bug in zynq_gpio_restore_context API mtd: onenand: omap2: Pass correct flags for prep_dma_memcpy ASoC: SOF: imx8: Fix dsp_box offset netfilter: nft_flow_offload: fix underflow in flowtable reference counter pinctrl: lochnagar: select GPIOLIB ASoC: stm32: spdifrx: fix input pin state management ASoC: stm32: spdifrx: fix race condition in irq handler ASoC: stm32: spdifrx: fix inconsistent lock state ASoC: soc-core: Set dpcm_playback / dpcm_capture ASoC: SOF: imx8: fix memory allocation failure check on priv->pd_dev i2c: bcm2835: Store pointer to bus clock mtd: rawnand: stm32_fmc2: avoid to lock the CPU bus IB/hfi1: Don't cancel unused work item RDMA/bnxt_re: Fix Send Work Entry state check while polling completions RDMA/bnxt_re: Avoid freeing MR resources if dereg fails phy: mapphone-mdm6600: Fix uninitialized status value regression rtc: mt6397: fix alarm register overwrite HID: hidraw, uhid: Always report EPOLLOUT FROMGIT: drivers/iommu: Initialise module 'owner' field in iommu_device_set_ops() USB: f_accessory: Check dev pointer before decoding ctrl request Revert "drm/virtio: switch virtio_gpu_wait_ioctl() to gem helper." ANDROID: update kernel ABI for CONFIG_DUMMY ANDROID: update ABI whitelist UPSTREAM: dmaengine: k3dma: Avoid null pointer traversal GKI: enable CONFIG_DUMMY=y ANDROID: update kernel ABI for f2fs/fscrypt/other changes ANDROID: db845c: Add build config ANDROID: db845c: add db845c_gki.fragment FROMLIST: usb: dwc3: gadget: Correct the logic for finding last SG entry FROMLIST: usb: xhci: provide a debugfs hook for erasing rom FROMLIST: usb: renesas-xhci: allow multiple firmware versions FROMLIST: usb: renesas-xhci: Add ROM loader for uPD720201 FROMLIST: usb: renesas-xhci: Add the renesas xhci driver FROMLIST: usb: xhci: export few functions ANDROID: arm64: dts: db845c: Add clocks entry to display to track real clock inputs ANDROID: arm64: dts: db845c: add Low speed expansion i2c and spi nodes ANDROID: arm64: dts: qcom: sdm845-db845c: Bring in LT9611 ANDROID: arm64: dts: qcom: db845c: Enable PCIe controllers ANDROID: arm64: dts: qcom: sdm845: Add second PCIe PHY and controller ANDROID: arm64: dts: qcom: sdm845: Add first PCIe controller and PHY ANDROID: arm64: dts/sdm845: Enable FW implemented safe sequence handler on MTP ANDROID: drm/bridge: Introduce LT9611 DSI to HDMI bridge FROMLIST: drm: msm: Quiet down plane errors in atomic_check FROMLIST: reset: qcom-aoss: Allow CONFIG_RESET_QCOM_AOSS to be a tristate FROMLIST: tty: serial: Kconfig: Allow SERIAL_QCOM_GENI_CONSOLE to be enabled if SERIAL_QCOM_GENI is a module FROMLIST: lib/list_sort: fix function type mismatches UPSTREAM: kcov: fix struct layout for kcov_remote_arg GKI: enable CONFIG_NETFILTER_XT_MATCH_QUOTA2_LOG=y Linux 5.4.12 drm/i915/gen9: Clear residual context state on context switch netfilter: ipset: avoid null deref when IPSET_ATTR_LINENO is present netfilter: conntrack: dccp, sctp: handle null timeout argument netfilter: arp_tables: init netns pointer in xt_tgchk_param struct phy: cpcap-usb: Fix flakey host idling and enumerating of devices phy: cpcap-usb: Fix error path when no host driver is loaded USB: Fix: Don't skip endpoint descriptors with maxpacket=0 HID: hiddev: fix mess in hiddev_open() ath10k: fix memory leak rtl8xxxu: prevent leaking urb scsi: bfa: release allocated memory in case of error rpmsg: char: release allocated memory mwifiex: pcie: Fix memory leak in mwifiex_pcie_alloc_cmdrsp_buf mwifiex: fix possible heap overflow in mwifiex_process_country_ie() staging: vt6656: remove bool from vnt_radio_power_on ret um: Implement copy_thread_tls clone3: ensure copy_thread_tls is implemented xtensa: Implement copy_thread_tls riscv: Implement copy_thread_tls parisc: Implement copy_thread_tls arm: Implement copy_thread_tls arm64: Implement copy_thread_tls arm64: Move __ARCH_WANT_SYS_CLONE3 definition to uapi headers tty: always relink the port tty: link tty and port before configuring it as console iommu/vt-d: Fix adding non-PCI devices to Intel IOMMU serdev: Don't claim unsupported ACPI serial devices staging: rtl8188eu: Add device code for TP-Link TL-WN727N v5.21 staging: vt6656: limit reg output to block size staging: vt6656: correct return of vnt_init_registers. staging: comedi: adv_pci1710: fix AI channels 16-31 for PCI-1713 usb: musb: dma: Correct parameter passed to IRQ handler usb: musb: Disable pullup at init usb: musb: fix idling for suspend after disconnect interrupt USB: serial: option: add ZLP support for 0x1bc7/0x9010 USB-PD tcpm: bad warning+size, PPS adapters usb: ohci-da8xx: ensure error return on variable error is set usb: cdns3: should not use the same dev_id for shared interrupt handler staging: vt6656: Fix non zero logical return of, usb_control_msg staging: vt6656: set usb_set_intfdata on driver fail. pstore/ram: Regularize prz label allocation lifetime gpiolib: acpi: Add honor_wakeup module-option + quirk mechanism gpiolib: acpi: Turn dmi_system_id table into a generic quirk table can: can_dropped_invalid_skb(): ensure an initialized headroom in outgoing CAN sk_buffs can: mscan: mscan_rx_poll(): fix rx path lockup when returning from polling to irq mode can: tcan4x5x: tcan4x5x_can_probe(): get the device out of standby before register access can: gs_usb: gs_usb_probe(): use descriptors of current altsetting can: kvaser_usb: fix interface sanity check IB/hfi1: Adjust flow PSN with the correct resync_psn drm/i915/gt: Mark up virtual engine uabi_instance drm/i915: Add Wa_1407352427:icl,ehl drm/dp_mst: correct the shifting in DP_REMOTE_I2C_READ drm/fb-helper: Round up bits_per_pixel if possible drm/sun4i: tcon: Set RGB DCLK min. divider based on hardware model Revert "drm/amdgpu: Set no-retry as default." drm/i915: Add Wa_1408615072 and Wa_1407596294 to icl,ehl Input: input_event - fix struct padding on sparc64 Input: add safety guards to input_set_keycode() HID: hid-input: clear unmapped usages HID: hidraw: Fix returning EPOLLOUT from hidraw_poll HID: uhid: Fix returning EPOLLOUT from uhid_char_poll HID: Fix slab-out-of-bounds read in hid_field_extract tracing: Change offset type to s32 in preempt/irq tracepoints tracing: Have stack tracer compile when MCOUNT_INSN_SIZE is not defined kernel/trace: Fix do not unregister tracepoints when register sched_migrate_task fail rtc: sun6i: Add support for RTC clocks on R40 tpm: Handle negative priv->response_len in tpm_common_read() tpm: Revert "tpm_tis_core: Turn on the TPM before probing IRQ's" tpm: Revert "tpm_tis_core: Set TPM_CHIP_FLAG_IRQ before probing for interrupts" tpm: Revert "tpm_tis: reserve chip for duration of tpm_tis_core_init" ALSA: hda/realtek - Add quirk for the bass speaker on Lenovo Yoga X1 7th gen ALSA: hda/realtek - Set EAPD control to default for ALC222 ALSA: hda/realtek - Add new codec supported for ALCS1200A ALSA: usb-audio: Apply the sample rate quirk for Bose Companion 5 usb: chipidea: host: Disable port power only if previously enabled powercap: intel_rapl: add NULL pointer check to rapl_mmio_cpu_online() i2c: fix bus recovery stop mode timing chardev: Avoid potential use-after-free in 'chrdev_open()' UPSTREAM: vhost, kcov: collect coverage from vhost_worker UPSTREAM: usb, kcov: collect coverage from hub_event ANDROID: update kernel ABI for kcov changes UPSTREAM: kcov: remote coverage support ANDROID: gki_defconfig: Enable blk-crypto fallback BACKPORT: FROMLIST: Update Inline Encryption from v5 to v6 of patch series ANDROID: tty: serdev: Fix broken serial console input ANDROID: reset: hisi-reboot: adb reboot bootloader Linux 5.4.11 usb: missing parentheses in USE_NEW_SCHEME USB: serial: option: add Telit ME910G1 0x110a composition USB: core: fix check for duplicate endpoints usb: dwc3: gadget: Fix request complete check net/mlx5: DR, Init lists that are used in rule's member net/mlx5e: Fix hairpin RSS table size net/mlx5: DR, No need for atomic refcount for internal SW steering resources net/mlx5e: Always print health reporter message to dmesg net: dsa: mv88e6xxx: force cmode write on 6141/6341 net/mlx5: Move devlink registration before interfaces load macb: Don't unregister clks unconditionally vlan: vlan_changelink() should propagate errors vlan: fix memory leak in vlan_dev_set_egress_priority net: sch_prio: When ungrafting, replace with FIFO mlxsw: spectrum_qdisc: Ignore grafting of invisible FIFO vxlan: fix tos value before xmit tcp: fix "old stuff" D-SACK causing SACK to be treated as D-SACK sctp: free cmd->obj.chunk for the unprocessed SCTP_CMD_REPLY sch_cake: avoid possible divide by zero in cake_enqueue() pkt_sched: fq: do not accept silly TCA_FQ_QUANTUM net: usb: lan78xx: fix possible skb leak net: stmmac: Fixed link does not need MDIO Bus net: stmmac: dwmac-sunxi: Allow all RGMII modes net: stmmac: dwmac-sun8i: Allow all RGMII modes net: freescale: fec: Fix ethtool -d runtime PM net: dsa: mv88e6xxx: Preserve priority when setting CPU port. macvlan: do not assume mac_header is set in macvlan_broadcast() gtp: fix bad unlock balance in gtp_encap_enable_socket tracing: Do not create directories if lockdown is in affect selftests: pmtu: fix init mtu value in description hv_netvsc: Fix unwanted rx_table reset llc2: Fix return statement of llc_stat_ev_rx_null_dsap_xid_c (and _test_c) s390/qeth: don't return -ENOTSUPP to userspace s390/qeth: fix promiscuous mode after reset s390/qeth: handle error due to unsupported transport mode sbitmap: only queue kyber's wait callback if not already active parisc: Fix compiler warnings in debug_core.c block: fix memleak when __blk_rq_map_user_iov() is failed s390/dasd: fix memleak in path handling error case s390/dasd/cio: Interpret ccw_device_get_mdc return value correctly block: Fix a lockdep complaint triggered by request queue flushing arm64: cpu_errata: Add Hisilicon TSV110 to spectre-v2 safe list platform/x86: pcengines-apuv2: fix simswap GPIO assignment net/ixgbe: Fix concurrency issues between config flow and XSK net/i40e: Fix concurrency issues between config flow and XSK net/mlx5e: Fix concurrency issues between config flow and XSK xsk: Add rcu_read_lock around the XSK wakeup tpm/tpm_ftpm_tee: add shutdown call back drm/exynos: gsc: add missed component_del s390/purgatory: do not build purgatory with kcov, kasan and friends net: stmmac: Always arm TX Timer at end of transmission start net: stmmac: RX buffer size must be 16 byte aligned net: stmmac: xgmac: Clear previous RX buffer size net: stmmac: Do not accept invalid MTU values net: stmmac: Determine earlier the size of RX buffer net: stmmac: selftests: Needs to check the number of Multicast regs clk: Move clk_core_reparent_orphans() under CONFIG_OF io_uring: don't wait when under-submitting iommu/dma: Relax locking in iommu_dma_prepare_msi() perf/smmuv3: Remove the leftover put_cpu() in error path fs: call fsnotify_sb_delete after evict_inodes fs: avoid softlockups in s_inodes iterators block: end bio with BLK_STS_AGAIN in case of non-mq devs and REQ_NOWAIT usb: typec: fusb302: Fix an undefined reference to 'extcon_get_state' psi: Fix a division error in psi poll() sched/psi: Fix sampling error and rare div0 crashes with cgroups and high uptime perf/x86/intel: Fix PT PMI handling perf/x86: Fix potential out-of-bounds access scripts: package: mkdebian: add missing rsync dependency kconfig: don't crash on NULL expressions in expr_eq() iommu/iova: Init the struct iova to fix the possible memleak staging: axis-fifo: add unspecified HAS_IOMEM dependency clk: at91: fix possible deadlock spi: nxp-fspi: Ensure width is respected in spi-mem operations regulator: rn5t618: fix module aliases ASoC: wm8962: fix lambda value rfkill: Fix incorrect check to avoid NULL pointer dereference parisc: add missing __init annotation parisc: fix compilation when KEXEC=n and KEXEC_FILE=y net: usb: lan78xx: Fix error message format specifier cxgb4: Fix kernel panic while accessing sge_info bnx2x: Fix logic to get total no. of PFs per engine bnx2x: Do not handle requests from VFs after parity habanalabs: remove variable 'val' set but not used habanalabs: rate limit error msg on waiting for CS bpf: Clear skb->tstamp in bpf_redirect when necessary ocxl: Fix potential memory leak on context creation Btrfs: fix hole extent items with a zero size after range cloning btrfs: handle error in btrfs_cache_block_group powerpc/spinlocks: Include correct header for static key powerpc/vcpu: Assume dedicated processors as non-preempt Btrfs: fix cloning range with a hole when using the NO_HOLES feature btrfs: Fix error messages in qgroup_rescan_init powerpc: Ensure that swiotlb buffer is allocated from low memory pinctrl: pinmux: fix a possible null pointer in pinmux_can_be_used_for_gpio cfg80211: fix double-free after changing network namespace mac80211: fix TID field in monitor mode transmit clk: walk orphan list on clock provider registration bus: ti-sysc: Fix missing reset delay handling pinctrl: aspeed-g6: Fix LPC/eSPI mux configuration ARM: imx_v6_v7_defconfig: Explicitly restore CONFIG_DEBUG_FS arm64: dts: ls1028a: fix reboot node samples: bpf: fix syscall_tp due to unused syscall samples: bpf: Replace symbol compare of trace_event kselftest: Support old perl versions kselftest/runner: Print new line in print of timeout log ARM: dts: am437x-gp/epos-evm: fix panel compatible spi: spi-ti-qspi: Fix a bug when accessing non default CS perf header: Fix false warning when there are no duplicate cache entries perf metricgroup: Fix printing event names of metric group with multiple events bpftool: Don't crash on missing jited insns or ksyms bpf, mips: Limit to 33 tail calls bpf, riscv: Limit to 33 tail calls arm64: dts: ls1028a: fix typo in TMU calibration data ARM: dts: bcm283x: Fix critical trip point ARM: omap2plus_defconfig: Add back DEBUG_FS ARM: dts: am335x-sancloud-bbe: fix phy mode ASoC: SOF: Intel: split cht and byt debug window sizes ASoC: SOF: loader: snd_sof_fw_parse_ext_data log warning on unknown header ASoC: topology: Check return value for soc_tplg_pcm_create() ASoC: topology: Check return value for snd_soc_add_dai_link() reset: Do not register resource data for missing resets spi: spi-cavium-thunderx: Add missing pci_release_regions() ARM: dts: Cygnus: Fix MDIO node address/size cells ARM: exynos_defconfig: Restore debugfs support selftests: safesetid: Fix Makefile to set correct test program selftests: safesetid: Check the return value of setuid/setgid selftests: safesetid: Move link library to LDLIBS selftests/ftrace: Fix multiple kprobe testcase selftests/ftrace: Do not to use absolute debugfs path selftests/ftrace: Fix ftrace test cases to check unsupported selftests/ftrace: Fix to check the existence of set_ftrace_filter ARM: dts: BCM5301X: Fix MDIO node address/size cells netfilter: nf_tables_offload: return EOPNOTSUPP if rule specifies no actions netfilter: nf_tables: skip module reference count bump on object updates netfilter: nf_tables: validate NFT_DATA_VALUE after nft_data_init() netfilter: nf_tables: validate NFT_SET_ELEM_INTERVAL_END netfilter: nft_set_rbtree: bogus lookup/get on consecutive elements in named sets netfilter: uapi: Avoid undefined left-shift in xt_sctp.h ARM: vexpress: Set-up shared OPP table instead of individual for each CPU ARM: dts: imx6ul: imx6ul-14x14-evk.dtsi: Fix SPI NOR probing efi/earlycon: Remap entire framebuffer after page initialization efi/gop: Fix memory leak in __gop_query32/64() efi/gop: Return EFI_SUCCESS if a usable GOP was found efi/gop: Return EFI_NOT_FOUND if there are no usable GOPs selftests: netfilter: use randomized netns names ASoC: Intel: bytcr_rt5640: Update quirk for Teclast X89 x86/efi: Update e820 with reserved EFI boot services data to fix kexec breakage regulator: core: fix regulator_register() error paths to properly release rdev libtraceevent: Copy pkg-config file to output folder when using O= libtraceevent: Fix lib installation with O= mwifiex: Fix heap overflow in mmwifiex_process_tdls_action_frame() netfilter: nf_tables_offload: Check for the NETDEV_UNREGISTER event x86/intel: Disable HPET on Intel Ice Lake platforms netfilter: ctnetlink: netns exit must wait for callbacks locking/spinlock/debug: Fix various data races spi: fsl: Handle the single hardwired chipselect case gpio: Handle counting of Freescale chipselects spi: fsl: Fix GPIO descriptor support ASoC: max98090: fix possible race conditions regulator: fix use after free issue spi: pxa2xx: Add support for Intel Jasper Lake ASoC: rt5682: fix i2c arbitration lost issue bpf: Fix passing modified ctx to ld/abs/ind instruction USB: dummy-hcd: use usb_urb_dir_in instead of usb_pipein ANDROID: Kconfig.gki: Add QCOM_SCM to QCOM Hidden configs ANDROID: iommu/arm-smmu: Allow inherting stream mapping from bootloader ANDROID: iommu/arm-smmu: Expose s2cr and smr structs to impl ANDROID: iommu/arm-smmu: Don't blindly use first SMR to calculate mask ANDROID: clk: qcom: Add sync_state = clk_sync_state for db845c clock providers UPSTREAM: net: usbnet: Fix -Wcast-function-type UPSTREAM: PM / QoS: Restore DEV_PM_QOS_MIN/MAX_FREQUENCY UPSTREAM: PM / QoS: Reorder pm_qos/freq_qos/dev_pm_qos structs UPSTREAM: USB: dummy-hcd: use usb_urb_dir_in instead of usb_pipein ANDROID: update kernel ABI (perf_event changes) BACKPORT: perf_event: Add support for LSM and SELinux checks ANDROID: Enable HID_STEAM and JOYSTICK_XPAD as y ANDROID: update abi for previous revert Revert "BACKPORT: perf_event: Add support for LSM and SELinux checks" Linux 5.4.10 powerpc/pmem: Fix kernel crash due to wrong range value usage in flush_dcache_range Linux 5.4.9 mm/hugetlb: defer freeing of huge pages if in non-task context hsr: fix a race condition in node list insertion and deletion hsr: fix error handling routine in hsr_dev_finalize() hsr: avoid debugfs warning message when module is remove net: annotate lockless accesses to sk->sk_pacing_shift perf/x86/intel/bts: Fix the use of page_private() efi: Don't attempt to map RCI2 config table if it doesn't exist lib/ubsan: don't serialize UBSAN report xen/blkback: Avoid unmapping unmapped grant pages mm/sparse.c: mark populate_section_memmap as __meminit s390/smp: fix physical to logical CPU map for SMT Btrfs: only associate the locked page with one async_chunk struct btrfs: get rid of unique workqueue helper functions ubifs: ubifs_tnc_start_commit: Fix OOB in layout_in_gaps net: add annotations on hh->hh_len lockless accesses xfs: periodically yield scrub threads to the scheduler drm/i915/execlists: Fix annotation for decoupling virtual request ath9k_htc: Discard undersized packets ath9k_htc: Modify byte order for an error message fix compat handling of FICLONERANGE, FIDEDUPERANGE and FS_IOC_FIEMAP fs: cifs: Fix atime update check vs mtime cifs: Fix lookup of root ses in DFS referral cache tty: serial: msm_serial: Fix lockup for sysrq and oops phy: renesas: rcar-gen3-usb2: Use platform_get_irq_optional() for optional irq arm64: dts: meson: odroid-c2: Disable usb_otg bus to avoid power failed warning dt-bindings: clock: renesas: rcar-usb2-clock-sel: Fix typo in example media: usb: fix memory leak in af9005_identify_state regulator: ab8500: Remove AB8505 USB regulator media: flexcop-usb: ensure -EIO is returned on error condition arm64: dts: meson-gxm-khadas-vim2: fix uart_A bluetooth node arm64: dts: meson-gxl-s905x-khadas-vim: fix uart_A bluetooth node Bluetooth: Fix memory leak in hci_connect_le_scan Bluetooth: delete a stray unlock Bluetooth: btusb: fix PM leak in error case of setup powerpc/mm: Mark get_slice_psize() & slice_addr_is_low() as notrace regulator: axp20x: Fix AXP22x ELDO2 regulator enable bitmask spi: uniphier: Fix FIFO threshold regulator: bd70528: Remove .set_ramp_delay for bd70528_ldo_ops regulator: axp20x: Fix axp20x_set_ramp_delay watchdog: tqmx86_wdt: Fix build error net, sysctl: Fix compiler warning when only cBPF is present netfilter: nf_queue: enqueue skbs with NULL dst platform/x86: pmc_atom: Add Siemens CONNECT X300 to critclk_systems DMI table xfs: don't check for AG deadlock for realtime files in bunmapi firmware: arm_scmi: Avoid double free in error flow cifs: Fix potential softlockups while refreshing DFS cache of: overlay: add_changeset_property() memory leak iommu/vt-d: Remove incorrect PSI capability check perf callchain: Fix segfault in thread__resolve_callchain_sample() ACPI: sysfs: Change ACPI_MASKABLE_GPE_MAX to 0x100 kernel/module.c: wakeup processes in module_wq on module unload net/sched: annotate lockless accesses to qdisc->empty HID: i2c-hid: Reset ALPS touchpads on resume powerpc: Chunk calls to flush_dcache_range in arch_*_memory nfsd4: fix up replay_matches_cache() arm64: dts: qcom: msm8998-clamshell: Remove retention idle state sunrpc: fix crash when cache_head become valid before update PM / devfreq: Check NULL governor in available_governors_show drm/msm: include linux/sched/task.h spi: spi-fsl-dspi: Fix 16-bit word order in 32-bit XSPI mode ftrace: Avoid potential division by zero in function profiler arm64: Revert support for execute-only user mappings exit: panic before exit_mm() on global init exit scsi: lpfc: Fix rpi release when deleting vport ALSA: firewire-motu: Correct a typo in the clock proc string ALSA: pcm: Yet another missing check of non-cached buffer type ALSA: cs4236: fix error return comparison of an unsigned integer gen_initramfs_list.sh: fix 'bad variable name' error dmaengine: virt-dma: Fix access after free in vchan_complete() apparmor: fix aa_xattrs_match() may sleep while holding a RCU lock mm/gup: fix memory leak in __gup_benchmark_ioctl io_uring: use current task creds instead of allocating a new one samples/trace_printk: Wait for IRQ work to finish tracing: Fix endianness bug in histogram trigger tracing: Have the histogram compare functions convert to u64 first tracing: Avoid memory leak in process_system_preds() tracing: Fix lock inversion in trace_event_enable_tgid_record() rseq/selftests: Fix: Namespace gettid() for compatibility with glibc 2.30 riscv: ftrace: correct the condition logic in function graph tracer clocksource: riscv: add notrace to riscv_sched_clock gpiolib: fix up emulated open drain outputs gpio: xtensa: fix driver build libata: Fix retrieving of active qcs ata: ahci_brcm: BCM7425 AHCI requires AHCI_HFLAG_DELAY_ENGINE ata: ahci_brcm: Add missing clock management during recovery ata: ahci_brcm: Fix AHCI resources management ata: libahci_platform: Export again ahci_platform_<en/dis>able_phys() bpf: Fix precision tracking for unbounded scalars compat_ioctl: block: handle BLKGETZONESZ/BLKGETNRZONES compat_ioctl: block: handle BLKREPORTZONE/BLKRESETZONE compat_ioctl: block: handle Persistent Reservations Btrfs: fix infinite loop during nocow writeback due to race dmaengine: dma-jz4780: Also break descriptor chains on JZ4725B dmaengine: Fix access to uninitialized dma_slave_caps selftests/seccomp: Catch garbage on SECCOMP_IOCTL_NOTIF_RECV samples/seccomp: Zero out members based on seccomp_notif_sizes seccomp: Check that seccomp_notif is zeroed out by the user selftests/seccomp: Zero out seccomp_notif locks: print unsigned ino in /proc/locks gcc-plugins: make it possible to disable CONFIG_GCC_PLUGINS again pstore/ram: Fix error-path memory leak in persistent_ram_new() callers pstore/ram: Write new dumps to start of recycled zones ocfs2: fix the crash due to call ocfs2_get_dlm_debug once less mm/oom: fix pgtables units mismatch in Killed process message mm: move_pages: return valid node id in status if the page is already on the target node memcg: account security cred as well to kmemcg mm/zsmalloc.c: fix the migrated zspage statistics. mm/memory_hotplug: shrink zones when offlining memory media: cec: check 'transmit_in_progress', not 'transmitting' media: cec: avoid decrementing transmit_queue_sz if it is 0 media: cec: CEC 2.0-only bcast messages were ignored media: pulse8-cec: fix lost cec_transmit_attempt_done() call MIPS: Avoid VDSO ABI breakage due to global register variable MIPS: BPF: eBPF JIT: check for MIPS ISA compliance in Kconfig MIPS: BPF: Disable MIPS32 eBPF JIT drm/amdgpu/smu: add metrics table lock for vega20 (v2) drm/amdgpu/smu: add metrics table lock for navi (v2) drm/amdgpu/smu: add metrics table lock for arcturus (v2) drm/amdgpu/smu: add metrics table lock drm/sun4i: hdmi: Remove duplicate cleanup calls ALSA: hda/realtek - Add headset Mic no shutup for ALC283 ALSA: hda - Apply sync-write workaround to old Intel platforms, too ALSA: usb-audio: set the interface format after resume on Dell WD19 ALSA: usb-audio: fix set_format altsetting sanity check ALSA: ice1724: Fix sleep-in-atomic in Infrasonic Quartet support code mm: drop mmap_sem before calling balance_dirty_pages() in write fault block: add bio_truncate to fix guard_bio_eod netfilter: nft_tproxy: Fix port selector on Big Endian ALSA: hda - Downgrade error message for single-cmd fallback taskstats: fix data-race shmem: pin the file in shmem_fault() if mmap_sem is dropped tcp: fix data-race in tcp_recvmsg() ALSA: hda - fixup for the bass speaker on Lenovo Carbon X1 7th gen PCI: Fix missing inline for pci_pr3_present() ALSA: hda: Allow HDA to be runtime suspended when dGPU is not bound to a driver PCI: Add a helper to check Power Resource Requirements _PR3 existence ALSA: hda/realtek - Enable the bass speaker of ASUS UX431FLC ALSA: hda/realtek - Add Bass Speaker and fixed dac for bass speaker PM / hibernate: memory_bm_find_bit(): Tighten node optimisation xen/balloon: fix ballooned page accounting without hotplug enabled xen-blkback: prevent premature module unload IB/mlx5: Fix steering rule of drop and count IB/mlx4: Follow mirror sequence of device add during device removal RDMA/counter: Prevent auto-binding a QP which are not tracked with res s390/cpum_sf: Avoid SBD overflow condition in irq handler s390/cpum_sf: Adjust sampling interval to avoid hitting sample limits md: raid1: check rdev before reference in raid1_sync_request func raid5: need to set STRIPE_HANDLE for batch head afs: Fix creation calls in the dynamic root to fail with EOPNOTSUPP afs: Fix mountpoint parsing net: make socket read/write_iter() honor IOCB_NOWAIT usb: gadget: fix wrong endpoint desc drm/nouveau/kms/nv50-: fix panel scaling drm/nouveau: Fix drm-core using atomic code-paths on pre-nv50 hardware drm/nouveau: Move the declaration of struct nouveau_conn_atom up a bit staging/wlan-ng: add CRC32 dependency in Kconfig scsi: iscsi: Avoid potential deadlock in iscsi_if_rx func scsi: libsas: stop discovering if oob mode is disconnected scsi: iscsi: qla4xxx: fix double free in probe scsi: qla2xxx: Ignore PORT UPDATE after N2N PLOGI scsi: qla2xxx: Don't defer relogin unconditonally scsi: qla2xxx: Send Notify ACK after N2N PLOGI scsi: qla2xxx: Configure local loop for N2N target scsi: qla2xxx: Fix PLOGI payload and ELS IOCB dump length scsi: qla2xxx: Don't call qlt_async_event twice scsi: qla2xxx: Drop superfluous INIT_WORK of del_work scsi: qla2xxx: Use explicit LOGO in target mode scsi: lpfc: Fix memory leak on lpfc_bsg_write_ebuf_set func rxe: correctly calculate iCRC for unaligned payloads RDMA/cma: add missed unregister_pernet_subsys in init failure afs: Fix SELinux setting security label on /afs afs: Fix afs_find_server lookups for ipv4 peers PM / devfreq: Don't fail devfreq_dev_release if not in list PM / devfreq: Set scaling_max_freq to max on OPP notifier error PM / devfreq: Fix devfreq_notifier_call returning errno iio: adc: max9611: Fix too short conversion time delay iio: st_accel: Fix unused variable warning nvme/pci: Fix read queue count nvme/pci: Fix write and poll queue types drm/amd/display: update dispclk and dppclk vco frequency drm/amd/display: Reset steer fifo before unblanking the stream drm/amd/display: Change the delay time before enabling FEC drm/amd/display: Fixed kernel panic when booting with DP-to-HDMI dongle drm/amd/display: Map DSC resources 1-to-1 if numbers of OPPs and DSCs are equal drm/amdgpu: add cache flush workaround to gfx8 emit_fence drm/amdgpu: add header line for power profile on Arcturus drm/amdgpu: add check before enabling/disabling broadcast mode nvme-fc: fix double-free scenarios on hw queues nvme_fc: add module to ops template to allow module references drm/mcde: dsi: Fix invalid pointer dereference if panel cannot be found docs: fs-verity: mention statx() support f2fs: support STATX_ATTR_VERITY ext4: support STATX_ATTR_VERITY statx: define STATX_ATTR_VERITY docs: fs-verity: document first supported kernel version f2fs: add support for IV_INO_LBLK_64 encryption policies ext4: add support for IV_INO_LBLK_64 encryption policies fscrypt: add support for IV_INO_LBLK_64 policies fscrypt: avoid data race on fscrypt_mode::logged_impl_name fscrypt: zeroize fscrypt_info before freeing fscrypt: remove struct fscrypt_ctx fscrypt: invoke crypto API for ESSIV handling ANDROID: update kernel ABI representation BACKPORT: perf_event: Add support for LSM and SELinux checks ANDROID: Update ABI representation ANDROID: GKI: clk: Don't disable unused clocks with sync state support ANDROID: GKI: clk: Add support for clock providers with sync state ANDROID: GKI: driver core: Add dev_has_sync_state() null_blk: remove unused variable warning on !CONFIG_BLK_DEV_ZONED block: set the zone size in blk_revalidate_disk_zones atomically block: don't handle bio based drivers in blk_revalidate_disk_zones null_blk: cleanup null_gendisk_register null_blk: fix zone size paramter check block: allocate the zone bitmaps lazily block: replace seq_zones_bitmap with conv_zones_bitmap block: simplify blkdev_nr_zones block: remove the empty line at the end of blk-zoned.c scsi: sd_zbc: Improve report zones error printout scsi: sd_zbc: Remove set but not used variable 'buflen' block: rework zone reporting scsi: sd_zbc: Cleanup sd_zbc_alloc_report_buffer() null_blk: clean up report zones null_blk: clean up the block device operations null_blk: return fixed zoned reads > write pointer scsi: sd_zbc: add zone open, close, and finish support block: Remove partition support for zoned block devices block: Simplify report zones execution block: cleanup the !zoned case in blk_revalidate_disk_zones block: Enhance blk_revalidate_disk_zones() block: add zone open, close and finish ioctl support block: add zone open, close and finish operations block: Simplify REQ_OP_ZONE_RESET_ALL handling block: Remove REQ_OP_ZONE_RESET plugging ANDROID: sdcardfs: fix -ENOENT lookup race issue CHROMIUM: cgroups: relax permissions on moving tasks between cgroups UPSTREAM: selinux: sidtab reverse lookup hash table ANDROID: update abi for 5.4.8 release Linux 5.4.8 mm/hugetlbfs: fix for_each_hstate() loop in init_hugetlbfs_fs() mmc: sdhci-of-esdhc: re-implement erratum A-009204 workaround mmc: sdhci-of-esdhc: fix up erratum A-008171 workaround vhost/vsock: accept only packets with the right dst_cid net: ena: fix napi handler misbehavior when the napi budget is zero net: phylink: fix interface passed to mac_link_up ipv6/addrconf: only check invalid header values when NETLINK_F_STRICT_CHK is set bnxt: apply computed clamp value for coalece parameter gtp: do not allow adding duplicate tid and ms_addr pdp context gtp: fix an use-after-free in ipv4_pdp_find() hv_netvsc: Fix tx_table init in rndis_set_subchannel() tcp/dccp: fix possible race __inet_lookup_established() tcp: do not send empty skb from tcp_write_xmit() bonding: fix active-backup transition after link failure gtp: avoid zero size hashtable gtp: fix wrong condition in gtp_genl_dump_pdp() net: marvell: mvpp2: phylink requires the link interrupt net: dsa: sja1105: Reconcile the meaning of TPID and TPID2 for E/T and P/Q/R/S net/dst: do not confirm neighbor for vxlan and geneve pmtu update sit: do not confirm neighbor when do pmtu update vti: do not confirm neighbor when do pmtu update tunnel: do not confirm neighbor when do pmtu update net/dst: add new function skb_dst_update_pmtu_no_confirm gtp: do not confirm neighbor when do pmtu update ip6_gre: do not confirm neighbor when do pmtu update net: add bool confirm_neigh parameter for dst_ops.update_pmtu mlxsw: spectrum: Use dedicated policer for VRRP packets mlxsw: spectrum_router: Skip loopback RIFs during MAC validation bnxt_en: Add missing devlink health reporters for VFs. bnxt_en: Fix the logic that creates the health reporters. bnxt_en: Remove unnecessary NULL checks for fw_health bnxt_en: Fix bp->fw_health allocation and free logic. bnxt_en: Return error if FW returns more data than dump length bnxt_en: Free context memory in the open path if firmware has been reset. bnxt_en: Fix MSIX request logic for RDMA driver. udp: fix integer overflow while computing available space in sk_rcvbuf tcp: Fix highest_sack and highest_sack_seq ptp: fix the race between the release of ptp_clock and cdev net: stmmac: dwmac-meson8b: Fix the RGMII TX delay on Meson8b/8m2 SoCs net_sched: sch_fq: properly set sk->sk_pacing_status net/sched: add delete_empty() to filters and use it in cls_flower net/sched: act_mirred: Pull mac prior redir to non mac_header_xmit device net: phy: aquantia: add suspend / resume ops for AQR105 net/mlxfw: Fix out-of-memory error in mfa2 flash burning net: dsa: bcm_sf2: Fix IP fragment location and behavior cxgb4/cxgb4vf: fix flow control display for auto negotiation xfs: fix mount failure crash on invalid iclog memory access drm: limit to INT_MAX in create_blob ioctl uaccess: disallow > INT_MAX copy sizes tomoyo: Don't use nifty names on sockets. hrtimer: Annotate lockless access to timer->state net: icmp: fix data-race in cmp_global_allow() net: add a READ_ONCE() in skb_peek_tail() inetpeer: fix data-race in inet_putpeer / inet_putpeer netfilter: bridge: make sure to pull arp header in br_nf_forward_arp() net/smc: add fallback check to connect() powerpc: Fix __clear_user() with KUAP enabled 6pack,mkiss: fix possible deadlock netfilter: ebtables: compat: reject all padding in matches/watchers Revert "iwlwifi: assign directly to iwl_trans->cfg in QuZ detection" md: make sure desc_nr less than MD_SB_DISKS sctp: fix err handling of stream initialization Revert "powerpc/vcpu: Assume dedicated processors as non-preempt" userfaultfd: require CAP_SYS_PTRACE for UFFD_FEATURE_EVENT_FORK kernel: sysctl: make drop_caches write-only mm/hugetlbfs: fix error handling when setting up mounts selftests: vm: add fragment CONFIG_TEST_VMALLOC s390: disable preemption when switching to nodat stack with CALL_ON_STACK mailbox: imx: Fix Tx doorbell shutdown path ocfs2: fix passing zero to 'PTR_ERR' warning s390/cpum_sf: Check for SDBT and SDB consistency s390/unwind: filter out unreliable bogus %r14 libfdt: define INT32_MAX and UINT32_MAX in libfdt_env.h mailbox: imx: Clear the right interrupts at shutdown s390/zcrypt: handle new reply code FILTERED_BY_HYPERVISOR perf regs: Make perf_reg_name() return "unknown" instead of NULL perf script: Fix brstackinsn for AUXTRACE perf diff: Use llabs() with 64-bit values cifs: move cifsFileInfo_put logic into a work-queue cdrom: respect device capabilities during opening action of: unittest: fix memory leak in attach_node_and_children io_uring: io_allocate_scq_urings() should return a sane state um: virtio: Keep reading on -EAGAIN cifs: Fix use-after-free bug in cifs_reconnect() powerpc: Don't add -mabi= flags when building with Clang scripts/kallsyms: fix definitely-lost memory leak drm/amdgpu: Call find_vma under mmap_sem apparmor: fix unsigned len comparison with less than zero Drivers: hv: vmbus: Fix crash handler reset of Hyper-V synic tools/power/x86/intel-speed-select: Ignore missing config level gpio: lynxpoint: Setup correct IRQ handlers gpio: mpc8xxx: Don't overwrite default irq_set_type callback platform/x86: intel_pmc_core: Add Comet Lake (CML) platform support to intel_pmc_core driver platform/x86: intel_pmc_core: Fix the SoC naming inconsistency gpio/mpc8xxx: fix qoriq GPIO reading habanalabs: skip VA block list update in reset flow f2fs: Fix deadlock in f2fs_gc() context during atomic files handling scsi: target: iscsi: Wait for all commands to finish before freeing a session scsi: iscsi: Don't send data to unbound connection scsi: ufs: Fix up auto hibern8 enablement scsi: target: core: Release SPC-2 reservations when closing a session scsi: NCR5380: Add disconnect_mask module parameter scsi: scsi_debug: num_tgts must be >= 0 scsi: ufs: Fix error handing during hibern8 enter scsi: pm80xx: Fix for SATA device discovery powerpc/fixmap: Use __fix_to_virt() instead of fix_to_virt() watchdog: Fix the race between the release of watchdog_core_data and cdev watchdog: prevent deferral of watchdogd wakeup on RT watchdog: imx7ulp: Fix reboot hang HID: rmi: Check that the RMI_STARTED bit is set before unregistering the RMI transport device HID: Improve Windows Precision Touchpad detection. libnvdimm/btt: fix variable 'rc' set but not used ARM: 8937/1: spectre-v2: remove Brahma-B53 from hardening HID: i2c-hid: fix no irq after reset on raydium 3118 HID: logitech-hidpp: Silence intermittent get_battery_capacity errors dt-bindings: Improve validation build error handling HID: quirks: Add quirk for HP MSU1465 PIXART OEM mouse bcache: at least try to shrink 1 node in bch_mca_scan() clk: pxa: fix one of the pxa RTC clocks scsi: atari_scsi: sun3_scsi: Set sg_tablesize to 1 instead of SG_NONE powerpc/book3s/mm: Update Oops message to print the correct translation in use powerpc/eeh: differentiate duplicate detection message powerpc/security: Fix wrong message when RFI Flush is disable PCI: rpaphp: Correctly match ibm, my-drc-index to drc-name when using drc-info PCI: rpaphp: Annotate and correctly byte swap DRC properties PCI: rpaphp: Don't rely on firmware feature to imply drc-info support powerpc/pseries/cmm: Implement release() function for sysfs device scsi: ufs: fix potential bug which ends in system hang PCI: rpaphp: Fix up pointer to first drc-info entry scsi: zorro_esp: Limit DMA transfers to 65536 bytes (except on Fastlane) scsi: lpfc: fix: Coverity: lpfc_cmpl_els_rsp(): Null pointer dereferences Input: ili210x - handle errors from input_mt_init_slots() iomap: fix return value of iomap_dio_bio_actor on 32bit systems i2c: stm32f7: fix & reorder remove & probe error handling iommu/arm-smmu-v3: Don't display an error when IRQ lines are missing fs/quota: handle overflows of sysctl fs.quota.* and report as unsigned long dma-direct: check for overflows on 32 bit DMA addresses irqchip: ingenic: Error out if IRQ domain creation failed irqchip/irq-bcm7038-l1: Enable parent IRQ if necessary clk: clk-gpio: propagate rate change to parent clk: qcom: Allow constant ratio freq tables for rcg clk: qcom: smd: Add missing pnoc clock f2fs: fix to update dir's i_pino during cross_rename scsi: lpfc: Fix duplicate unreg_rpi error in port offline flow scsi: lpfc: Fix unexpected error messages during RSCN handling scsi: tracing: Fix handling of TRANSFER LENGTH == 0 for READ(6) and WRITE(6) jbd2: Fix statistics for the number of logged blocks ext4: iomap that extends beyond EOF should be marked dirty ext4: update direct I/O read lock pattern for IOCB_NOWAIT powerpc/book3s64/hash: Add cond_resched to avoid soft lockup warning powerpc/security/book3s64: Report L1TF status in sysfs selftests/powerpc: Skip tm-signal-sigreturn-nt if TM not available dtc: Use pkg-config to locate libyaml clocksource/drivers/timer-of: Use unique device name instead of timer clocksource/drivers/asm9260: Add a check for of_clk_get leds: trigger: netdev: fix handling on interface rename leds: an30259a: add a check for devm_regmap_init_i2c leds: lm3692x: Handle failure to probe the regulator dmaengine: fsl-qdma: Handle invalid qdma-queue0 IRQ dma-mapping: fix handling of dma-ranges for reserved memory (again) dma-mapping: Add vmap checks to dma_map_single() dma-debug: add a schedule point in debug_dma_dump_mappings() powerpc/tools: Don't quote $objdump in scripts selftests/powerpc: Fixup clobbers for TM tests Input: st1232 - do not reset the chip too early powerpc/pseries: Don't fail hash page table insert for bolted mapping powerpc/pseries: Mark accumulate_stolen_time() as notrace scsi: hisi_sas: Delete the debugfs folder of hisi_sas when the probe fails scsi: hisi_sas: Replace in_softirq() check in hisi_sas_task_exec() scsi: csiostor: Don't enable IRQs too early scsi: lpfc: Fix SLI3 hba in loop mode not discovering devices scsi: lpfc: Fix hardlockup in lpfc_abort_handler scsi: target: compare full CHAP_A Algorithm strings dmaengine: xilinx_dma: Clear desc_pendingcount in xilinx_dma_reset iommu/tegra-smmu: Fix page tables in > 4 GiB memory iommu: rockchip: Free domain on .domain_free platform/x86: peaq-wmi: switch to using polled mode of input devices tools/power/x86/intel-speed-select: Remove warning for unused result powerpc/papr_scm: Fix an off-by-one check in papr_scm_meta_{get, set} f2fs: fix to update time in lazytime mode Input: atmel_mxt_ts - disable IRQ across suspend scsi: lpfc: Fix list corruption in lpfc_sli_get_iocbq gpio: mxc: Only get the second IRQ when there is more than one IRQ scsi: mpt3sas: Reject NVMe Encap cmnds to unsupported HBA scsi: lpfc: Fix locking on mailbox command completion scsi: mpt3sas: Fix clear pending bit in ioctl status scsi: lpfc: Fix discovery failures when target device connectivity bounces scsi: lpfc: Fix spinlock_irq issues in lpfc_els_flush_cmd() Revert "MIPS: futex: Emit Loongson3 sync workarounds within asm" Revert "MIPS: futex: Restore \n after sync instructions" UPSTREAM: exit: panic before exit_mm() on global init exit f2fs: stop GC when the victim becomes fully valid f2fs: expose main_blkaddr in sysfs f2fs: choose hardlimit when softlimit is larger than hardlimit in f2fs_statfs_project() f2fs: Fix deadlock in f2fs_gc() context during atomic files handling f2fs: show f2fs instance in printk_ratelimited f2fs: fix potential overflow f2fs: fix to update dir's i_pino during cross_rename f2fs: support aligned pinned file f2fs: avoid kernel panic on corruption test f2fs: fix wrong description in document f2fs: cache global IPU bio f2fs: fix to avoid memory leakage in f2fs_listxattr f2fs: check total_segments from devices in raw_super f2fs: update multi-dev metadata in resize_fs f2fs: mark recovery flag correctly in read_raw_super_block() f2fs: fix to update time in lazytime mode ANDROID: serdev: Fix platform device support Conflicts: Documentation/ABI/stable/sysfs-driver-mlxreg-io Documentation/ABI/testing/sysfs-class-power Makefile abi_gki_aarch64.xml abi_gki_aarch64_ce5de62e20.xml arch/Kconfig arch/arm/Kconfig arch/arm/boot/dts/imx6ul-kontron-n6310-s.dts arch/arm/boot/dts/logicpd-torpedo-37xx-devkit-28.dts arch/arm/include/asm/kvm_mmio.h arch/arm/mach-tegra/sleep-tegra30.S arch/arm64/Kconfig.platforms arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi arch/arm64/boot/dts/marvell/armada-ap806-dual.dtsi arch/arm64/boot/dts/marvell/armada-cp110.dtsi arch/arm64/boot/dts/qcom/apq8096-db820c.dtsi arch/arm64/boot/dts/qcom/msm8996.dtsi arch/arm64/boot/dts/qcom/msm8998-clamshell.dtsi arch/arm64/boot/dts/qcom/msm8998.dtsi arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi arch/arm64/boot/dts/qcom/sdm845-db845c.dts arch/arm64/boot/dts/qcom/sdm845.dtsi arch/arm64/boot/dts/rockchip/rk3399-nanopc-t4.dts arch/arm64/boot/dts/ti/k3-j721e-main.dtsi arch/arm64/configs/db845c_gki.fragment arch/arm64/configs/gki_defconfig arch/arm64/configs/vendor/genericarmv8-64_defconfig arch/arm64/configs/vendor/lahaina_GKI.config arch/arm64/configs/vendor/lahaina_QGKI.config arch/arm64/configs/vendor/lahaina_debug.config arch/arm64/include/asm/kvm_mmio.h arch/arm64/kernel/cpu_errata.c arch/arm64/mm/mmu.c arch/mips/Kconfig arch/mips/loongson64/loongson-3/platform.c arch/mips/pci/pci-xtalk-bridge.c arch/mips/sgi-ip27/ip27-irq.c arch/powerpc/Kconfig arch/powerpc/include/asm/book3s/32/kup.h arch/powerpc/include/asm/book3s/64/kup-radix.h arch/powerpc/include/asm/kup.h arch/powerpc/include/asm/nohash/32/kup-8xx.h arch/powerpc/kvm/book3s_hv.c arch/powerpc/kvm/book3s_pr.c arch/powerpc/mm/book3s64/hash_utils.c arch/powerpc/mm/mem.c arch/powerpc/platforms/powernv/pci.c arch/powerpc/platforms/pseries/iommu.c arch/riscv/Kconfig arch/riscv/net/bpf_jit_comp.c arch/s390/kernel/mcount.S arch/s390/kvm/kvm-s390.c arch/sparc/Kconfig arch/sparc/include/asm/tlb_64.h arch/x86/configs/gki_defconfig arch/x86/events/amd/core.c arch/x86/kernel/vmlinux.lds.S arch/x86/kvm/emulate.c arch/x86/kvm/irq_comm.c arch/x86/kvm/mmu.c arch/x86/kvm/paging_tmpl.h arch/x86/kvm/vmx/nested.c arch/x86/kvm/vmx/nested.h arch/x86/kvm/vmx/vmx.c arch/x86/kvm/x86.c arch/x86/mm/init_64.c arch/x86/mm/pageattr.c arch/x86/platform/efi/quirks.c arch/xtensa/kernel/process.c block/blk-zoned.c block/compat_ioctl.c block/ioctl.c block/partition-generic.c build.config.gki.aarch64 crypto/algapi.c crypto/pcrypt.c crypto/testmgr.c cuttlefish.fragment drivers/acpi/sleep.c drivers/ata/ahci_brcm.c drivers/char/hw_random/omap3-rom-rng.c drivers/clk/clk-gpio.c drivers/clk/clk.c drivers/clk/imx/clk-imx7ulp.c drivers/clk/imx/clk.h drivers/clk/qcom/clk-alpha-pll.c drivers/clk/qcom/clk-rcg2.c drivers/cpufreq/cpufreq.c drivers/cpufreq/dummy-cpufreq.c drivers/cpuidle/governors/teo.c drivers/crypto/atmel-aes.c drivers/crypto/axis/artpec6_crypto.c drivers/crypto/ccree/cc_pm.c drivers/crypto/chelsio/chcr_algo.c drivers/crypto/geode-aes.c drivers/crypto/hisilicon/Kconfig drivers/crypto/virtio/virtio_crypto_algs.c drivers/devfreq/Kconfig drivers/devfreq/devfreq.c drivers/dma/dmaengine.c drivers/firmware/arm_scmi/bus.c drivers/firmware/efi/libstub/gop.c drivers/firmware/qcom/tz_log.c drivers/firmware/qcom_scm-smc.c drivers/firmware/qcom_scm.c drivers/firmware/qcom_scm.h drivers/gpio/gpio-lynxpoint.c drivers/gpio/gpio-thunderx.c drivers/gpio/gpiolib-of.c drivers/gpio/gpiolib.c drivers/gpio/sgpio-aspeed.c drivers/gpu/drm/amd/amdgpu/amdgpu_atombios.c drivers/gpu/drm/amd/amdgpu/amdgpu_discovery.c drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c drivers/gpu/drm/amd/amdgpu/amdgpu_object.c drivers/gpu/drm/amd/amdgpu/amdgpu_ras.c drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c drivers/gpu/drm/amd/amdgpu/df_v3_6.c drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c drivers/gpu/drm/amd/display/dc/core/dc_link.c drivers/gpu/drm/amd/display/dc/dcn20/dcn20_resource.c drivers/gpu/drm/amd/powerplay/arcturus_ppt.c drivers/gpu/drm/bridge/Kconfig drivers/gpu/drm/bridge/Makefile drivers/gpu/drm/drm_dp_helper.c drivers/gpu/drm/drm_dp_mst_topology.c drivers/gpu/drm/drm_rect.c drivers/gpu/drm/i915/Kconfig.debug drivers/gpu/drm/i915/gt/intel_engine.h drivers/gpu/drm/i915/gt/intel_engine_types.h drivers/gpu/drm/i915/gt/intel_lrc.c drivers/gpu/drm/i915/gt/intel_ringbuffer.c drivers/gpu/drm/i915/i915_gem_gtt.c drivers/gpu/drm/i915/intel_pm.c drivers/gpu/drm/ingenic/ingenic-drm.c drivers/gpu/drm/mediatek/mtk_drm_crtc.c drivers/gpu/drm/msm/adreno/a6xx_gmu.h drivers/gpu/drm/nouveau/nvkm/engine/gr/gk20a.c drivers/gpu/drm/nouveau/nvkm/subdev/secboot/gm20b.c drivers/gpu/drm/panel/panel-lvds.c drivers/gpu/drm/panfrost/panfrost_devfreq.c drivers/gpu/drm/panfrost/panfrost_job.c drivers/gpu/drm/tegra/drm.c drivers/hid/hid-ite.c drivers/i2c/busses/i2c-jz4780.c drivers/infiniband/core/device.c drivers/infiniband/hw/hfi1/user_exp_rcv.c drivers/infiniband/hw/hns/hns_roce_device.h drivers/infiniband/hw/hns/hns_roce_hw_v2.c drivers/infiniband/hw/mlx5/main.c drivers/input/tablet/gtco.c drivers/input/touchscreen/ili210x.c drivers/input/touchscreen/st1232.c drivers/iommu/arm-smmu-qcom.c drivers/iommu/arm-smmu.c drivers/iommu/arm-smmu.h drivers/iommu/dma-iommu.c drivers/iommu/intel-pasid.c drivers/iommu/intel-svm.c drivers/iommu/io-pgtable-arm.c drivers/iommu/iommu.c drivers/iommu/iova.c drivers/iommu/mtk_iommu.c drivers/iommu/mtk_iommu.h drivers/irqchip/Kconfig drivers/irqchip/irq-ingenic.c drivers/leds/leds-lm3692x.c drivers/leds/leds-tlc591xx.c drivers/md/bcache/journal.c drivers/md/bcache/super.c drivers/md/dm-thin.c drivers/media/i2c/ov6650.c drivers/media/platform/sunxi/sun4i-csi/sun4i_csi.c drivers/media/usb/pulse8-cec/pulse8-cec.c drivers/media/v4l2-core/v4l2-compat-ioctl32.c drivers/media/v4l2-core/videobuf-dma-sg.c drivers/misc/mei/hw-me-regs.h drivers/mmc/core/host.c drivers/mmc/core/slot-gpio.c drivers/mmc/host/pxamci.c drivers/mmc/host/sdhci-esdhc-imx.c drivers/mmc/host/sdhci-of-at91.c drivers/mmc/host/sdhci-of-esdhc.c drivers/mmc/host/sdhci_am654.c drivers/mtd/nand/onenand/Makefile drivers/mtd/nand/onenand/omap2.c drivers/mtd/nand/onenand/samsung_mtd.c drivers/mtd/spi-nor/spi-nor.c drivers/net/ethernet/amazon/ena/ena_com.c drivers/net/ethernet/amazon/ena/ena_netdev.c drivers/net/ethernet/broadcom/bnxt/bnxt.c drivers/net/ethernet/broadcom/bnxt/bnxt.h drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.c drivers/net/ethernet/broadcom/bnxt/bnxt_devlink.h drivers/net/ethernet/freescale/dpaa/dpaa_eth.c drivers/net/ethernet/intel/e1000e/netdev.c drivers/net/ethernet/marvell/mvneta.c drivers/net/ethernet/mellanox/mlx5/core/eswitch_offloads.c drivers/net/ethernet/mellanox/mlx5/core/wq.c drivers/net/ethernet/mellanox/mlx5/core/wq.h drivers/net/ethernet/mellanox/mlxsw/spectrum.c drivers/net/ethernet/mellanox/mlxsw/spectrum_qdisc.c drivers/net/ethernet/xscale/ixp4xx_eth.c drivers/net/phy/fixed_phy.c drivers/net/phy/phylink.c drivers/net/phy/realtek.c drivers/net/usb/r8152.c drivers/net/wireless/ath/wil6210/wil_platform.c drivers/net/wireless/intel/iwlwifi/mvm/fw.c drivers/net/wireless/realtek/rtw88/fw.c drivers/opp/of.c drivers/pci/controller/dwc/pci-meson.c drivers/pci/pci-driver.c drivers/phy/motorola/phy-cpcap-usb.c drivers/platform/x86/intel_pmc_core.c drivers/platform/x86/intel_scu_ipc.c drivers/power/supply/axp20x_ac_power.c drivers/regulator/core.c drivers/reset/core.c drivers/rtc/Kconfig drivers/rtc/rtc-hym8563.c drivers/rtc/rtc-mt6397.c drivers/s390/crypto/pkey_api.c drivers/s390/net/qeth_core.h drivers/s390/net/qeth_core_main.c drivers/s390/net/qeth_l2_main.c drivers/s390/net/qeth_l2_sys.c drivers/s390/net/qeth_l3_main.c drivers/s390/net/qeth_l3_sys.c drivers/scsi/hisi_sas/hisi_sas_main.c drivers/scsi/lpfc/lpfc_ct.c drivers/scsi/qla2xxx/qla_def.h drivers/scsi/qla2xxx/qla_init.c drivers/scsi/qla2xxx/qla_target.c drivers/scsi/sd.c drivers/scsi/sd_zbc.c drivers/scsi/ufs/ufshcd-crypto.c drivers/scsi/ufs/ufshcd.c drivers/soc/qcom/Makefile drivers/soc/qcom/spcom.c drivers/spi/spi-dw.c drivers/spi/spi-sprd.c drivers/staging/android/ion/heaps/Kconfig drivers/staging/android/ion/heaps/msm_ion.c drivers/staging/media/hantro/hantro_h264.c drivers/staging/rtl8188eu/os_dep/ioctl_linux.c drivers/staging/rtl8723bs/os_dep/ioctl_linux.c drivers/target/iscsi/iscsi_target_auth.c drivers/tee/optee/core.c drivers/thermal/broadcom/brcmstb_thermal.c drivers/tty/serdev/core.c drivers/tty/serial/Kconfig drivers/tty/serial/samsung_tty.c drivers/usb/dwc3/host.c drivers/usb/gadget/composite.c drivers/vhost/vsock.c drivers/watchdog/imx7ulp_wdt.c fs/btrfs/async-thread.c fs/btrfs/disk-io.c fs/btrfs/inode.c fs/btrfs/transaction.c fs/btrfs/volumes.c fs/compat_ioctl.c fs/crypto/Kconfig fs/crypto/fscrypt_private.h fs/ext4/ext4.h fs/ext4/inode.c fs/ext4/super.c fs/f2fs/compress.c fs/f2fs/data.c fs/hugetlbfs/inode.c fs/incfs/format.h fs/incfs/vfs.c fs/io_uring.c fs/iomap/direct-io.c fs/jbd2/journal.c fs/jbd2/transaction.c fs/libfs.c fs/nfs/dir.c fs/nfs/nfs2xdr.c fs/nfsd/nfs4proc.c fs/nfsd/nfs4state.c fs/nfsd/state.h fs/nfsd/vfs.c fs/ubifs/ioctl.c fs/xfs/xfs_ioctl.c fs/xfs/xfs_ioctl32.c include/asm-generic/tlb.h include/crypto/skcipher.h include/drm/drm_dp_helper.h include/linux/arm-smccc.h include/linux/device.h include/linux/dma-direct.h include/linux/hugetlb.h include/linux/io-pgtable.h include/linux/iommu.h include/linux/mfd/rohm-bd70528.h include/linux/mfd/syscon.h include/linux/padata.h include/linux/perf_event.h include/linux/qcom_scm.h include/linux/rculist_nulls.h include/net/udp.h include/rdma/ib_verbs.h include/trace/events/f2fs.h include/uapi/sound/asound.h init/Kconfig.gki kernel/bpf/devmap.c kernel/dma/direct.c kernel/dma/mapping.c kernel/events/core.c kernel/locking/spinlock_debug.c kernel/padata.c kernel/rcu/tree_exp.h kernel/sched/fair.c kernel/sched/idle.c kernel/sched/psi.c kernel/sched/sched.h kernel/signal.c kernel/time/alarmtimer.c kernel/trace/blktrace.c kernel/trace/ring_buffer.c kernel/trace/trace.c kernel/trace/trace_events_hist.c kernel/workqueue.c mm/Kconfig mm/debug.c mm/gup.c mm/huge_memory.c mm/hugetlb.c mm/memory_hotplug.c mm/mmu_gather.c mm/oom_kill.c mm/page_alloc.c mm/userfaultfd.c net/Makefile net/core/sock_map.c net/hsr/hsr_framereg.c net/netfilter/nf_tables_api.c net/netfilter/nf_tables_offload.c net/netfilter/nft_bitwise.c net/netfilter/nft_meta.c net/qrtr/Makefile net/qrtr/qrtr.c net/socket.c net/sunrpc/cache.c net/sunrpc/xprtrdma/rpc_rdma.c net/sunrpc/xprtrdma/transport.c net/sunrpc/xprtrdma/verbs.c net/vmw_vsock/hyperv_transport.c samples/bpf/xdp_adjust_tail_kern.c scripts/kallsyms.c security/integrity/ima/ima_policy.c security/selinux/Kconfig security/selinux/hooks.c security/selinux/include/security.h security/selinux/ss/services.c security/selinux/ss/sidtab.c security/selinux/ss/sidtab.h sound/pci/hda/hda_tegra.c sound/pci/hda/patch_realtek.c sound/soc/codecs/msm8916-wcd-analog.c sound/soc/meson/axg-fifo.c sound/soc/meson/axg-fifo.h sound/soc/meson/axg-frddr.c sound/soc/sh/rcar/core.c sound/soc/soc-topology.c sound/soc/sof/core.c sound/soc/sof/loader.c sound/soc/stm/stm32_spdifrx.c sound/usb/format.c sound/usb/pcm.c sound/usb/quirks.c tools/objtool/sync-check.sh tools/perf/util/machine.c tools/power/x86/intel-speed-select/isst-core.c tools/testing/selftests/bpf/bpf_helpers.h tools/testing/selftests/bpf/prog_tests/perf_buffer.c tools/testing/selftests/bpf/test_select_reuseport.c usr/gen_initramfs_list.sh usr/include/Makefile virt/kvm/arm/mmio.c virt/kvm/kvm_main.c Change-Id: I762c28d9707728f9a86ee59eb27f000470e1c103 Signed-off-by: Ivaylo Georgiev <irgeorgiev@codeaurora.org>
2020-07-03 02:48:07 +09:00
ARCH_ZYNQ || ARCH_ASPEED || ARCH_QCOM
default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || \
SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210
default 416 if ARCH_SUNXI
default 392 if ARCH_U8500
default 352 if ARCH_VT8500
default 288 if ARCH_ROCKCHIP
default 264 if MACH_H4700
default 0
help
Maximum number of GPIOs in the system.
If unsure, leave the default value.
config HZ_FIXED
int
ARM: Drop fixed 200 Hz timer requirement from Samsung platforms All Samsung platforms, including the Exynos, are selecting HZ_FIXED with 200 Hz. Unfortunately in case of multiplatform image this affects also other platforms when Exynos is enabled. This looks like an very old legacy code, dating back to initial upstreaming of S3C24xx. Probably it was required for s3c24xx timer driver, which was removed in commit ad38bdd15d5b ("ARM: SAMSUNG: Remove unused plat-samsung/time.c"). Since then, this fixed 200 Hz spread everywhere, including out-of-tree Samsung kernels (SoC vendor's and Tizen's). I believe this choice was rather an effect of coincidence instead of conscious choice. On S3C24xx, the PWM counter is only 16 bit wide, and with the typical 12MHz input clock that overflows every 5.5ms. This works with HZ=200 or higher but not with HZ=100 which needs a 10ms interval between ticks. On Later chips (S3C64xx, S5P and EXYNOS), the counter is 32 bits and does not have this problem. The new samsung_pwm_timer driver solves the problem by scaling the input clock by a factor of 50 on S3C24xx, which makes it less accurate but allows HZ=100 as well as CONFIG_NO_HZ with fewer wakeups. Few perf mem and sched tests on Odroid XU3 board (Exynos5422, 4x Cortex A7, 4x Cortex A15) show no regressions when switching from 200 Hz to other values. Reported-by: Lee Jones <lee.jones@linaro.org> [Dropping of 200_HZ from S3C/S5P was suggested by Arnd] Reported-by: Arnd Bergmann <arnd@arndb.de> Cc: Kukjin Kim <kgene@kernel.org> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> [Tested on Exynos5800] Tested-by: Javier Martinez Canillas <javier@osg.samsung.com> Acked-by: Kukjin Kim <kgene@kernel.org> [Tested on S3C2440] Tested-by: Sylwester Nawrocki <s.nawrocki@samsung.com> Acked-by: Lee Jones <lee.jones@linaro.org>
2016-11-18 20:15:12 +09:00
default 200 if ARCH_EBSA110
default 128 if SOC_AT91RM9200
default 0
choice
depends on HZ_FIXED = 0
prompt "Timer frequency"
config HZ_100
bool "100 Hz"
config HZ_200
bool "200 Hz"
config HZ_250
bool "250 Hz"
config HZ_300
bool "300 Hz"
config HZ_500
bool "500 Hz"
config HZ_1000
bool "1000 Hz"
endchoice
config HZ
int
default HZ_FIXED if HZ_FIXED != 0
default 100 if HZ_100
default 200 if HZ_200
default 250 if HZ_250
default 300 if HZ_300
default 500 if HZ_500
default 1000
config SCHED_HRTICK
def_bool HIGH_RES_TIMERS
config THUMB2_KERNEL
bool "Compile the kernel in Thumb-2 mode" if !CPU_THUMBONLY
depends on (CPU_V7 || CPU_V7M) && !CPU_V6 && !CPU_V6K
default y if CPU_THUMBONLY
select ARM_UNWIND
help
By enabling this option, the kernel will be compiled in
Thumb-2 mode.
If unsure, say N.
config ARM_PATCH_IDIV
bool "Runtime patch udiv/sdiv instructions into __aeabi_{u}idiv()"
depends on CPU_32v7 && !XIP_KERNEL
default y
help
The ARM compiler inserts calls to __aeabi_idiv() and
__aeabi_uidiv() when it needs to perform division on signed
and unsigned integers. Some v7 CPUs have support for the sdiv
and udiv instructions that can be used to implement those
functions.
Enabling this option allows the kernel to modify itself to
replace the first two instructions of these library functions
with the sdiv or udiv plus "bx lr" instructions when the CPU
it is running on supports them. Typically this will be faster
and less power intensive than running the original library
code to do integer division.
config AEABI
bool "Use the ARM EABI to compile the kernel" if !CPU_V7 && \
!CPU_V7M && !CPU_V6 && !CPU_V6K && !CC_IS_CLANG
default CPU_V7 || CPU_V7M || CPU_V6 || CPU_V6K || CC_IS_CLANG
help
This option allows for the kernel to be compiled using the latest
ARM ABI (aka EABI). This is only useful if you are using a user
space environment that is also compiled with EABI.
Since there are major incompatibilities between the legacy ABI and
EABI, especially with regard to structure member alignment, this
option also changes the kernel syscall calling convention to
disambiguate both ABIs and allow for backward compatibility support
(selected with CONFIG_OABI_COMPAT).
To use this you need GCC version 4.0.0 or later.
config OABI_COMPAT
bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
depends on AEABI && !THUMB2_KERNEL
help
This option preserves the old syscall interface along with the
new (ARM EABI) one. It also provides a compatibility layer to
intercept syscalls that have structure arguments which layout
in memory differs between the legacy ABI and the new ARM EABI
(only for non "thumb" binaries). This option adds a tiny
overhead to all syscalls and produces a slightly larger kernel.
The seccomp filter system will not be available when this is
selected, since there is no way yet to sensibly distinguish
between calling conventions during filtering.
If you know you'll be using only pure EABI user space then you
can say N here. If this option is not selected and you attempt
to execute a legacy ABI binary then the result will be
UNPREDICTABLE (in fact it can be predicted that it won't work
at all). If in doubt say N.
2020-05-22 23:12:30 +09:00
config ARCH_SELECT_MEMORY_MODEL
bool
config ARCH_FLATMEM_ENABLE
bool
config ARCH_SPARSEMEM_ENABLE
bool
2020-05-22 23:12:30 +09:00
select SPARSEMEM_STATIC if SPARSEMEM
ARM: 6913/1: sparsemem: allow pfn_valid to be overridden when using SPARSEMEM In commit eb33575c ("[ARM] Double check memmap is actually valid with a memmap has unexpected holes V2"), a new function, memmap_valid_within, was introduced to mmzone.h so that holes in the memmap which pass pfn_valid in SPARSEMEM configurations can be detected and avoided. The fix to this problem checks that the pfn <-> page linkages are correct by calculating the page for the pfn and then checking that page_to_pfn on that page returns the original pfn. Unfortunately, in SPARSEMEM configurations, this results in reading from the page flags to determine the correct section. Since the memmap here has been freed, junk is read from memory and the check is no longer robust. In the best case, reading from /proc/pagetypeinfo will give you the wrong answer. In the worst case, you get SEGVs, Kernel OOPses and hung CPUs. Furthermore, ioremap implementations that use pfn_valid to disallow the remapping of normal memory will break. This patch allows architectures to provide their own pfn_valid function instead of using the default implementation used by sparsemem. The architecture-specific version is aware of the memmap state and will return false when passed a pfn for a freed page within a valid section. Acked-by: Mel Gorman <mgorman@suse.de> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Tested-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-05-19 21:21:14 +09:00
config HAVE_ARCH_PFN_VALID
arm: remove CONFIG_ARCH_HAS_HOLES_MEMORYMODEL commit 5e545df3292fbd3d5963c68980f1527ead2a2b3f upstream. ARM is the only architecture that defines CONFIG_ARCH_HAS_HOLES_MEMORYMODEL which in turn enables memmap_valid_within() function that is intended to verify existence of struct page associated with a pfn when there are holes in the memory map. However, the ARCH_HAS_HOLES_MEMORYMODEL also enables HAVE_ARCH_PFN_VALID and arch-specific pfn_valid() implementation that also deals with the holes in the memory map. The only two users of memmap_valid_within() call this function after a call to pfn_valid() so the memmap_valid_within() check becomes redundant. Remove CONFIG_ARCH_HAS_HOLES_MEMORYMODEL and memmap_valid_within() and rely entirely on ARM's implementation of pfn_valid() that is now enabled unconditionally. Link: https://lkml.kernel.org/r/20201101170454.9567-9-rppt@kernel.org Signed-off-by: Mike Rapoport <rppt@linux.ibm.com> Cc: Alexey Dobriyan <adobriyan@gmail.com> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Geert Uytterhoeven <geert@linux-m68k.org> Cc: Greg Ungerer <gerg@linux-m68k.org> Cc: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> Cc: Jonathan Corbet <corbet@lwn.net> Cc: Matt Turner <mattst88@gmail.com> Cc: Meelis Roos <mroos@linux.ee> Cc: Michael Schmitz <schmitzmic@gmail.com> Cc: Russell King <linux@armlinux.org.uk> Cc: Tony Luck <tony.luck@intel.com> Cc: Vineet Gupta <vgupta@synopsys.com> Cc: Will Deacon <will@kernel.org> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org> Reported-by: kernel test robot <lkp@intel.com> Fixes: 8dd559d53b3b ("arm: ioremap: don't abuse pfn_valid() to check if pfn is in RAM") Signed-off-by: Mike Rapoport <rppt@linux.ibm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-12-15 12:09:55 +09:00
def_bool y
ARM: 6913/1: sparsemem: allow pfn_valid to be overridden when using SPARSEMEM In commit eb33575c ("[ARM] Double check memmap is actually valid with a memmap has unexpected holes V2"), a new function, memmap_valid_within, was introduced to mmzone.h so that holes in the memmap which pass pfn_valid in SPARSEMEM configurations can be detected and avoided. The fix to this problem checks that the pfn <-> page linkages are correct by calculating the page for the pfn and then checking that page_to_pfn on that page returns the original pfn. Unfortunately, in SPARSEMEM configurations, this results in reading from the page flags to determine the correct section. Since the memmap here has been freed, junk is read from memory and the check is no longer robust. In the best case, reading from /proc/pagetypeinfo will give you the wrong answer. In the worst case, you get SEGVs, Kernel OOPses and hung CPUs. Furthermore, ioremap implementations that use pfn_valid to disallow the remapping of normal memory will break. This patch allows architectures to provide their own pfn_valid function instead of using the default implementation used by sparsemem. The architecture-specific version is aware of the memmap state and will return false when passed a pfn for a freed page within a valid section. Acked-by: Mel Gorman <mgorman@suse.de> Acked-by: Catalin Marinas <catalin.marinas@arm.com> Tested-by: H Hartley Sweeten <hsweeten@visionengravers.com> Signed-off-by: Will Deacon <will.deacon@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2011-05-19 21:21:14 +09:00
config HIGHMEM
bool "High Memory Support"
depends on MMU
help
The address space of ARM processors is only 4 Gigabytes large
and it has to accommodate user address space, kernel address
space as well as some memory mapped IO. That means that, if you
have a large amount of physical memory and/or IO, not all of the
memory can be "permanently mapped" by the kernel. The physical
memory that is not permanently mapped is called "high memory".
Depending on the selected kernel/user memory split, minimum
vmalloc space and actual amount of RAM, you may not need this
option which should result in a slightly faster kernel.
If unsure, say n.
config HIGHPTE
bool "Allocate 2nd-level pagetables from highmem" if EXPERT
depends on HIGHMEM
default y
help
The VM uses one page of physical memory for each page table.
For systems with a lot of processes, this can use a lot of
precious low memory, eventually leading to low memory being
consumed by page tables. Setting this option will allow
user-space 2nd level page tables to reside in high memory.
config CPU_SW_DOMAIN_PAN
bool "Enable use of CPU domains to implement privileged no-access"
depends on MMU && !ARM_LPAE
default y
help
Increase kernel security by ensuring that normal kernel accesses
are unable to access userspace addresses. This can help prevent
use-after-free bugs becoming an exploitable privilege escalation
by ensuring that magic values (such as LIST_POISON) will always
fault when dereferenced.
CPUs with low-vector mappings use a best-efforts implementation.
Their lower 1MB needs to remain accessible for the vectors, but
the remainder of userspace will become appropriately inaccessible.
config HW_PERF_EVENTS
def_bool y
depends on ARM_PMU
config SYS_SUPPORTS_HUGETLBFS
def_bool y
depends on ARM_LPAE
config HAVE_ARCH_TRANSPARENT_HUGEPAGE
def_bool y
depends on ARM_LPAE
config ARCH_WANT_GENERAL_HUGETLB
def_bool y
config ARM_MODULE_PLTS
bool "Use PLTs to allow module memory to spill over into vmalloc area"
depends on MODULES
default y
help
Allocate PLTs when loading modules so that jumps and calls whose
targets are too far away for their relative offsets to be encoded
in the instructions themselves can be bounced via veneers in the
module's PLT. This allows modules to be allocated in the generic
vmalloc area after the dedicated module memory area has been
exhausted. The modules will use slightly more memory, but after
rounding up to page size, the actual memory footprint is usually
the same.
Disabling this is usually safe for small single-platform
configurations. If unsure, say y.
choice
prompt "Virtual Memory Reclaim"
default NO_VM_RECLAIM
help
Select the method of reclaiming virtual memory. Two values
are allowed to choose, one is NO_VM_RECLAIM, the other is
ENABLE_VMALLOC_SAVING.
If you are not absolutely sure what you are doing, leave this
option alone.
config ENABLE_VMALLOC_SAVING
bool "Reclaim memory for each subsystem"
help
Enable this config to reclaim the virtual space belonging
to any subsystem which is expected to have a lifetime of
the entire system. This feature allows lowmem to be non-
contiguous.
config NO_VM_RECLAIM
bool "Do not reclaim memory"
help
Do not reclaim any memory. This might result in less lowmem
and wasting some virtual memory space which could otherwise
be reclaimed by using any of the other two config options as
above.
endchoice
config FORCE_MAX_ZONEORDER
int "Maximum zone order"
default "12" if SOC_AM33XX
default "9" if SA1111 || ARCH_EFM32
default "11"
help
The kernel memory allocator divides physically contiguous memory
blocks into "zones", where each zone is a power of two number of
pages. This option selects the largest power of two that the kernel
keeps in the memory allocator. If you need to allocate very large
blocks of physically contiguous memory, then you may need to
increase this value.
This config option is actually maximum order plus one. For example,
a value of 11 means that the largest free memory block is 2^10 pages.
config ALIGNMENT_TRAP
bool
depends on CPU_CP15_MMU
default y if !ARCH_EBSA110
select HAVE_PROC_CPU if PROC_FS
help
ARM processors cannot fetch/store information which is not
naturally aligned on the bus, i.e., a 4 byte fetch must start at an
address divisible by 4. On 32-bit ARM processors, these non-aligned
fetch/store instructions will be emulated in software if you say
here, which has a severe performance impact. This is necessary for
correct operation of some network protocols. With an IP-only
configuration it is safe to say N, otherwise say Y.
[ARM] alternative copy_to_user/clear_user implementation This implements {copy_to,clear}_user() by faulting in the userland pages and then using the regular kernel mem{cpy,set}() to copy the data (while holding the page table lock). This is a win if the regular mem{cpy,set}() implementations are faster than the user copy functions, which is the case e.g. on Feroceon, where 8-word STMs (which memcpy() uses under the right conditions) give significantly higher memory write throughput than a sequence of individual 32bit stores. Here are numbers for page sized buffers on some Feroceon cores: - copy_to_user on Orion5x goes from 51 MB/s to 83 MB/s - clear_user on Orion5x goes from 89MB/s to 314MB/s - copy_to_user on Kirkwood goes from 240 MB/s to 356 MB/s - clear_user on Kirkwood goes from 367 MB/s to 1108 MB/s - copy_to_user on Disco-Duo goes from 248 MB/s to 398 MB/s - clear_user on Disco-Duo goes from 328 MB/s to 1741 MB/s Because the setup cost is non negligible, this is worthwhile only if the amount of data to copy is large enough. The operation falls back to the standard implementation when the amount of data is below a certain threshold. This threshold was determined empirically, however some targets could benefit from a lower runtime determined value for optimal results eventually. In the copy_from_user() case, this technique does not provide any worthwhile performance gain due to the fact that any kind of read access allocates the cache and subsequent 32bit loads are just as fast as the equivalent 8-word LDM. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: Nicolas Pitre <nico@marvell.com> Tested-by: Martin Michlmayr <tbm@cyrius.com>
2009-03-10 03:30:09 +09:00
config UACCESS_WITH_MEMCPY
bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user()"
depends on MMU
[ARM] alternative copy_to_user/clear_user implementation This implements {copy_to,clear}_user() by faulting in the userland pages and then using the regular kernel mem{cpy,set}() to copy the data (while holding the page table lock). This is a win if the regular mem{cpy,set}() implementations are faster than the user copy functions, which is the case e.g. on Feroceon, where 8-word STMs (which memcpy() uses under the right conditions) give significantly higher memory write throughput than a sequence of individual 32bit stores. Here are numbers for page sized buffers on some Feroceon cores: - copy_to_user on Orion5x goes from 51 MB/s to 83 MB/s - clear_user on Orion5x goes from 89MB/s to 314MB/s - copy_to_user on Kirkwood goes from 240 MB/s to 356 MB/s - clear_user on Kirkwood goes from 367 MB/s to 1108 MB/s - copy_to_user on Disco-Duo goes from 248 MB/s to 398 MB/s - clear_user on Disco-Duo goes from 328 MB/s to 1741 MB/s Because the setup cost is non negligible, this is worthwhile only if the amount of data to copy is large enough. The operation falls back to the standard implementation when the amount of data is below a certain threshold. This threshold was determined empirically, however some targets could benefit from a lower runtime determined value for optimal results eventually. In the copy_from_user() case, this technique does not provide any worthwhile performance gain due to the fact that any kind of read access allocates the cache and subsequent 32bit loads are just as fast as the equivalent 8-word LDM. Signed-off-by: Lennert Buytenhek <buytenh@marvell.com> Signed-off-by: Nicolas Pitre <nico@marvell.com> Tested-by: Martin Michlmayr <tbm@cyrius.com>
2009-03-10 03:30:09 +09:00
default y if CPU_FEROCEON
help
Implement faster copy_to_user and clear_user methods for CPU
cores where a 8-word STM instruction give significantly higher
memory write throughput than a sequence of individual 32bit stores.
A possible side effect is a slight increase in scheduling latency
between threads sharing the same address space if they invoke
such copy operations with large buffers.
However, if the CPU data cache is using a write-allocate mode,
this option is unlikely to provide any performance gain.
config PARAVIRT
bool "Enable paravirtualization code"
help
This changes the kernel so it can modify itself when it is run
under a hypervisor, potentially improving performance significantly
over full virtualization.
config PARAVIRT_TIME_ACCOUNTING
bool "Paravirtual steal time accounting"
select PARAVIRT
help
Select this option to enable fine granularity task steal time
accounting. Time spent executing other tasks in parallel with
the current vCPU is discounted from the vCPU power. To account for
that, there can be a small performance impact.
If in doubt, say N here.
config XEN_DOM0
def_bool y
depends on XEN
config XEN
bool "Xen guest support on ARM"
xen: arm: mandate EABI and use generic atomic operations. Rob Herring has observed that c81611c4e96f "xen: event channel arrays are xen_ulong_t and not unsigned long" introduced a compile failure when building without CONFIG_AEABI: /tmp/ccJaIZOW.s: Assembler messages: /tmp/ccJaIZOW.s:831: Error: even register required -- `ldrexd r5,r6,[r4]' Will Deacon pointed out that this is because OABI does not require even base registers for 64-bit values. We can avoid this by simply using the existing atomic64_xchg operation and the same containerof trick as used by the cmpxchg macros. However since this code is used on memory which is shared with the hypervisor we require proper atomic instructions and cannot use the generic atomic64 callbacks (which are based on spinlocks), therefore add a dependency on !GENERIC_ATOMIC64. Since we already depend on !CPU_V6 there isn't much downside to this. While thinking about this we also observed that OABI has different struct alignment requirements to EABI, which is a problem for hypercall argument structs which are shared with the hypervisor and which must be in EABI layout. Since I don't expect people to want to run OABI kernels on Xen depend on CONFIG_AEABI explicitly too (although it also happens to be enforced by the !GENERIC_ATOMIC64 requirement too). Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Rob Herring <robherring2@gmail.com> Acked-by: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2013-03-07 16:17:25 +09:00
depends on ARM && AEABI && OF
depends on CPU_V7 && !CPU_V6
xen: arm: mandate EABI and use generic atomic operations. Rob Herring has observed that c81611c4e96f "xen: event channel arrays are xen_ulong_t and not unsigned long" introduced a compile failure when building without CONFIG_AEABI: /tmp/ccJaIZOW.s: Assembler messages: /tmp/ccJaIZOW.s:831: Error: even register required -- `ldrexd r5,r6,[r4]' Will Deacon pointed out that this is because OABI does not require even base registers for 64-bit values. We can avoid this by simply using the existing atomic64_xchg operation and the same containerof trick as used by the cmpxchg macros. However since this code is used on memory which is shared with the hypervisor we require proper atomic instructions and cannot use the generic atomic64 callbacks (which are based on spinlocks), therefore add a dependency on !GENERIC_ATOMIC64. Since we already depend on !CPU_V6 there isn't much downside to this. While thinking about this we also observed that OABI has different struct alignment requirements to EABI, which is a problem for hypercall argument structs which are shared with the hypervisor and which must be in EABI layout. Since I don't expect people to want to run OABI kernels on Xen depend on CONFIG_AEABI explicitly too (although it also happens to be enforced by the !GENERIC_ATOMIC64 requirement too). Signed-off-by: Ian Campbell <ian.campbell@citrix.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Rob Herring <robherring2@gmail.com> Acked-by: Stefano Stabellini <Stefano.Stabellini@eu.citrix.com> Cc: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
2013-03-07 16:17:25 +09:00
depends on !GENERIC_ATOMIC64
depends on MMU
select ARCH_DMA_ADDR_T_64BIT
select ARM_PSCI
select SWIOTLB
xen/arm,arm64: enable SWIOTLB_XEN Xen on arm and arm64 needs SWIOTLB_XEN: when running on Xen we need to program the hardware with mfns rather than pfns for dma addresses. Remove SWIOTLB_XEN dependency on X86 and PCI and make XEN select SWIOTLB_XEN on arm and arm64. At the moment always rely on swiotlb-xen, but when Xen starts supporting hardware IOMMUs we'll be able to avoid it conditionally on the presence of an IOMMU on the platform. Implement xen_create_contiguous_region on arm and arm64: for the moment we assume that dom0 has been mapped 1:1 (physical addresses == machine addresses) therefore we don't need to call XENMEM_exchange. Simply return the physical address as dma address. Initialize the xen-swiotlb from xen_early_init (before the native dma_ops are initialized), set xen_dma_ops to &xen_swiotlb_dma_ops. Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com> Changes in v8: - assume dom0 is mapped 1:1, no need to call XENMEM_exchange. Changes in v7: - call __set_phys_to_machine_multi from xen_create_contiguous_region and xen_destroy_contiguous_region to update the P2M; - don't call XENMEM_unpin, it has been removed; - call XENMEM_exchange instead of XENMEM_exchange_and_pin; - set nr_exchanged to 0 before calling the hypercall. Changes in v6: - introduce and export xen_dma_ops; - call xen_mm_init from as arch_initcall. Changes in v4: - remove redefinition of DMA_ERROR_CODE; - update the code to use XENMEM_exchange_and_pin and XENMEM_unpin; - add a note about hardware IOMMU in the commit message. Changes in v3: - code style changes; - warn on XENMEM_put_dma_buf failures.
2013-10-10 22:40:44 +09:00
select SWIOTLB_XEN
select PARAVIRT
help
Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
config STACKPROTECTOR_PER_TASK
bool "Use a unique stack canary value for each task"
depends on GCC_PLUGINS && STACKPROTECTOR && SMP && !XIP_DEFLATED_DATA
select GCC_PLUGIN_ARM_SSP_PER_TASK
default y
help
Due to the fact that GCC uses an ordinary symbol reference from
which to load the value of the stack canary, this value can only
change at reboot time on SMP systems, and all tasks running in the
kernel's address space are forced to use the same canary value for
the entire duration that the system is up.
Enable this option to switch to a different method that uses a
different canary value for each task.
endmenu
menu "Boot options"
config USE_OF
bool "Flattened Device Tree support"
ARM: config: sort select statements alphanumerically As suggested by Andrew Morton: This is a pet peeve of mine. Any time there's a long list of items (header file inclusions, kconfig entries, array initalisers, etc) and someone wants to add a new item, they *always* go and stick it at the end of the list. Guys, don't do this. Either put the new item into a randomly-chosen position or, probably better, alphanumerically sort the list. lets sort all our select statements alphanumerically. This commit was created by the following perl: while (<>) { while (/\\\s*$/) { $_ .= <>; } undef %selects if /^\s*config\s+/; if (/^\s+select\s+(\w+).*/) { if (defined($selects{$1})) { if ($selects{$1} eq $_) { print STDERR "Warning: removing duplicated $1 entry\n"; } else { print STDERR "Error: $1 differently selected\n". "\tOld: $selects{$1}\n". "\tNew: $_\n"; exit 1; } } $selects{$1} = $_; next; } if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or /^endif/ or /^endchoice/)) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } undef %selects; } print; } if (%selects) { foreach $k (sort (keys %selects)) { print "$selects{$k}"; } } It found two duplicates: Warning: removing duplicated S5P_SETUP_MIPIPHY entry Warning: removing duplicated HARDIRQS_SW_RESEND entry and they are identical duplicates, hence the shrinkage in the diffstat of two lines. We have four testers reporting success of this change (Tony, Stephen, Linus and Sekhar.) Acked-by: Jason Cooper <jason@lakedaemon.net> Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Stephen Warren <swarren@nvidia.com> Acked-by: Linus Walleij <linus.walleij@linaro.org> Acked-by: Sekhar Nori <nsekhar@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2012-10-07 01:12:25 +09:00
select IRQ_DOMAIN
select OF
help
Include support for flattened device tree machine descriptions.
config ATAGS
bool "Support for the traditional ATAGS boot data passing" if USE_OF
default y
help
This is the traditional way of passing data to the kernel at boot
time. If you are solely relying on the flattened device tree (or
the ARM_ATAG_DTB_COMPAT option) then you may unselect this option
to remove ATAGS support from your kernel binary. If unsure,
leave this to y.
config DEPRECATED_PARAM_STRUCT
bool "Provide old way to pass kernel parameters"
depends on ATAGS
help
This was deprecated in 2001 and announced to live on for 5 years.
Some old boot loaders still use this way.
config BUILD_ARM_APPENDED_DTB_IMAGE
bool "Build a concatenated zImage/dtb by default"
depends on OF
help
Enabling this option will cause a concatenated zImage and list of
DTBs to be built by default (instead of a standalone zImage.)
The image will built in arch/arm/boot/zImage-dtb
config BUILD_ARM_APPENDED_DTB_IMAGE_NAME
string "Default dtb name"
depends on BUILD_ARM_APPENDED_DTB_IMAGE
help
Space separated list of names of dtbs to append when building a
concatenated zImage-dtb.
# Compressed boot loader in ROM. Yes, we really want to ask about
# TEXT and BSS so we preserve their values in the config files.
config ZBOOT_ROM_TEXT
hex "Compressed ROM boot loader base address"
default 0x0
help
The physical address at which the ROM-able zImage is to be
placed in the target. Platforms which normally make use of
ROM-able zImage formats normally set this to a suitable
value in their defconfig file.
If ZBOOT_ROM is not enabled, this has no effect.
config ZBOOT_ROM_BSS
hex "Compressed ROM boot loader BSS address"
default 0x0
help
The base address of an area of read/write memory in the target
for the ROM-able zImage which must be available while the
decompressor is running. It must be large enough to hold the
entire decompressed kernel plus an additional 128 KiB.
Platforms which normally make use of ROM-able zImage formats
normally set this to a suitable value in their defconfig file.
If ZBOOT_ROM is not enabled, this has no effect.
config ZBOOT_ROM
bool "Compressed boot loader in ROM/flash"
depends on ZBOOT_ROM_TEXT != ZBOOT_ROM_BSS
depends on !ARM_APPENDED_DTB && !XIP_KERNEL && !AUTO_ZRELADDR
help
Say Y here if you intend to execute your compressed kernel image
(zImage) directly from ROM or flash. If unsure, say N.
config ARM_APPENDED_DTB
bool "Use appended device tree blob to zImage (EXPERIMENTAL)"
depends on OF
help
With this option, the boot code will look for a device tree binary
(DTB) appended to zImage
(e.g. cat zImage <filename>.dtb > zImage_w_dtb).
This is meant as a backward compatibility convenience for those
systems with a bootloader that can't be upgraded to accommodate
the documented boot protocol using a device tree.
Beware that there is very little in terms of protection against
this option being confused by leftover garbage in memory that might
look like a DTB header after a reboot if no actual DTB is appended
to zImage. Do not leave this option active in a production kernel
if you don't intend to always append a DTB. Proper passing of the
location into r2 of a bootloader provided DTB is always preferable
to this option.
config ARM_ATAG_DTB_COMPAT
bool "Supplement the appended DTB with traditional ATAG information"
depends on ARM_APPENDED_DTB
help
Some old bootloaders can't be updated to a DTB capable one, yet
they provide ATAGs with memory configuration, the ramdisk address,
the kernel cmdline string, etc. Such information is dynamically
provided by the bootloader and can't always be stored in a static
DTB. To allow a device tree enabled kernel to be used with such
bootloaders, this option allows zImage to extract the information
from the ATAG list and store it at run time into the appended DTB.
choice
prompt "Kernel command line type" if ARM_ATAG_DTB_COMPAT
default ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER
config ARM_ATAG_DTB_COMPAT_CMDLINE_FROM_BOOTLOADER
bool "Use bootloader kernel arguments if available"
help
Uses the command-line options passed by the boot loader instead of
the device tree bootargs property. If the boot loader doesn't provide
any, the device tree bootargs property will be used.
config ARM_ATAG_DTB_COMPAT_CMDLINE_EXTEND
bool "Extend with bootloader kernel arguments"
help
The command-line arguments provided by the boot loader will be
appended to the the device tree bootargs property.
endchoice
config CMDLINE
string "Default kernel command string"
default ""
help
On some architectures (EBSA110 and CATS), there is currently no way
for the boot loader to pass arguments to the kernel. For these
architectures, you should supply some command-line options at build
time by entering them here. As a minimum, you should specify the
memory size and the root device (e.g., mem=64M root=/dev/nfs).
choice
prompt "Kernel command line type" if CMDLINE != ""
default CMDLINE_FROM_BOOTLOADER
config CMDLINE_FROM_BOOTLOADER
bool "Use bootloader kernel arguments if available"
help
Uses the command-line options passed by the boot loader. If
the boot loader doesn't provide any, the default kernel command
string provided in CMDLINE will be used.
config CMDLINE_EXTEND
bool "Extend bootloader kernel arguments"
help
The command-line arguments provided by the boot loader will be
appended to the default kernel command string.
config CMDLINE_FORCE
bool "Always use the default kernel command string"
help
Always use the default kernel command string, even if the boot
loader passes other arguments to the kernel.
This is useful if you cannot or don't want to change the
command-line options your boot loader passes to the kernel.
endchoice
config XIP_KERNEL
bool "Kernel Execute-In-Place from ROM"
depends on !ARM_LPAE && !ARCH_MULTIPLATFORM
help
Execute-In-Place allows the kernel to run from non-volatile storage
directly addressable by the CPU, such as NOR flash. This saves RAM
space since the text section of the kernel is not loaded from flash
to RAM. Read-write sections, such as the data section and stack,
are still copied to RAM. The XIP kernel is not compressed since
it has to run directly from flash, so it will take more space to
store it. The flash address used to link the kernel object files,
and for storing it, is configuration dependent. Therefore, if you
say Y here, you must know the proper physical address where to
store the kernel image depending on your own flash memory usage.
Also note that the make target becomes "make xipImage" rather than
"make zImage" or "make Image". The final kernel binary to put in
ROM memory will be arch/arm/boot/xipImage.
If unsure, say N.
config XIP_PHYS_ADDR
hex "XIP Kernel Physical Location"
depends on XIP_KERNEL
default "0x00080000"
help
This is the physical address in your flash memory the kernel will
be linked for and stored to. This address is dependent on your
own flash usage.
config XIP_DEFLATED_DATA
bool "Store kernel .data section compressed in ROM"
depends on XIP_KERNEL
select ZLIB_INFLATE
help
Before the kernel is actually executed, its .data section has to be
copied to RAM from ROM. This option allows for storing that data
in compressed form and decompressed to RAM rather than merely being
copied, saving some precious ROM space. A possible drawback is a
slightly longer boot delay.
config KEXEC
bool "Kexec system call (EXPERIMENTAL)"
ARM: 7759/1: decouple CPU offlining from reboot/shutdown Add comments to machine_shutdown()/halt()/power_off()/restart() that describe their purpose and/or requirements re: CPUs being active/not. In machine_shutdown(), replace the call to smp_send_stop() with a call to disable_nonboot_cpus(). This completely disables all but one CPU, thus satisfying the requirement that only a single CPU be active for kexec. Adjust Kconfig dependencies for this change. In machine_halt()/power_off()/restart(), call smp_send_stop() directly, rather than via machine_shutdown(); these functions don't need to completely de-activate all CPUs using hotplug, but rather just quiesce them. Remove smp_kill_cpus(), and its call from smp_send_stop(). smp_kill_cpus() was indirectly calling smp_ops.cpu_kill() without calling smp_ops.cpu_die() on the target CPUs first. At least some implementations of smp_ops had issues with this; it caused cpu_kill() to hang on Tegra, for example. Since smp_send_stop() is only used for shutdown, halt, and power-off, there is no need to attempt any kind of CPU hotplug here. Adjust Kconfig to reflect that machine_shutdown() (and hence kexec) relies upon disable_nonboot_cpus(). However, this alone doesn't guarantee that hotplug will work, or even that hotplug is implemented for a particular piece of HW that a multi-platform zImage runs on. Hence, add error-checking to machine_kexec() to determine whether it did work. Suggested-by: Russell King <rmk+kernel@arm.linux.org.uk> Signed-off-by: Stephen Warren <swarren@nvidia.com> Acked-by: Will Deacon <will.deacon@arm.com> Tested-by: Zhangfei Gao <zhangfei.gao@gmail.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2013-06-15 00:14:14 +09:00
depends on (!SMP || PM_SLEEP_SMP)
depends on MMU
2015-09-10 07:38:55 +09:00
select KEXEC_CORE
help
kexec is a system call that implements the ability to shutdown your
current kernel, and to start another kernel. It is like a reboot
but it is independent of the system firmware. And like a reboot
you can start any kernel with it, not just Linux.
It is an ongoing process to be certain the hardware in a machine
is properly shutdown, so do not be surprised if this code does not
initially work for you.
config ATAGS_PROC
bool "Export atags in procfs"
depends on ATAGS && KEXEC
default y
help
Should the atags used to boot the kernel be exported in an "atags"
file in procfs. Useful with kexec.
config CRASH_DUMP
bool "Build kdump crash kernel (EXPERIMENTAL)"
help
Generate crash dump after being started by kexec. This should
be normally only set in special crash dump kernels which are
loaded in the main kernel with kexec-tools into a specially
reserved region and then later executed after a crash by
kdump/kexec. The crash dump kernel must be compiled to a
memory address not used by the main kernel
For more details see Documentation/admin-guide/kdump/kdump.rst
config AUTO_ZRELADDR
bool "Auto calculation of the decompressed kernel image address"
help
ZRELADDR is the physical address where the decompressed kernel
image will be placed. If AUTO_ZRELADDR is selected, the address
will be determined at run-time by masking the current IP with
0xf8000000. This assumes the zImage being placed in the first 128MB
from start of memory.
config EFI_STUB
bool
config EFI
bool "UEFI runtime support"
depends on OF && !CPU_BIG_ENDIAN && MMU && AUTO_ZRELADDR && !XIP_KERNEL
select UCS2_STRING
select EFI_PARAMS_FROM_FDT
select EFI_STUB
select EFI_GENERIC_STUB
select EFI_RUNTIME_WRAPPERS
help
This option provides support for runtime services provided
by UEFI firmware (such as non-volatile variables, realtime
clock, and platform reset). A UEFI stub is also provided to
allow the kernel to be booted as an EFI application. This
is only useful for kernels that may run on systems that have
UEFI firmware.
efi/arm: Enable DMI/SMBIOS Wire up the existing arm64 support for SMBIOS tables (aka DMI) for ARM as well, by moving the arm64 init code to drivers/firmware/efi/arm-runtime.c (which is shared between ARM and arm64), and adding a asm/dmi.h header to ARM that defines the mapping routines for the firmware tables. This allows userspace to access these tables to discover system information exposed by the firmware. It also sets the hardware name used in crash dumps, e.g.: Unable to handle kernel NULL pointer dereference at virtual address 00000000 pgd = ed3c0000 [00000000] *pgd=bf1f3835 Internal error: Oops: 817 [#1] SMP THUMB2 Modules linked in: CPU: 0 PID: 759 Comm: bash Not tainted 4.10.0-09601-g0e8f38792120-dirty #112 Hardware name: QEMU KVM Virtual Machine, BIOS 0.0.0 02/06/2015 ^^^ NOTE: This does *NOT* enable or encourage the use of DMI quirks, i.e., the the practice of identifying the platform via DMI to decide whether certain workarounds for buggy hardware and/or firmware need to be enabled. This would require the DMI subsystem to be enabled much earlier than we do on ARM, which is non-trivial. Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Acked-by: Russell King <rmk+kernel@armlinux.org.uk> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Matt Fleming <matt@codeblueprint.co.uk> Cc: Peter Zijlstra <peterz@infradead.org> Cc: Thomas Gleixner <tglx@linutronix.de> Cc: linux-efi@vger.kernel.org Link: http://lkml.kernel.org/r/20170602135207.21708-14-ard.biesheuvel@linaro.org Signed-off-by: Ingo Molnar <mingo@kernel.org>
2017-06-02 22:52:07 +09:00
config DMI
bool "Enable support for SMBIOS (DMI) tables"
depends on EFI
default y
help
This enables SMBIOS/DMI feature for systems.
This option is only useful on systems that have UEFI firmware.
However, even with this option, the resultant kernel should
continue to boot on existing non-UEFI platforms.
NOTE: This does *NOT* enable or encourage the use of DMI quirks,
i.e., the the practice of identifying the platform via DMI to
decide whether certain workarounds for buggy hardware and/or
firmware need to be enabled. This would require the DMI subsystem
to be enabled much earlier than we do on ARM, which is non-trivial.
endmenu
menu "CPU Power Management"
source "drivers/cpufreq/Kconfig"
source "drivers/cpuidle/Kconfig"
endmenu
menu "Floating point emulation"
comment "At least one emulation must be selected"
config FPE_NWFPE
bool "NWFPE math emulation"
depends on (!AEABI || OABI_COMPAT) && !THUMB2_KERNEL
help
Say Y to include the NWFPE floating point emulator in the kernel.
This is necessary to run most binaries. Linux does not currently
support floating point hardware so you need to say Y here even if
your machine has an FPA or floating point co-processor podule.
You may say N here if you are going to load the Acorn FPEmulator
early in the bootup.
config FPE_NWFPE_XP
bool "Support extended precision"
depends on FPE_NWFPE
help
Say Y to include 80-bit support in the kernel floating-point
emulator. Otherwise, only 32 and 64-bit support is compiled in.
Note that gcc does not generate 80-bit operations by default,
so in most cases this option only enlarges the size of the
floating point emulator without any good reason.
You almost surely want to say N here.
config FPE_FASTFPE
bool "FastFPE math emulation (EXPERIMENTAL)"
depends on (!AEABI || OABI_COMPAT) && !CPU_32v3
help
Say Y here to include the FAST floating point emulator in the kernel.
This is an experimental much faster emulator which now also has full
precision for the mantissa. It does not support any exceptions.
It is very simple, and approximately 3-6 times faster than NWFPE.
It should be sufficient for most programs. It may be not suitable
for scientific calculations, but you have to check this for yourself.
If you do not feel you need a faster FP emulation you should better
choose NWFPE.
config VFP
bool "VFP-format floating point maths"
depends on CPU_V6 || CPU_V6K || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
help
Say Y to include VFP support code in the kernel. This is needed
if your hardware includes a VFP unit.
Please see <file:Documentation/arm/vfp/release-notes.rst> for
release notes and additional status information.
Say N if your target does not have VFP hardware.
config VFPv3
bool
depends on VFP
default y if CPU_V7
config NEON
bool "Advanced SIMD (NEON) Extension support"
depends on VFPv3 && CPU_V7
help
Say Y to include support code for NEON, the ARMv7 Advanced SIMD
Extension.
config KERNEL_MODE_NEON
bool "Support for NEON in kernel mode"
depends on NEON && AEABI
help
Say Y to include support for NEON in kernel mode.
endmenu
menu "Power management options"
source "kernel/power/Kconfig"
config ARCH_SUSPEND_POSSIBLE
depends on CPU_ARM920T || CPU_ARM926T || CPU_FEROCEON || CPU_SA1100 || \
CPU_V6 || CPU_V6K || CPU_V7 || CPU_V7M || CPU_XSC3 || CPU_XSCALE || CPU_MOHAWK
def_bool y
config ARM_CPU_SUSPEND
ARM: 8511/1: ARM64: kernel: PSCI: move PSCI idle management code to drivers/firmware ARM64 PSCI kernel interfaces that initialize idle states and implement the suspend API to enter them are generic and can be shared with the ARM architecture. To achieve that goal, this patch moves ARM64 PSCI idle management code to drivers/firmware, so that the interface to initialize and enter idle states can actually be shared by ARM and ARM64 arches back-ends. The ARM generic CPUidle implementation also requires the definition of a cpuidle_ops section entry for the kernel to initialize the CPUidle operations at boot based on the enable-method (ie ARM64 has the statically initialized cpu_ops counterparts for that purpose); therefore this patch also adds the required section entry on CONFIG_ARM for PSCI so that the kernel can initialize the PSCI CPUidle back-end when PSCI is the probed enable-method. On ARM64 this patch provides no functional change. Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by: Catalin Marinas <catalin.marinas@arm.com> [arch/arm64] Acked-by: Mark Rutland <mark.rutland@arm.com> Tested-by: Jisheng Zhang <jszhang@marvell.com> Cc: Will Deacon <will.deacon@arm.com> Cc: Sudeep Holla <sudeep.holla@arm.com> Cc: Daniel Lezcano <daniel.lezcano@linaro.org> Cc: Catalin Marinas <catalin.marinas@arm.com> Cc: Mark Rutland <mark.rutland@arm.com> Cc: Jisheng Zhang <jszhang@marvell.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2016-02-02 02:01:30 +09:00
def_bool PM_SLEEP || BL_SWITCHER || ARM_PSCI_FW
depends on ARCH_SUSPEND_POSSIBLE
config ARCH_HIBERNATION_POSSIBLE
bool
depends on MMU
default y if ARCH_SUSPEND_POSSIBLE
endmenu
source "drivers/firmware/Kconfig"
if CRYPTO
source "arch/arm/crypto/Kconfig"
endif
ARM: 8991/1: use VFP assembler mnemonics if available The integrated assembler of Clang 10 and earlier do not allow to access the VFP registers through the coprocessor load/store instructions: arch/arm/vfp/vfpmodule.c:342:2: error: invalid operand for instruction fmxr(FPEXC, fpexc & ~(FPEXC_EX|FPEXC_DEX|FPEXC_FP2V|FPEXC_VV|FPEXC_TRAP_MASK)); ^ arch/arm/vfp/vfpinstr.h:79:6: note: expanded from macro 'fmxr' asm("mcr p10, 7, %0, " vfpreg(_vfp_) ", cr0, 0 @ fmxr " #_vfp_ ", %0" ^ <inline asm>:1:6: note: instantiated into assembly here mcr p10, 7, r0, cr8, cr0, 0 @ fmxr FPEXC, r0 ^ This has been addressed with Clang 11 [0]. However, to support earlier versions of Clang and for better readability use of VFP assembler mnemonics still is preferred. Ideally we would replace this code with the unified assembler language mnemonics vmrs/vmsr on call sites along with .fpu assembler directives. The GNU assembler supports the .fpu directive at least since 2.17 (when documentation has been added). Since Linux requires binutils 2.21 it is safe to use .fpu directive. However, binutils does not allow to use FPINST or FPINST2 as an argument to vmrs/vmsr instructions up to binutils 2.24 (see binutils commit 16d02dc907c5): arch/arm/vfp/vfphw.S: Assembler messages: arch/arm/vfp/vfphw.S:162: Error: operand 0 must be FPSID or FPSCR pr FPEXC -- `vmsr FPINST,r6' arch/arm/vfp/vfphw.S:165: Error: operand 0 must be FPSID or FPSCR pr FPEXC -- `vmsr FPINST2,r8' arch/arm/vfp/vfphw.S:235: Error: operand 1 must be a VFP extension System Register -- `vmrs r3,FPINST' arch/arm/vfp/vfphw.S:238: Error: operand 1 must be a VFP extension System Register -- `vmrs r12,FPINST2' Use as-instr in Kconfig to check if FPINST/FPINST2 can be used. If they can be used make use of .fpu directives and UAL VFP mnemonics for register access. This allows to build vfpmodule.c with Clang and its integrated assembler. [0] https://reviews.llvm.org/D59733 Link: https://github.com/ClangBuiltLinux/linux/issues/905 Signed-off-by: Stefan Agner <stefan@agner.ch> Signed-off-by: Russell King <rmk+kernel@armlinux.org.uk>
2020-07-09 19:21:27 +09:00
source "arch/arm/Kconfig.assembler"