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
|
2005-04-17 07:20:36 +09:00
|
|
|
config ARM
|
|
|
|
bool
|
|
|
|
default y
|
32-bit userspace ABI: introduce ARCH_32BIT_OFF_T config option
All new 32-bit architectures should have 64-bit userspace off_t type, but
existing architectures has 32-bit ones.
To enforce the rule, new config option is added to arch/Kconfig that defaults
ARCH_32BIT_OFF_T to be disabled for new 32-bit architectures. All existing
32-bit architectures enable it explicitly.
New option affects force_o_largefile() behaviour. Namely, if userspace
off_t is 64-bits long, we have no reason to reject user to open big files.
Note that even if architectures has only 64-bit off_t in the kernel
(arc, c6x, h8300, hexagon, nios2, openrisc, and unicore32),
a libc may use 32-bit off_t, and therefore want to limit the file size
to 4GB unless specified differently in the open flags.
Signed-off-by: Yury Norov <ynorov@caviumnetworks.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Yury Norov <ynorov@marvell.com>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2018-05-16 17:18:49 +09:00
|
|
|
select ARCH_32BIT_OFF_T
|
2019-06-13 16:08:57 +09:00
|
|
|
select ARCH_HAS_BINFMT_FLAT
|
2023-06-14 08:39:25 +09:00
|
|
|
select ARCH_HAS_CPU_FINALIZE_INIT if MMU
|
2017-12-18 19:48:42 +09:00
|
|
|
select ARCH_HAS_DEBUG_VIRTUAL if MMU
|
2015-11-20 11:19:29 +09:00
|
|
|
select ARCH_HAS_DEVMEM_IS_ALLOWED
|
2020-07-08 09:21:13 +09:00
|
|
|
select ARCH_HAS_DMA_PREP_COHERENT if IOMMU_DMA
|
2019-08-26 16:03:44 +09:00
|
|
|
select ARCH_HAS_DMA_WRITE_COMBINE if !ARM_DMA_MEM_BUFFERABLE
|
2015-04-15 07:48:00 +09:00
|
|
|
select ARCH_HAS_ELF_RANDOMIZE
|
2018-03-06 09:39:24 +09:00
|
|
|
select ARCH_HAS_FORTIFY_SOURCE
|
2019-05-14 09:18:30 +09:00
|
|
|
select ARCH_HAS_KEEPINITRD
|
2018-06-15 07:27:44 +09:00
|
|
|
select ARCH_HAS_KCOV
|
2018-06-26 23:52:38 +09:00
|
|
|
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
|
2018-06-08 09:06:08 +09:00
|
|
|
select ARCH_HAS_PTE_SPECIAL if ARM_LPAE
|
2018-01-11 00:21:13 +09:00
|
|
|
select ARCH_HAS_PHYS_TO_DMA
|
2019-01-08 03:36:20 +09:00
|
|
|
select ARCH_HAS_SETUP_DMA_OPS
|
2018-06-15 07:27:44 +09:00
|
|
|
select ARCH_HAS_SET_MEMORY
|
2017-02-07 09:31:57 +09:00
|
|
|
select ARCH_HAS_STRICT_KERNEL_RWX if MMU && !XIP_KERNEL
|
|
|
|
select ARCH_HAS_STRICT_MODULE_RWX if MMU
|
2020-07-08 09:21:13 +09:00
|
|
|
select ARCH_HAS_SYNC_DMA_FOR_DEVICE if SWIOTLB || IOMMU_DMA
|
|
|
|
select ARCH_HAS_SYNC_DMA_FOR_CPU if SWIOTLB || IOMMU_DMA
|
2018-12-22 06:14:44 +09:00
|
|
|
select ARCH_HAS_TEARDOWN_DMA_OPS if MMU
|
2012-10-30 21:13:42 +09:00
|
|
|
select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
|
2013-09-13 05:24:42 +09:00
|
|
|
select ARCH_HAVE_CUSTOM_GPIO_H
|
2014-12-13 09:57:44 +09:00
|
|
|
select ARCH_HAS_GCOV_PROFILE_ALL
|
2020-12-15 12:09:55 +09:00
|
|
|
select ARCH_KEEP_MEMBLOCK
|
2013-10-08 11:07:58 +09:00
|
|
|
select ARCH_MIGHT_HAVE_PC_PARPORT
|
2018-11-09 17:51:00 +09:00
|
|
|
select ARCH_NO_SG_CHAIN if !ARM_HAS_SG_CHAIN
|
2017-02-07 09:31:57 +09:00
|
|
|
select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
|
|
|
|
select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if CPU_V7
|
2014-06-07 02:53:16 +09:00
|
|
|
select ARCH_SUPPORTS_ATOMIC_RMW
|
2013-11-06 13:15:24 +09:00
|
|
|
select ARCH_USE_BUILTIN_BSWAP
|
2013-10-10 01:19:22 +09:00
|
|
|
select ARCH_USE_CMPXCHG_LOCKREF
|
2019-09-24 07:39:01 +09:00
|
|
|
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
|
2020-11-20 05:46:56 +09:00
|
|
|
select ARCH_WANT_LD_ORPHAN_WARN
|
2019-06-13 16:08:51 +09:00
|
|
|
select BINFMT_FLAT_ARGVP_ENVP_ON_STACK
|
2019-12-04 09:46:31 +09:00
|
|
|
select BUILDTIME_TABLE_SORT if MMU
|
2013-09-13 05:24:42 +09:00
|
|
|
select CLONE_BACKWARDS
|
2018-10-24 18:20:16 +09:00
|
|
|
select CPU_PM if SUSPEND || CPU_IDLE
|
2013-12-18 03:50:16 +09:00
|
|
|
select DCACHE_WORD_ACCESS if HAVE_EFFICIENT_UNALIGNED_ACCESS
|
2019-02-04 04:12:02 +09:00
|
|
|
select DMA_DECLARE_COHERENT
|
2017-02-15 18:30:02 +09:00
|
|
|
select DMA_DIRECT_REMAP
|
2020-07-08 16:30:00 +09:00
|
|
|
select DMA_OPS
|
2015-05-22 02:59:31 +09:00
|
|
|
select EDAC_SUPPORT
|
|
|
|
select EDAC_ATOMIC_SCRUB
|
2014-10-10 07:26:42 +09:00
|
|
|
select GENERIC_ALLOCATOR
|
2017-06-01 01:59:28 +09:00
|
|
|
select GENERIC_ARCH_TOPOLOGY if ARM_CPU_TOPOLOGY
|
2018-10-24 18:20:16 +09:00
|
|
|
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
|
FROMGIT: ARM: Allow IPIs to be handled as normal interrupts
In order to deal with IPIs as normal interrupts, let's add
a new way to register them with the architecture code.
set_smp_ipi_range() takes a range of interrupts, and allows
the arch code to request them as if the were normal interrupts.
A standard handler is then called by the core IRQ code to deal
with the IPI.
This means that we don't need to call irq_enter/irq_exit, and
that we don't need to deal with set_irq_regs either. So let's
move the dispatcher into its own function, and leave handle_IPI()
as a compatibility function.
On the sending side, let's make use of ipi_send_mask, which
already exists for this purpose.
One of the major difference is that we end up, in some cases
(such as when performing IRQ time accounting on the scheduler
IPI), end up with nested irq_enter()/irq_exit() pairs.
Other than the (relatively small) overhead, there should be
no consequences to it (these pairs are designed to nest
correctly, and the accounting shouldn't be off).
Reviewed-by: Valentin Schneider <valentin.schneider@arm.com>
Signed-off-by: Marc Zyngier <maz@kernel.org>
Bug: 140053385
(cherry picked from commit 56afcd3dbd1995c526bfbd920cebde6158b22c4a
https://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms.git irq/ipi-as-irq)
Change-Id: Ib7187b49af45f4b5a51d2daf7466a06dbbb72fb1
Signed-off-by: Eric Biggers <ebiggers@google.com>
2020-06-24 04:38:41 +09:00
|
|
|
select GENERIC_IRQ_IPI if SMP
|
2020-10-20 23:37:04 +09:00
|
|
|
select ARCH_WANTS_IRQ_RAW if GENERIC_IRQ_IPI
|
2017-03-20 01:23:31 +09:00
|
|
|
select GENERIC_CPU_AUTOPROBE
|
2015-09-01 15:59:28 +09:00
|
|
|
select GENERIC_EARLY_IOREMAP
|
2013-09-13 05:24:42 +09:00
|
|
|
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
|
2015-04-01 21:37:11 +09:00
|
|
|
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
|
2013-06-02 15:39:40 +09:00
|
|
|
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
|
2014-08-26 19:03:18 +09:00
|
|
|
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
|
2018-10-24 18:20:16 +09:00
|
|
|
select HAVE_ARCH_AUDITSYSCALL if AEABI && !OABI_COMPAT
|
2015-01-16 10:45:55 +09:00
|
|
|
select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6
|
2015-11-19 21:30:42 +09:00
|
|
|
select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU
|
|
|
|
select HAVE_ARCH_KGDB if !CPU_ENDIAN_BE32 && MMU
|
2016-01-15 08:19:57 +09:00
|
|
|
select HAVE_ARCH_MMAP_RND_BITS if MMU
|
seccomp: Move config option SECCOMP to arch/Kconfig
In order to make adding configurable features into seccomp easier,
it's better to have the options at one single location, considering
especially that the bulk of seccomp code is arch-independent. An quick
look also show that many SECCOMP descriptions are outdated; they talk
about /proc rather than prctl.
As a result of moving the config option and keeping it default on,
architectures arm, arm64, csky, riscv, sh, and xtensa did not have SECCOMP
on by default prior to this and SECCOMP will be default in this change.
Architectures microblaze, mips, powerpc, s390, sh, and sparc have an
outdated depend on PROC_FS and this dependency is removed in this change.
Suggested-by: Jann Horn <jannh@google.com>
Link: https://lore.kernel.org/lkml/CAG48ez1YWz9cnp08UZgeieYRhHdqh-ch7aNwc4JRBnGyrmgfMg@mail.gmail.com/
Signed-off-by: YiFei Zhu <yifeifz2@illinois.edu>
[kees: added HAVE_ARCH_SECCOMP help text, tweaked wording]
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/9ede6ef35c847e58d61e476c6a39540520066613.1600951211.git.yifeifz2@illinois.edu
2020-09-24 21:44:16 +09:00
|
|
|
select HAVE_ARCH_SECCOMP
|
2018-10-24 18:20:16 +09:00
|
|
|
select HAVE_ARCH_SECCOMP_FILTER if AEABI && !OABI_COMPAT
|
2017-08-17 06:09:13 +09:00
|
|
|
select HAVE_ARCH_THREAD_STRUCT_WHITELIST
|
2012-04-05 00:19:47 +09:00
|
|
|
select HAVE_ARCH_TRACEHOOK
|
2016-01-04 23:42:55 +09:00
|
|
|
select HAVE_ARM_SMCCC if CPU_V7
|
2017-08-22 15:32:33 +09:00
|
|
|
select HAVE_EBPF_JIT if !CPU_ENDIAN_BE32
|
2013-09-13 05:24:42 +09:00
|
|
|
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
|
2020-01-10 21:39:26 +09:00
|
|
|
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
|
2018-10-24 18:20:16 +09:00
|
|
|
select HAVE_DYNAMIC_FTRACE if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU
|
2017-05-27 05:49:47 +09:00
|
|
|
select HAVE_DYNAMIC_FTRACE_WITH_REGS if HAVE_DYNAMIC_FTRACE
|
2013-12-18 03:50:16 +09:00
|
|
|
select HAVE_EFFICIENT_UNALIGNED_ACCESS if (CPU_V6 || CPU_V6K || CPU_V7) && MMU
|
2016-05-21 09:00:16 +09:00
|
|
|
select HAVE_EXIT_THREAD
|
2019-07-12 12:57:14 +09:00
|
|
|
select HAVE_FAST_GUP if ARM_LPAE
|
2018-10-24 18:20:16 +09:00
|
|
|
select HAVE_FTRACE_MCOUNT_RECORD if !XIP_KERNEL
|
2019-04-24 01:09:38 +09:00
|
|
|
select HAVE_FUNCTION_GRAPH_TRACER if !THUMB2_KERNEL && !CC_IS_CLANG
|
2020-10-14 08:47:48 +09:00
|
|
|
select HAVE_FUNCTION_TRACER if !XIP_KERNEL
|
2021-09-09 03:25:59 +09:00
|
|
|
select HAVE_FUTEX_CMPXCHG if FUTEX
|
2016-05-24 07:09:38 +09:00
|
|
|
select HAVE_GCC_PLUGINS
|
2018-10-24 18:20:16 +09:00
|
|
|
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
|
2013-05-04 22:38:59 +09:00
|
|
|
select HAVE_IRQ_TIME_ACCOUNTING
|
2010-01-09 07:42:43 +09:00
|
|
|
select HAVE_KERNEL_GZIP
|
2013-07-09 08:01:48 +09:00
|
|
|
select HAVE_KERNEL_LZ4
|
2010-04-03 19:40:28 +09:00
|
|
|
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
|
2012-01-26 21:08:57 +09:00
|
|
|
select HAVE_KERNEL_XZ
|
2015-05-26 23:40:44 +09:00
|
|
|
select HAVE_KPROBES if !XIP_KERNEL && !CPU_ENDIAN_BE32 && !CPU_V7M
|
2018-10-24 18:20:16 +09:00
|
|
|
select HAVE_KRETPROBES if HAVE_KPROBES
|
2014-11-25 00:54:35 +09:00
|
|
|
select HAVE_MOD_ARCH_SPECIFIC
|
2016-05-21 09:00:33 +09:00
|
|
|
select HAVE_NMI
|
2018-10-24 18:20:16 +09:00
|
|
|
select HAVE_OPROFILE if HAVE_PERF_EVENTS
|
2015-01-09 15:37:36 +09:00
|
|
|
select HAVE_OPTPROBES if !THUMB2_KERNEL
|
2010-02-03 04:24:58 +09:00
|
|
|
select HAVE_PERF_EVENTS
|
2013-09-26 20:36:35 +09:00
|
|
|
select HAVE_PERF_REGS
|
|
|
|
select HAVE_PERF_USER_STACK_DUMP
|
2020-02-04 10:37:02 +09:00
|
|
|
select MMU_GATHER_RCU_TABLE_FREE if SMP && ARM_LPAE
|
2010-06-25 20:24:53 +09:00
|
|
|
select HAVE_REGS_AND_STACK_ACCESS_API
|
2018-06-02 21:43:55 +09:00
|
|
|
select HAVE_RSEQ
|
2018-06-14 19:36:45 +09:00
|
|
|
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
|
2012-10-09 08:28:08 +09:00
|
|
|
select HAVE_UID16
|
2013-09-17 07:28:22 +09:00
|
|
|
select HAVE_VIRT_CPU_ACCOUNTING_GEN
|
2013-08-15 04:43:17 +09:00
|
|
|
select IRQ_FORCED_THREADING
|
2013-09-13 05:24:42 +09:00
|
|
|
select MODULES_USE_ELF_REL
|
2018-05-09 13:53:49 +09:00
|
|
|
select NEED_DMA_MAP_STATE
|
2015-11-19 21:20:54 +09:00
|
|
|
select OF_EARLY_FLATTREE if OF
|
2013-09-13 05:24:42 +09:00
|
|
|
select OLD_SIGACTION
|
|
|
|
select OLD_SIGSUSPEND3
|
2018-11-16 04:05:34 +09:00
|
|
|
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
|
2020-10-28 23:06:48 +09:00
|
|
|
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
|
2020-07-08 09:21:13 +09:00
|
|
|
select IOMMU_DMA if IOMMU_SUPPORT
|
2013-09-13 05:24:42 +09:00
|
|
|
# Above selects are sorted alphabetically; please add new ones
|
|
|
|
# according to that. Thanks.
|
2005-04-17 07:20:36 +09:00
|
|
|
help
|
|
|
|
The ARM series is a line of low-power-consumption RISC chip designs
|
2006-02-09 06:09:07 +09:00
|
|
|
licensed by ARM Ltd and targeted at embedded applications and
|
2005-04-17 07:20:36 +09:00
|
|
|
handhelds such as the Compaq IPAQ. ARM-based PCs are no longer
|
2006-02-09 06:09:07 +09:00
|
|
|
manufactured, but legacy ARM-based PC hardware remains popular in
|
2005-04-17 07:20:36 +09:00
|
|
|
Europe. There is an ARM Linux project with a web page at
|
|
|
|
<http://www.arm.linux.org.uk/>.
|
|
|
|
|
2011-06-02 19:16:22 +09:00
|
|
|
config ARM_HAS_SG_CHAIN
|
|
|
|
bool
|
|
|
|
|
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
|
2012-05-16 22:48:21 +09:00
|
|
|
|
2013-02-06 13:21:14 +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
|
2017-04-13 14:22:53 +09:00
|
|
|
default 9
|
2013-02-06 13:21:14 +09:00
|
|
|
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
|
|
|
|
|
2007-02-10 02:08:58 +09:00
|
|
|
config SYS_SUPPORTS_APM_EMULATION
|
|
|
|
bool
|
|
|
|
|
2009-09-16 01:30:37 +09:00
|
|
|
config HAVE_TCM
|
|
|
|
bool
|
|
|
|
select GENERIC_ALLOCATOR
|
|
|
|
|
2010-01-11 02:23:29 +09:00
|
|
|
config HAVE_PROC_CPU
|
|
|
|
bool
|
|
|
|
|
2014-04-08 07:39:19 +09:00
|
|
|
config NO_IOPORT_MAP
|
2007-02-12 00:41:31 +09:00
|
|
|
bool
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
config SBUS
|
|
|
|
bool
|
|
|
|
|
2007-04-28 17:59:37 +09:00
|
|
|
config STACKTRACE_SUPPORT
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
|
|
|
config LOCKDEP_SUPPORT
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
2006-08-27 20:07:02 +09:00
|
|
|
config TRACE_IRQFLAGS_SUPPORT
|
|
|
|
bool
|
2015-05-26 23:40:44 +09:00
|
|
|
default !CPU_V7M
|
2006-08-27 20:07:02 +09:00
|
|
|
|
2006-12-08 19:37:49 +09:00
|
|
|
config ARCH_HAS_ILOG2_U32
|
|
|
|
bool
|
|
|
|
|
|
|
|
config ARCH_HAS_ILOG2_U64
|
|
|
|
bool
|
|
|
|
|
2013-06-14 06:58:52 +09:00
|
|
|
config ARCH_HAS_BANDGAP
|
|
|
|
bool
|
|
|
|
|
2015-08-13 08:01:52 +09:00
|
|
|
config FIX_EARLYCON_MEM
|
|
|
|
def_bool y if MMU
|
|
|
|
|
2006-03-26 18:39:19 +09:00
|
|
|
config GENERIC_HWEIGHT
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
config GENERIC_CALIBRATE_DELAY
|
|
|
|
bool
|
|
|
|
default y
|
|
|
|
|
2005-09-06 09:48:42 +09:00
|
|
|
config ARCH_MAY_HAVE_PC_FDC
|
|
|
|
bool
|
|
|
|
|
2007-02-10 18:43:14 +09:00
|
|
|
config ZONE_DMA
|
|
|
|
bool
|
|
|
|
|
2014-03-08 01:23:04 +09:00
|
|
|
config ARCH_SUPPORTS_UPROBES
|
|
|
|
def_bool y
|
|
|
|
|
2012-03-21 04:33:01 +09:00
|
|
|
config ARCH_HAS_DMA_SET_COHERENT_MASK
|
|
|
|
bool
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
config GENERIC_ISA_DMA
|
|
|
|
bool
|
|
|
|
|
|
|
|
config FIQ
|
|
|
|
bool
|
|
|
|
|
2012-02-08 00:28:22 +09:00
|
|
|
config NEED_RET_TO_USER
|
|
|
|
bool
|
|
|
|
|
2005-12-20 06:27:59 +09:00
|
|
|
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
|
2011-08-10 18:23:45 +09:00
|
|
|
bool "Patch physical to virtual translations at runtime" if EMBEDDED
|
|
|
|
default y
|
2011-02-21 14:53:35 +09:00
|
|
|
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
|
2011-05-12 18:02:42 +09:00
|
|
|
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
|
|
|
|
2011-05-12 18:02:42 +09:00
|
|
|
This can only be used with non-XIP MMU kernels where the base
|
2011-08-12 08:14:29 +09:00
|
|
|
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
|
|
|
|
2011-08-10 18:23:45 +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
|
|
|
|
2012-03-05 13:03:33 +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.
|
|
|
|
|
2011-09-03 11:26:55 +09:00
|
|
|
config NEED_MACH_MEMORY_H
|
2011-07-06 11:52:51 +09:00
|
|
|
bool
|
|
|
|
help
|
2011-09-03 11:26:55 +09:00
|
|
|
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
|
|
|
|
2011-07-06 11:52:51 +09:00
|
|
|
config PHYS_OFFSET
|
2011-12-03 07:09:42 +09:00
|
|
|
hex "Physical address of main memory" if MMU
|
2014-07-24 04:37:43 +09:00
|
|
|
depends on !ARM_PATCH_PHYS_VIRT
|
2011-12-03 07:09:42 +09:00
|
|
|
default DRAM_BASE if !MMU
|
2014-07-24 04:37:43 +09:00
|
|
|
default 0x00000000 if ARCH_EBSA110 || \
|
2020-08-15 00:45:29 +09:00
|
|
|
ARCH_FOOTBRIDGE
|
2014-07-24 04:37:43 +09:00
|
|
|
default 0x10000000 if ARCH_OMAP1 || ARCH_RPC
|
|
|
|
default 0x20000000 if ARCH_S5PV210
|
2015-06-16 02:35:06 +09:00
|
|
|
default 0xc0000000 if ARCH_SA1100
|
2011-05-12 18:02:42 +09:00
|
|
|
help
|
2011-07-06 11:52:51 +09:00
|
|
|
Please provide the physical address corresponding to the
|
|
|
|
location of main memory in your system.
|
2011-01-05 04:39:29 +09:00
|
|
|
|
2011-08-17 07:44:26 +09:00
|
|
|
config GENERIC_BUG
|
|
|
|
def_bool y
|
|
|
|
depends on BUG
|
|
|
|
|
2015-04-15 07:45:42 +09:00
|
|
|
config PGTABLE_LEVELS
|
|
|
|
int
|
|
|
|
default 3 if ARM_LPAE
|
|
|
|
default 2
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
menu "System Type"
|
|
|
|
|
2009-07-24 20:35:00 +09:00
|
|
|
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'.
|
|
|
|
|
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
|
|
|
|
|
2010-03-16 04:03:06 +09:00
|
|
|
#
|
|
|
|
# The "ARM system type" choice list is ordered alphabetically by option
|
|
|
|
# text. Please add new entries in the option alphabetic order.
|
|
|
|
#
|
2005-04-17 07:20:36 +09:00
|
|
|
choice
|
|
|
|
prompt "ARM system type"
|
ARM: make default platform work for NOMMU
Moving ARCH_VERSATILE into ARCH_MULTIPLATFORM means that it no longer
works as the default target for MMU-less kernels. While we might
want to get that working again in the future, it's also a rather
bad default, and it makes sense to make ARM_SINGLE_V7M the default
because that is what realistically all NOMMU users on ARM are using,
and it actually is what gets selected by default in the absence of
versatile in the choice statement.
Related to this, 'allnoconfig' kernels fail to link with the new
default, as they do not include a machine record:
arm-linux-gnueabi-ld: no machine record defined
For ARCH_MULTIPLATFORM kernels, we avoid this error by using a
default machine descriptor that works for all trivial platforms,
like ARCH_VIRT. The same reasoning applies for ARM_SINGLE_V7M,
as that can also boot with empty machine descriptors both on
qemu and on real hardware, as long as all the drivers are present.
We could also follow up with a patch to remove the existing
machine descriptors for the ARMv7M platforms, the only callback
pointer the four platforms contain today is the armv7m_restart
handler and we can simply make that the default for v7M with an
add-on patch.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
2015-12-18 01:45:47 +09:00
|
|
|
default ARM_SINGLE_ARMV7M if !MMU
|
2013-02-14 21:33:36 +09:00
|
|
|
default ARCH_MULTIPLATFORM if MMU
|
2005-04-17 07:20:36 +09:00
|
|
|
|
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
2012-09-07 03:41:12 +09:00
|
|
|
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
|
2014-03-10 04:46:59 +09:00
|
|
|
select ARM_HAS_SG_CHAIN
|
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
2012-09-07 03:41:12 +09:00
|
|
|
select ARM_PATCH_PHYS_VIRT
|
|
|
|
select AUTO_ZRELADDR
|
2017-05-27 02:34:11 +09:00
|
|
|
select TIMER_OF
|
2012-07-19 07:07:18 +09:00
|
|
|
select COMMON_CLK
|
2013-11-23 00:29:37 +09:00
|
|
|
select GENERIC_CLOCKEVENTS
|
2018-06-23 02:01:23 +09:00
|
|
|
select GENERIC_IRQ_MULTI_HANDLER
|
2018-11-16 04:05:32 +09:00
|
|
|
select HAVE_PCI
|
2018-11-16 04:05:33 +09:00
|
|
|
select PCI_DOMAINS_GENERIC if PCI
|
2012-07-19 07:07:18 +09:00
|
|
|
select SPARSE_IRQ
|
|
|
|
select USE_OF
|
|
|
|
|
2015-05-20 07:03:51 +09:00
|
|
|
config ARM_SINGLE_ARMV7M
|
|
|
|
bool "ARMv7-M based platforms (Cortex-M0/M3/M4)"
|
|
|
|
depends on !MMU
|
|
|
|
select ARM_NVIC
|
2015-05-21 07:35:44 +09:00
|
|
|
select AUTO_ZRELADDR
|
2017-05-27 02:34:11 +09:00
|
|
|
select TIMER_OF
|
2015-05-20 07:03:51 +09:00
|
|
|
select COMMON_CLK
|
|
|
|
select CPU_V7M
|
|
|
|
select GENERIC_CLOCKEVENTS
|
|
|
|
select NO_IOPORT_MAP
|
|
|
|
select SPARSE_IRQ
|
|
|
|
select USE_OF
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
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
|
2008-10-26 19:55:14 +09:00
|
|
|
select CPU_SA110
|
2005-05-05 22:49:01 +09:00
|
|
|
select ISA
|
2012-03-05 13:03:33 +09:00
|
|
|
select NEED_MACH_IO_H
|
2011-09-03 11:26:55 +09:00
|
|
|
select NEED_MACH_MEMORY_H
|
2014-04-08 07:39:19 +09:00
|
|
|
select NO_IOPORT_MAP
|
2005-04-17 07:20:36 +09:00
|
|
|
help
|
|
|
|
This is an evaluation board for the StrongARM processor available
|
2006-02-09 06:09:07 +09:00
|
|
|
from Digital. It has limited hardware on-board, including an
|
2005-04-17 07:20:36 +09:00
|
|
|
Ethernet interface, two PCMCIA sockets, two serial ports and a
|
|
|
|
parallel port.
|
|
|
|
|
[ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek
This patch adds support for the Cirrus ep93xx series of CPUs. The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.
This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 02:10:13 +09:00
|
|
|
config ARCH_EP93XX
|
|
|
|
bool "EP93xx-based"
|
2017-09-04 02:43:44 +09:00
|
|
|
select ARCH_SPARSEMEM_ENABLE
|
[ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek
This patch adds support for the Cirrus ep93xx series of CPUs. The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.
This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 02:10:13 +09:00
|
|
|
select ARM_AMBA
|
2014-03-26 08:17:09 +09:00
|
|
|
imply ARM_PATCH_PHYS_VIRT
|
[ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek
This patch adds support for the Cirrus ep93xx series of CPUs. The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.
This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 02:10:13 +09:00
|
|
|
select ARM_VIC
|
2015-06-16 02:35:06 +09:00
|
|
|
select AUTO_ZRELADDR
|
2010-11-17 18:04:33 +09:00
|
|
|
select CLKDEV_LOOKUP
|
2015-06-15 21:34:03 +09:00
|
|
|
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
|
2015-06-15 21:34:03 +09:00
|
|
|
select GENERIC_CLOCKEVENTS
|
2016-06-02 21:10:16 +09:00
|
|
|
select GPIOLIB
|
2020-04-09 15:44:13 +09:00
|
|
|
select HAVE_LEGACY_CLK
|
[ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek
This patch adds support for the Cirrus ep93xx series of CPUs. The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.
This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 02:10:13 +09:00
|
|
|
help
|
|
|
|
This enables support for the Cirrus EP93xx series of CPUs.
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
config ARCH_FOOTBRIDGE
|
|
|
|
bool "FootBridge"
|
2008-10-26 19:55:14 +09:00
|
|
|
select CPU_SA110
|
2005-04-17 07:20:36 +09:00
|
|
|
select FOOTBRIDGE
|
2011-01-29 06:00:39 +09:00
|
|
|
select GENERIC_CLOCKEVENTS
|
2011-10-02 04:10:32 +09:00
|
|
|
select HAVE_IDE
|
2012-03-02 11:48:12 +09:00
|
|
|
select NEED_MACH_IO_H if !MMU
|
2011-09-03 11:26:55 +09:00
|
|
|
select NEED_MACH_MEMORY_H
|
2006-02-09 06:09:05 +09:00
|
|
|
help
|
|
|
|
Support for systems based on the DC21285 companion chip
|
|
|
|
("FootBridge"), such as the Simtec CATS and the Rebel NetWinder.
|
2005-04-17 07:20:36 +09:00
|
|
|
|
2006-09-19 07:10:26 +09:00
|
|
|
config ARCH_IOP32X
|
|
|
|
bool "IOP32x-based"
|
2006-06-28 20:52:41 +09:00
|
|
|
depends on MMU
|
2008-10-26 19:55:14 +09:00
|
|
|
select CPU_XSCALE
|
2013-09-09 18:59:51 +09:00
|
|
|
select GPIO_IOP
|
2016-06-02 21:10:16 +09:00
|
|
|
select GPIOLIB
|
2012-02-08 00:28:22 +09:00
|
|
|
select NEED_RET_TO_USER
|
2018-11-16 04:05:32 +09:00
|
|
|
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
|
2006-02-09 06:09:05 +09:00
|
|
|
help
|
2006-09-19 07:10:26 +09:00
|
|
|
Support for Intel's 80219 and IOP32X (XScale) family of
|
|
|
|
processors.
|
|
|
|
|
2007-05-12 19:25:44 +09:00
|
|
|
config ARCH_IXP4XX
|
|
|
|
bool "IXP4xx-based"
|
2006-06-28 20:52:41 +09:00
|
|
|
depends on MMU
|
2012-03-21 04:33:01 +09:00
|
|
|
select ARCH_HAS_DMA_SET_COHERENT_MASK
|
2014-04-23 06:26:27 +09:00
|
|
|
select ARCH_SUPPORTS_BIG_ENDIAN
|
2008-10-26 19:55:14 +09:00
|
|
|
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
|
2007-05-12 19:25:44 +09:00
|
|
|
select GENERIC_CLOCKEVENTS
|
2018-12-29 22:30:27 +09:00
|
|
|
select GENERIC_IRQ_MULTI_HANDLER
|
2019-01-26 06:58:39 +09:00
|
|
|
select GPIO_IXP4XX
|
2016-06-02 21:10:16 +09:00
|
|
|
select GPIOLIB
|
2018-11-16 04:05:32 +09:00
|
|
|
select HAVE_PCI
|
2019-01-26 06:58:39 +09:00
|
|
|
select IXP4XX_IRQ
|
2019-01-26 08:51:51 +09:00
|
|
|
select IXP4XX_TIMER
|
2012-03-05 13:03:33 +09:00
|
|
|
select NEED_MACH_IO_H
|
2013-04-09 21:29:26 +09:00
|
|
|
select USB_EHCI_BIG_ENDIAN_DESC
|
2013-09-13 05:24:42 +09:00
|
|
|
select USB_EHCI_BIG_ENDIAN_MMIO
|
[ARM] 3388/1: ixp23xx: add core ixp23xx support
Patch from Lennert Buytenhek
This patch adds support for the Intel ixp23xx series of CPUs. The
ixp23xx is an XSC3 based CPU with 512K of L2 cache, a 64bit 66MHz PCI
interface, two DDR RAM interfaces, QDR RAM interfaces, two gigabit
MACs, two 10/100 MACs, expansion bus, four microengines, a Media and
Switch Fabric unit almost identical to the one on the ixp2400, two
xscale (8250ish) UARTs and a bunch of other stuff.
This patch adds the core ixp23xx support code, and support for the
ADI Engineering Roadrunner, Intel IXDP2351, and IP Fabrics Double
Espresso platforms.
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-29 05:18:54 +09:00
|
|
|
help
|
2007-05-12 19:25:44 +09:00
|
|
|
Support for Intel's IXP4XX (XScale) family of processors.
|
[ARM] 3388/1: ixp23xx: add core ixp23xx support
Patch from Lennert Buytenhek
This patch adds support for the Intel ixp23xx series of CPUs. The
ixp23xx is an XSC3 based CPU with 512K of L2 cache, a 64bit 66MHz PCI
interface, two DDR RAM interfaces, QDR RAM interfaces, two gigabit
MACs, two 10/100 MACs, expansion bus, four microengines, a Media and
Switch Fabric unit almost identical to the one on the ixp2400, two
xscale (8250ish) UARTs and a bunch of other stuff.
This patch adds the core ixp23xx support code, and support for the
ADI Engineering Roadrunner, Intel IXDP2351, and IP Fabrics Double
Espresso platforms.
Signed-off-by: Deepak Saxena <dsaxena@plexity.net>
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-29 05:18:54 +09:00
|
|
|
|
2009-08-06 21:12:43 +09:00
|
|
|
config ARCH_DOVE
|
|
|
|
bool "Marvell Dove"
|
2013-05-03 03:56:12 +09:00
|
|
|
select CPU_PJ4
|
2009-08-06 21:12:43 +09:00
|
|
|
select GENERIC_CLOCKEVENTS
|
2018-06-23 02:01:23 +09:00
|
|
|
select GENERIC_IRQ_MULTI_HANDLER
|
2016-06-02 21:10:16 +09:00
|
|
|
select GPIOLIB
|
2018-11-16 04:05:32 +09:00
|
|
|
select HAVE_PCI
|
2013-09-13 05:24:42 +09:00
|
|
|
select MVEBU_MBUS
|
2012-11-19 18:39:55 +09:00
|
|
|
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
|
2010-09-08 22:42:42 +09:00
|
|
|
select SPARSE_IRQ
|
2015-12-08 19:58:09 +09:00
|
|
|
select PM_GENERIC_DOMAINS if PM
|
2009-04-26 22:21:59 +09:00
|
|
|
help
|
2009-08-06 21:12:43 +09:00
|
|
|
Support for the Marvell Dove SoC 88AP510
|
2009-04-26 22:21:59 +09:00
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
config ARCH_PXA
|
2007-09-12 11:13:17 +09:00
|
|
|
bool "PXA2xx/PXA3xx-based"
|
2006-06-28 20:52:41 +09:00
|
|
|
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
|
2015-02-08 06:54:03 +09:00
|
|
|
select COMMON_CLK
|
2015-10-09 22:48:38 +09:00
|
|
|
select CLKSRC_PXA
|
2011-05-08 22:09:47 +09:00
|
|
|
select CLKSRC_MMIO
|
2017-05-27 02:34:11 +09:00
|
|
|
select TIMER_OF
|
2016-01-29 23:06:29 +09:00
|
|
|
select CPU_XSCALE if !CPU_XSC3
|
2007-07-24 09:22:43 +09:00
|
|
|
select GENERIC_CLOCKEVENTS
|
2018-06-23 02:01:23 +09:00
|
|
|
select GENERIC_IRQ_MULTI_HANDLER
|
2011-10-17 21:37:52 +09:00
|
|
|
select GPIO_PXA
|
2016-06-02 21:10:16 +09:00
|
|
|
select GPIOLIB
|
2011-10-02 04:10:32 +09:00
|
|
|
select HAVE_IDE
|
2015-02-15 06:41:56 +09:00
|
|
|
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
|
2006-02-09 06:09:05 +09:00
|
|
|
help
|
2007-09-12 11:13:17 +09:00
|
|
|
Support for Intel/Marvell's PXA2xx/PXA3xx processor line.
|
2005-04-17 07:20:36 +09:00
|
|
|
|
2017-02-15 18:30:02 +09:00
|
|
|
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).
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
config ARCH_RPC
|
|
|
|
bool "RiscPC"
|
2015-09-28 18:31:50 +09:00
|
|
|
depends on MMU
|
2005-04-17 07:20:36 +09:00
|
|
|
select ARCH_ACORN
|
2005-09-06 09:48:42 +09:00
|
|
|
select ARCH_MAY_HAVE_PC_FDC
|
2008-10-02 01:11:06 +09:00
|
|
|
select ARCH_SPARSEMEM_ENABLE
|
2019-05-04 21:35:12 +09:00
|
|
|
select ARM_HAS_SG_CHAIN
|
2014-02-27 01:39:12 +09:00
|
|
|
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
|
2011-10-02 04:10:32 +09:00
|
|
|
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
|
2012-03-05 13:03:33 +09:00
|
|
|
select NEED_MACH_IO_H
|
2011-09-03 11:26:55 +09:00
|
|
|
select NEED_MACH_MEMORY_H
|
2014-04-08 07:39:19 +09:00
|
|
|
select NO_IOPORT_MAP
|
2005-04-17 07:20:36 +09:00
|
|
|
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
|
2015-10-09 22:48:38 +09:00
|
|
|
select CLKSRC_PXA
|
2017-05-27 02:34:11 +09:00
|
|
|
select TIMER_OF if OF
|
2016-08-31 16:49:53 +09:00
|
|
|
select COMMON_CLK
|
2009-12-13 01:20:57 +09:00
|
|
|
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
|
2008-04-15 07:03:10 +09:00
|
|
|
select GENERIC_CLOCKEVENTS
|
2018-06-23 02:01:23 +09:00
|
|
|
select GENERIC_IRQ_MULTI_HANDLER
|
2016-06-02 21:10:16 +09:00
|
|
|
select GPIOLIB
|
2011-10-02 04:10:32 +09:00
|
|
|
select HAVE_IDE
|
2014-11-28 23:56:54 +09:00
|
|
|
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
|
2011-09-03 11:26:55 +09:00
|
|
|
select NEED_MACH_MEMORY_H
|
2012-02-23 22:29:33 +09:00
|
|
|
select SPARSE_IRQ
|
2006-02-09 06:09:05 +09:00
|
|
|
help
|
|
|
|
Support for StrongARM 11x0 based boards.
|
2005-04-17 07:20:36 +09:00
|
|
|
|
2012-02-03 14:29:23 +09:00
|
|
|
config ARCH_S3C24XX
|
|
|
|
bool "Samsung S3C24XX SoCs"
|
2014-03-13 22:11:16 +09:00
|
|
|
select ATAGS
|
2013-04-28 09:25:01 +09:00
|
|
|
select CLKSRC_SAMSUNG_PWM
|
2013-01-10 11:47:04 +09:00
|
|
|
select GENERIC_CLOCKEVENTS
|
2013-06-19 01:22:20 +09:00
|
|
|
select GPIO_SAMSUNG
|
2016-06-02 21:10:16 +09:00
|
|
|
select GPIOLIB
|
2018-06-23 02:01:23 +09:00
|
|
|
select GENERIC_IRQ_MULTI_HANDLER
|
2010-11-13 16:08:32 +09:00
|
|
|
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
|
2012-03-05 13:03:33 +09:00
|
|
|
select NEED_MACH_IO_H
|
2020-08-05 04:26:49 +09:00
|
|
|
select S3C2410_WATCHDOG
|
2013-06-15 09:01:49 +09:00
|
|
|
select SAMSUNG_ATAGS
|
2017-11-27 11:19:23 +09:00
|
|
|
select USE_OF
|
2020-08-05 04:26:49 +09:00
|
|
|
select WATCHDOG
|
2005-04-17 07:20:36 +09:00
|
|
|
help
|
2012-02-03 14:29:23 +09:00
|
|
|
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).
|
2010-04-30 16:32:26 +09:00
|
|
|
|
2013-01-12 04:24:20 +09:00
|
|
|
config ARCH_OMAP1
|
|
|
|
bool "TI OMAP1"
|
2012-06-08 09:50:51 +09:00
|
|
|
depends on MMU
|
2013-01-12 04:24:20 +09:00
|
|
|
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
|
2011-05-09 01:10:14 +09:00
|
|
|
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
|
2013-01-12 04:24:20 +09:00
|
|
|
select GENERIC_IRQ_CHIP
|
2018-06-23 02:01:23 +09:00
|
|
|
select GENERIC_IRQ_MULTI_HANDLER
|
2016-06-02 21:10:16 +09:00
|
|
|
select GPIOLIB
|
2013-01-12 04:24:20 +09:00
|
|
|
select HAVE_IDE
|
2020-04-09 15:44:13 +09:00
|
|
|
select HAVE_LEGACY_CLK
|
2013-01-12 04:24:20 +09:00
|
|
|
select IRQ_DOMAIN
|
|
|
|
select NEED_MACH_IO_H if PCCARD
|
|
|
|
select NEED_MACH_MEMORY_H
|
2015-05-21 01:01:21 +09:00
|
|
|
select SPARSE_IRQ
|
2010-12-23 21:11:21 +09:00
|
|
|
help
|
2013-01-12 04:24:20 +09:00
|
|
|
Support for older TI OMAP1 (omap7xx, omap15xx or omap16xx)
|
2011-07-08 18:40:12 +09:00
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
endchoice
|
|
|
|
|
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
2012-09-07 03:41:12 +09:00
|
|
|
menu "Multiple platform selection"
|
|
|
|
depends on ARCH_MULTIPLATFORM
|
|
|
|
|
|
|
|
comment "CPU Core family selection"
|
|
|
|
|
2014-03-26 06:19:00 +09:00
|
|
|
config ARCH_MULTI_V4
|
|
|
|
bool "ARMv4 based platforms (FA526)"
|
|
|
|
depends on !ARCH_MULTI_V6_V7
|
|
|
|
select ARCH_MULTI_V4_V5
|
|
|
|
select CPU_FA526
|
|
|
|
|
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
2012-09-07 03:41:12 +09:00
|
|
|
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
|
2013-06-03 22:38:58 +09:00
|
|
|
select CPU_ARM920T if !(CPU_ARM7TDMI || CPU_ARM720T || \
|
|
|
|
CPU_ARM740T || CPU_ARM9TDMI || CPU_ARM922T || \
|
|
|
|
CPU_ARM925T || CPU_ARM940T)
|
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
2012-09-07 03:41:12 +09:00
|
|
|
|
|
|
|
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
|
2014-02-23 04:14:54 +09:00
|
|
|
select CPU_ARM926T if !(CPU_ARM946E || CPU_ARM1020 || \
|
2013-06-03 22:38:58 +09:00
|
|
|
CPU_ARM1020E || CPU_ARM1022 || CPU_ARM1026 || \
|
|
|
|
CPU_XSCALE || CPU_XSC3 || CPU_MOHAWK || CPU_FEROCEON)
|
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
2012-09-07 03:41:12 +09:00
|
|
|
|
|
|
|
config ARCH_MULTI_V4_V5
|
|
|
|
bool
|
|
|
|
|
|
|
|
config ARCH_MULTI_V6
|
2013-03-05 08:19:19 +09:00
|
|
|
bool "ARMv6 based platforms (ARM11)"
|
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
2012-09-07 03:41:12 +09:00
|
|
|
select ARCH_MULTI_V6_V7
|
2014-02-01 05:26:04 +09:00
|
|
|
select CPU_V6K
|
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
2012-09-07 03:41:12 +09:00
|
|
|
|
|
|
|
config ARCH_MULTI_V7
|
2013-03-05 08:19:19 +09:00
|
|
|
bool "ARMv7 based platforms (Cortex-A, PJ4, Scorpion, Krait)"
|
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
2012-09-07 03:41:12 +09:00
|
|
|
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
|
2014-02-01 06:32:02 +09:00
|
|
|
select HAVE_SMP
|
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
2012-09-07 03:41:12 +09:00
|
|
|
|
|
|
|
config ARCH_MULTI_V6_V7
|
|
|
|
bool
|
2014-02-01 06:36:10 +09:00
|
|
|
select MIGHT_HAVE_CACHE_L2X0
|
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
2012-09-07 03:41:12 +09:00
|
|
|
|
|
|
|
config ARCH_MULTI_CPU_AUTO
|
|
|
|
def_bool !(ARCH_MULTI_V4 || ARCH_MULTI_V4T || ARCH_MULTI_V6_V7)
|
|
|
|
select ARCH_MULTI_V5
|
|
|
|
|
|
|
|
endmenu
|
|
|
|
|
2013-12-06 01:04:54 +09:00
|
|
|
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
|
2013-12-06 01:10:34 +09:00
|
|
|
select ARM_AMBA
|
2013-12-06 01:04:54 +09:00
|
|
|
select ARM_GIC
|
2016-06-16 05:47:33 +09:00
|
|
|
select ARM_GIC_V2M if PCI
|
2015-10-01 21:47:18 +09:00
|
|
|
select ARM_GIC_V3
|
2016-11-02 20:54:08 +09:00
|
|
|
select ARM_GIC_V3_ITS if PCI
|
2013-12-06 01:04:54 +09:00
|
|
|
select ARM_PSCI
|
2013-12-06 01:10:34 +09:00
|
|
|
select HAVE_ARM_ARCH_TIMER
|
2018-09-26 22:51:10 +09:00
|
|
|
select ARCH_SUPPORTS_BIG_ENDIAN
|
2013-12-06 01:04:54 +09:00
|
|
|
|
2010-03-16 04:03:06 +09:00
|
|
|
#
|
|
|
|
# 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.
|
|
|
|
#
|
2017-02-15 19:03:22 +09:00
|
|
|
source "arch/arm/mach-actions/Kconfig"
|
|
|
|
|
2015-03-12 20:53:00 +09:00
|
|
|
source "arch/arm/mach-alpine/Kconfig"
|
|
|
|
|
2016-02-12 01:06:19 +09:00
|
|
|
source "arch/arm/mach-artpec/Kconfig"
|
|
|
|
|
2014-11-24 20:08:27 +09:00
|
|
|
source "arch/arm/mach-asm9260/Kconfig"
|
|
|
|
|
2018-02-27 22:37:47 +09:00
|
|
|
source "arch/arm/mach-aspeed/Kconfig"
|
|
|
|
|
2010-01-14 20:43:54 +09:00
|
|
|
source "arch/arm/mach-at91/Kconfig"
|
|
|
|
|
2014-05-23 18:08:35 +09:00
|
|
|
source "arch/arm/mach-axxia/Kconfig"
|
|
|
|
|
2012-11-20 02:46:10 +09:00
|
|
|
source "arch/arm/mach-bcm/Kconfig"
|
|
|
|
|
2013-09-09 21:36:19 +09:00
|
|
|
source "arch/arm/mach-berlin/Kconfig"
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
source "arch/arm/mach-clps711x/Kconfig"
|
|
|
|
|
2010-03-25 23:12:41 +09:00
|
|
|
source "arch/arm/mach-cns3xxx/Kconfig"
|
|
|
|
|
2010-01-14 20:43:54 +09:00
|
|
|
source "arch/arm/mach-davinci/Kconfig"
|
|
|
|
|
2015-01-14 17:40:30 +09:00
|
|
|
source "arch/arm/mach-digicolor/Kconfig"
|
|
|
|
|
2010-01-14 20:43:54 +09:00
|
|
|
source "arch/arm/mach-dove/Kconfig"
|
|
|
|
|
[ARM] 3369/1: ep93xx: add core cirrus ep93xx support
Patch from Lennert Buytenhek
This patch adds support for the Cirrus ep93xx series of CPUs. The
ep93xx is an ARM920T based CPU with two VICs, PL010 based UARTs,
IrDA, MaverickCrunch floating point coprocessor, between 24 and 64
GPIOs, ethernet, OHCI USB and, depending on the model, pcmcia, raster
engine, graphics accelerator, IDE controller and a bunch of other
stuff.
This patch adds the core ep93xx support code, and support for the
Glomation GESBC-9312-sx and the Technologic Systems TS-72xx SBCs.
Signed-off-by: Lennert Buytenhek <buytenh@wantstofly.org>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
2006-03-21 02:10:13 +09:00
|
|
|
source "arch/arm/mach-ep93xx/Kconfig"
|
|
|
|
|
2018-02-27 22:37:47 +09:00
|
|
|
source "arch/arm/mach-exynos/Kconfig"
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
source "arch/arm/mach-footbridge/Kconfig"
|
|
|
|
|
2009-03-26 17:06:08 +09:00
|
|
|
source "arch/arm/mach-gemini/Kconfig"
|
|
|
|
|
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
2012-09-07 03:41:12 +09:00
|
|
|
source "arch/arm/mach-highbank/Kconfig"
|
|
|
|
|
2013-12-20 11:52:56 +09:00
|
|
|
source "arch/arm/mach-hisi/Kconfig"
|
|
|
|
|
2018-02-27 22:37:47 +09:00
|
|
|
source "arch/arm/mach-imx/Kconfig"
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
source "arch/arm/mach-integrator/Kconfig"
|
|
|
|
|
2006-09-19 07:10:26 +09:00
|
|
|
source "arch/arm/mach-iop32x/Kconfig"
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
source "arch/arm/mach-ixp4xx/Kconfig"
|
|
|
|
|
2013-06-11 00:27:13 +09:00
|
|
|
source "arch/arm/mach-keystone/Kconfig"
|
|
|
|
|
2019-08-09 23:40:39 +09:00
|
|
|
source "arch/arm/mach-lpc32xx/Kconfig"
|
2010-01-14 20:43:54 +09:00
|
|
|
|
2018-02-27 22:37:47 +09:00
|
|
|
source "arch/arm/mach-mediatek/Kconfig"
|
|
|
|
|
2014-09-11 05:16:59 +09:00
|
|
|
source "arch/arm/mach-meson/Kconfig"
|
|
|
|
|
2019-02-27 13:52:33 +09:00
|
|
|
source "arch/arm/mach-milbeaut/Kconfig"
|
|
|
|
|
2018-02-27 22:37:47 +09:00
|
|
|
source "arch/arm/mach-mmp/Kconfig"
|
2013-12-18 21:58:45 +09:00
|
|
|
|
2018-02-27 22:37:47 +09:00
|
|
|
source "arch/arm/mach-moxart/Kconfig"
|
2016-03-21 15:52:31 +09:00
|
|
|
|
2020-07-10 18:45:38 +09:00
|
|
|
source "arch/arm/mach-mstar/Kconfig"
|
|
|
|
|
[ARM] add Marvell 78xx0 ARM SoC support
The Marvell Discovery Duo (MV78xx0) is a family of ARM SoCs featuring
(depending on the model) one or two Feroceon CPU cores with 512K of L2
cache and VFP coprocessors running at (depending on the model) between
800 MHz and 1.2 GHz, and features a DDR2 controller, two PCIe
interfaces that can each run either in x4 or quad x1 mode, three USB
2.0 interfaces, two 3Gb/s SATA II interfaces, a SPI interface, two
TWSI interfaces, a crypto accelerator, IDMA/XOR engines, a SPI
interface, four UARTs, and depending on the model, two or four gigabit
ethernet interfaces.
This patch adds basic support for the platform, and allows booting
on the MV78x00 development board, with functional UARTs, SATA, PCIe,
GigE and USB ports.
Signed-off-by: Stanislav Samsonov <samsonov@marvell.com>
Signed-off-by: Lennert Buytenhek <buytenh@marvell.com>
2008-06-23 05:45:10 +09:00
|
|
|
source "arch/arm/mach-mv78xx0/Kconfig"
|
|
|
|
|
2018-02-27 22:37:47 +09:00
|
|
|
source "arch/arm/mach-mvebu/Kconfig"
|
2014-05-13 08:06:13 +09:00
|
|
|
|
2010-12-13 21:55:03 +09:00
|
|
|
source "arch/arm/mach-mxs/Kconfig"
|
|
|
|
|
2010-01-14 20:43:54 +09:00
|
|
|
source "arch/arm/mach-nomadik/Kconfig"
|
|
|
|
|
2017-08-17 04:18:39 +09:00
|
|
|
source "arch/arm/mach-npcm/Kconfig"
|
|
|
|
|
2013-06-11 17:40:17 +09:00
|
|
|
source "arch/arm/mach-nspire/Kconfig"
|
|
|
|
|
2005-07-11 03:58:17 +09:00
|
|
|
source "arch/arm/plat-omap/Kconfig"
|
|
|
|
|
|
|
|
source "arch/arm/mach-omap1/Kconfig"
|
2005-04-17 07:20:36 +09:00
|
|
|
|
2005-11-10 23:26:51 +09:00
|
|
|
source "arch/arm/mach-omap2/Kconfig"
|
|
|
|
|
2008-03-28 03:51:41 +09:00
|
|
|
source "arch/arm/mach-orion5x/Kconfig"
|
[ARM] basic support for the Marvell Orion SoC family
The Marvell Orion is a family of ARM SoCs with a DDR/DDR2 memory
controller, 10/100/1000 ethernet MAC, and USB 2.0 interfaces,
and, depending on the specific model, PCI-E interface, PCI-X
interface, SATA controllers, crypto unit, SPI interface, SDIO
interface, device bus, NAND controller, DMA engine and/or XOR
engine.
This contains the basic structure and architecture register definitions.
Signed-off-by: Tzachi Perelstein <tzachi@marvell.com>
Reviewed-by: Nicolas Pitre <nico@marvell.com>
Reviewed-by: Lennert Buytenhek <buytenh@marvell.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-24 04:14:41 +09:00
|
|
|
|
2018-02-27 22:37:47 +09:00
|
|
|
source "arch/arm/mach-oxnas/Kconfig"
|
|
|
|
|
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
2012-09-07 03:41:12 +09:00
|
|
|
source "arch/arm/mach-picoxcell/Kconfig"
|
|
|
|
|
2018-02-27 22:37:47 +09:00
|
|
|
source "arch/arm/mach-prima2/Kconfig"
|
|
|
|
|
2010-01-14 20:43:54 +09:00
|
|
|
source "arch/arm/mach-pxa/Kconfig"
|
|
|
|
source "arch/arm/plat-pxa/Kconfig"
|
[ARM] basic support for the Marvell Orion SoC family
The Marvell Orion is a family of ARM SoCs with a DDR/DDR2 memory
controller, 10/100/1000 ethernet MAC, and USB 2.0 interfaces,
and, depending on the specific model, PCI-E interface, PCI-X
interface, SATA controllers, crypto unit, SPI interface, SDIO
interface, device bus, NAND controller, DMA engine and/or XOR
engine.
This contains the basic structure and architecture register definitions.
Signed-off-by: Tzachi Perelstein <tzachi@marvell.com>
Reviewed-by: Nicolas Pitre <nico@marvell.com>
Reviewed-by: Lennert Buytenhek <buytenh@marvell.com>
Acked-by: Russell King <rmk+kernel@arm.linux.org.uk>
2007-10-24 04:14:41 +09:00
|
|
|
|
2014-01-22 08:14:10 +09:00
|
|
|
source "arch/arm/mach-qcom/Kconfig"
|
|
|
|
|
2018-12-19 00:02:30 +09:00
|
|
|
source "arch/arm/mach-rda/Kconfig"
|
|
|
|
|
2017-10-05 10:59:15 +09:00
|
|
|
source "arch/arm/mach-realtek/Kconfig"
|
|
|
|
|
2010-01-14 20:43:54 +09:00
|
|
|
source "arch/arm/mach-realview/Kconfig"
|
|
|
|
|
2013-06-03 06:09:41 +09:00
|
|
|
source "arch/arm/mach-rockchip/Kconfig"
|
|
|
|
|
2019-09-03 00:47:55 +09:00
|
|
|
source "arch/arm/mach-s3c/Kconfig"
|
2018-02-27 22:37:47 +09:00
|
|
|
|
|
|
|
source "arch/arm/mach-s5pv210/Kconfig"
|
|
|
|
|
2010-01-14 20:43:54 +09:00
|
|
|
source "arch/arm/mach-sa1100/Kconfig"
|
2009-08-06 21:12:43 +09:00
|
|
|
|
2018-02-27 22:37:47 +09:00
|
|
|
source "arch/arm/mach-shmobile/Kconfig"
|
|
|
|
|
ARM: initial multiplatform support
This lets us build a multiplatform kernel for experimental purposes.
However, it will not be useful for any real work, because it relies
on a number of useful things to be disabled for now:
* SMP support must be turned off because of conflicting symbols.
Marc Zyngier has proposed a solution by adding a new SOC
operations structure to hold indirect function pointers
for these, but that work is currently stalled
* We turn on SPARSE_IRQ unconditionally, which is not supported
on most platforms. Each of them is currently in a different
state, but most are being worked on.
* A common clock framework is in place since v3.4 but not yet
being used. Work on this is on its way.
* DEBUG_LL for early debugging is currently disabled.
* THUMB2_KERNEL does not work with allyesconfig because the
kernel gets too big
[Rob Herring]: Rebased to not be dependent on the mass mach header rename.
As a result, omap2plus, imx, mxs and ux500 are not converted. Highbank,
picoxcell, mvebu, and socfpga are converted.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
Cc: Russell King <linux@arm.linux.org.uk>
Cc: Jason Cooper <jason@lakedaemon.net>
Cc: Andrew Lunn <andrew@lunn.ch>
Acked-by: Jamie Iles <jamie@jamieiles.com>
Cc: Dinh Nguyen <dinguyen@altera.com>
2012-09-07 03:41:12 +09:00
|
|
|
source "arch/arm/mach-socfpga/Kconfig"
|
|
|
|
|
2012-12-02 23:12:47 +09:00
|
|
|
source "arch/arm/mach-spear/Kconfig"
|
2007-02-12 02:31:01 +09:00
|
|
|
|
2013-06-25 20:15:10 +09:00
|
|
|
source "arch/arm/mach-sti/Kconfig"
|
|
|
|
|
2017-01-31 01:33:13 +09:00
|
|
|
source "arch/arm/mach-stm32/Kconfig"
|
|
|
|
|
2012-11-08 20:40:16 +09:00
|
|
|
source "arch/arm/mach-sunxi/Kconfig"
|
|
|
|
|
2015-12-15 18:41:13 +09:00
|
|
|
source "arch/arm/mach-tango/Kconfig"
|
|
|
|
|
2010-01-22 09:53:02 +09:00
|
|
|
source "arch/arm/mach-tegra/Kconfig"
|
|
|
|
|
2010-01-14 20:43:54 +09:00
|
|
|
source "arch/arm/mach-u300/Kconfig"
|
2005-04-17 07:20:36 +09:00
|
|
|
|
2015-05-08 13:07:11 +09:00
|
|
|
source "arch/arm/mach-uniphier/Kconfig"
|
|
|
|
|
2010-01-14 20:43:54 +09:00
|
|
|
source "arch/arm/mach-ux500/Kconfig"
|
2005-04-17 07:20:36 +09:00
|
|
|
|
|
|
|
source "arch/arm/mach-versatile/Kconfig"
|
|
|
|
|
2010-02-12 06:44:53 +09:00
|
|
|
source "arch/arm/mach-vexpress/Kconfig"
|
|
|
|
|
2012-10-11 16:13:09 +09:00
|
|
|
source "arch/arm/mach-vt8500/Kconfig"
|
|
|
|
|
2015-04-28 18:18:05 +09:00
|
|
|
source "arch/arm/mach-zx/Kconfig"
|
|
|
|
|
2012-11-20 02:38:29 +09:00
|
|
|
source "arch/arm/mach-zynq/Kconfig"
|
|
|
|
|
2015-05-21 07:35:44 +09:00
|
|
|
# ARMv7-M architecture
|
|
|
|
config ARCH_EFM32
|
|
|
|
bool "Energy Micro efm32"
|
|
|
|
depends on ARM_SINGLE_ARMV7M
|
2016-06-02 21:10:16 +09:00
|
|
|
select GPIOLIB
|
2015-05-21 07:35:44 +09:00
|
|
|
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.
|
|
|
|
|
2016-04-25 17:49:13 +09:00
|
|
|
config ARCH_MPS2
|
2016-07-17 17:35:29 +09:00
|
|
|
bool "ARM MPS2 platform"
|
2016-04-25 17:49:13 +09:00
|
|
|
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.
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
# Definitions to make life easier
|
|
|
|
config ARCH_ACORN
|
|
|
|
bool
|
|
|
|
|
2006-09-19 07:12:53 +09:00
|
|
|
config PLAT_IOP
|
|
|
|
bool
|
2009-10-30 03:46:54 +09:00
|
|
|
select GENERIC_CLOCKEVENTS
|
2006-09-19 07:12:53 +09:00
|
|
|
|
2008-03-28 03:51:39 +09:00
|
|
|
config PLAT_ORION
|
|
|
|
bool
|
2011-05-08 23:33:30 +09:00
|
|
|
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
|
2011-05-22 18:01:21 +09:00
|
|
|
select GENERIC_IRQ_CHIP
|
2012-06-27 20:40:04 +09:00
|
|
|
select IRQ_DOMAIN
|
2008-03-28 03:51:39 +09:00
|
|
|
|
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
|
|
|
|
|
2009-01-20 13:06:01 +09:00
|
|
|
config PLAT_PXA
|
|
|
|
bool
|
|
|
|
|
2010-01-14 21:48:06 +09:00
|
|
|
config PLAT_VERSATILE
|
|
|
|
bool
|
|
|
|
|
2018-12-11 20:01:04 +09:00
|
|
|
source "arch/arm/mm/Kconfig"
|
2005-04-17 07:20:36 +09:00
|
|
|
|
[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
|
2014-04-25 06:58:30 +09:00
|
|
|
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.
|
|
|
|
|
2006-06-22 19:48:56 +09:00
|
|
|
if !MMU
|
|
|
|
source "arch/arm/Kconfig-nommu"
|
|
|
|
endif
|
|
|
|
|
2013-06-23 18:17:11 +09:00
|
|
|
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
|
|
|
|
|
2012-04-21 01:20:08 +09:00
|
|
|
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.
|
|
|
|
|
2009-05-01 01:06:03 +09:00
|
|
|
config ARM_ERRATA_411920
|
|
|
|
bool "ARM errata: Invalidation of the Instruction Cache operation can fail"
|
2011-01-18 00:08:32 +09:00
|
|
|
depends on CPU_V6 || CPU_V6K
|
2009-05-01 01:06:03 +09:00
|
|
|
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.
|
|
|
|
|
2009-05-01 01:06:09 +09:00
|
|
|
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
|
2015-04-14 00:14:37 +09:00
|
|
|
r1p* erratum. If a code sequence containing an ARM/Thumb
|
2009-05-01 01:06:09 +09:00
|
|
|
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.
|
|
|
|
|
2009-05-01 01:06:15 +09:00
|
|
|
config ARM_ERRATA_458693
|
|
|
|
bool "ARM errata: Processor deadlock when a false hazard is created"
|
|
|
|
depends on CPU_V7
|
2012-12-22 06:42:40 +09:00
|
|
|
depends on !ARCH_MULTIPLATFORM
|
2009-05-01 01:06:15 +09:00
|
|
|
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.
|
|
|
|
|
2009-05-01 01:06:20 +09:00
|
|
|
config ARM_ERRATA_460075
|
|
|
|
bool "ARM errata: Data written to the L2 cache can be overwritten with stale data"
|
|
|
|
depends on CPU_V7
|
2012-12-22 06:42:40 +09:00
|
|
|
depends on !ARCH_MULTIPLATFORM
|
2009-05-01 01:06:20 +09:00
|
|
|
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.
|
|
|
|
|
2010-09-14 17:51:43 +09:00
|
|
|
config ARM_ERRATA_742230
|
|
|
|
bool "ARM errata: DMB operation may be faulty"
|
|
|
|
depends on CPU_V7 && SMP
|
2012-12-22 06:42:40 +09:00
|
|
|
depends on !ARCH_MULTIPLATFORM
|
2010-09-14 17:51:43 +09:00
|
|
|
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.
|
|
|
|
|
2010-09-14 17:53:02 +09:00
|
|
|
config ARM_ERRATA_742231
|
|
|
|
bool "ARM errata: Incorrect hazard handling in the SCU may lead to data corruption"
|
|
|
|
depends on CPU_V7 && SMP
|
2012-12-22 06:42:40 +09:00
|
|
|
depends on !ARCH_MULTIPLATFORM
|
2010-09-14 17:53:02 +09:00
|
|
|
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.
|
|
|
|
|
2013-06-07 18:35:35 +09:00
|
|
|
config ARM_ERRATA_643719
|
|
|
|
bool "ARM errata: LoUIS bit field in CLIDR register is incorrect"
|
|
|
|
depends on CPU_V7 && SMP
|
2015-04-03 07:58:55 +09:00
|
|
|
default y
|
2013-06-07 18:35:35 +09:00
|
|
|
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.
|
|
|
|
|
2010-08-05 19:20:51 +09:00
|
|
|
config ARM_ERRATA_720789
|
|
|
|
bool "ARM errata: TLBIASIDIS and TLBIMVAIS operations can broadcast a faulty ASID"
|
2011-12-08 21:37:46 +09:00
|
|
|
depends on CPU_V7
|
2010-08-05 19:20:51 +09:00
|
|
|
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.
|
2010-09-28 22:02:02 +09:00
|
|
|
|
|
|
|
config ARM_ERRATA_743622
|
|
|
|
bool "ARM errata: Faulty hazard checking in the Store Buffer may lead to data corruption"
|
|
|
|
depends on CPU_V7
|
2012-12-22 06:42:40 +09:00
|
|
|
depends on !ARCH_MULTIPLATFORM
|
2010-09-28 22:02:02 +09:00
|
|
|
help
|
|
|
|
This option enables the workaround for the 743622 Cortex-A9
|
2012-02-24 20:12:38 +09:00
|
|
|
(r2p*) erratum. Under very rare conditions, a faulty
|
2010-09-28 22:02:02 +09:00
|
|
|
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.
|
|
|
|
|
2011-02-19 00:36:35 +09:00
|
|
|
config ARM_ERRATA_751472
|
|
|
|
bool "ARM errata: Interrupted ICIALLUIS may prevent completion of broadcasted operation"
|
2011-12-08 21:41:06 +09:00
|
|
|
depends on CPU_V7
|
2012-12-22 06:42:40 +09:00
|
|
|
depends on !ARCH_MULTIPLATFORM
|
2011-02-19 00:36:35 +09:00
|
|
|
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.
|
|
|
|
|
2011-03-01 02:15:16 +09:00
|
|
|
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.
|
|
|
|
|
2011-03-04 20:38:54 +09:00
|
|
|
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.
|
|
|
|
|
2011-08-15 19:04:41 +09:00
|
|
|
config ARM_ERRATA_364296
|
|
|
|
bool "ARM errata: Possible cache data corruption with hit-under-miss enabled"
|
2013-07-10 02:34:01 +09:00
|
|
|
depends on CPU_V6
|
2011-08-15 19:04:41 +09:00
|
|
|
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.
|
|
|
|
|
2011-09-15 19:45:15 +09:00
|
|
|
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.
|
|
|
|
|
2012-09-28 10:12:45 +09:00
|
|
|
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,
|
2019-10-25 20:38:43 +09:00
|
|
|
r2p6,r2p8,r2p10,r3p0) erratum. In case a data cache maintenance
|
2012-09-28 10:12:45 +09:00
|
|
|
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.
|
|
|
|
|
2013-03-27 07:35:04 +09:00
|
|
|
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.
|
|
|
|
|
2013-08-21 01:29:55 +09:00
|
|
|
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.
|
|
|
|
|
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.
|
|
|
|
|
2016-04-07 08:26:05 +09:00
|
|
|
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.
|
|
|
|
|
2016-04-07 08:27:26 +09:00
|
|
|
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
|
|
|
|
|
2019-04-27 07:35:46 +09:00
|
|
|
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.
|
|
|
|
|
2016-04-07 08:27:26 +09:00
|
|
|
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.
|
|
|
|
|
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.
|
|
|
|
|
2019-04-27 07:35:46 +09:00
|
|
|
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.
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
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.
|
|
|
|
|
2006-01-05 00:44:16 +09:00
|
|
|
# Select ISA DMA controller support
|
2005-04-17 07:20:36 +09:00
|
|
|
config ISA_DMA
|
|
|
|
bool
|
2006-01-05 00:44:16 +09:00
|
|
|
select ISA_DMA_API
|
2005-04-17 07:20:36 +09:00
|
|
|
|
2006-01-05 00:44:16 +09:00
|
|
|
# Select ISA DMA interface
|
2005-05-04 13:39:22 +09:00
|
|
|
config ISA_DMA_API
|
|
|
|
bool
|
|
|
|
|
2010-12-17 05:34:51 +09:00
|
|
|
config PCI_NANOENGINE
|
|
|
|
bool "BSE nanoEngine PCI support"
|
|
|
|
depends on SA1100_NANOENGINE
|
|
|
|
help
|
|
|
|
Enable PCI on the BSE nanoEngine board.
|
|
|
|
|
2019-05-21 18:17:39 +09:00
|
|
|
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.
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
endmenu
|
|
|
|
|
|
|
|
menu "Kernel Features"
|
|
|
|
|
2011-12-08 00:38:04 +09:00
|
|
|
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.
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
config SMP
|
2011-05-12 17:52:02 +09:00
|
|
|
bool "Symmetric Multi-Processing"
|
2011-01-18 03:01:58 +09:00
|
|
|
depends on CPU_V6K || CPU_V7
|
2009-05-18 02:58:34 +09:00
|
|
|
depends on GENERIC_CLOCKEVENTS
|
2011-12-08 00:38:04 +09:00
|
|
|
depends on HAVE_SMP
|
2013-02-23 03:56:04 +09:00
|
|
|
depends on MMU || ARM_MPU
|
2015-05-26 23:36:58 +09:00
|
|
|
select IRQ_WORK
|
2005-04-17 07:20:36 +09:00
|
|
|
help
|
|
|
|
This enables support for systems with more than one CPU. If you have
|
2014-01-24 08:55:29 +09:00
|
|
|
a system with only one CPU, say N. If you have a system with more
|
|
|
|
than one CPU, say Y.
|
2005-04-17 07:20:36 +09:00
|
|
|
|
2014-01-24 08:55:29 +09:00
|
|
|
If you say N here, the kernel will run on uni- and multiprocessor
|
2005-04-17 07:20:36 +09:00
|
|
|
machines, but will use only one CPU of a multiprocessor machine. If
|
2014-01-24 08:55:29 +09:00
|
|
|
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.
|
2005-04-17 07:20:36 +09:00
|
|
|
|
2019-06-08 03:54:32 +09:00
|
|
|
See also <file:Documentation/x86/i386/IO-APIC.rst>,
|
2019-06-28 02:56:51 +09:00
|
|
|
<file:Documentation/admin-guide/lockup-watchdogs.rst> and the SMP-HOWTO available at
|
2010-10-17 02:36:23 +09:00
|
|
|
<http://tldp.org/HOWTO/SMP-HOWTO.html>.
|
2005-04-17 07:20:36 +09:00
|
|
|
|
|
|
|
If you don't know what to do here, say N.
|
|
|
|
|
2010-09-04 18:47:48 +09:00
|
|
|
config SMP_ON_UP
|
2015-02-13 20:04:21 +09:00
|
|
|
bool "Allow booting SMP kernel on uniprocessor systems"
|
2013-02-23 03:56:04 +09:00
|
|
|
depends on SMP && !XIP_KERNEL && MMU
|
2010-09-04 18:47:48 +09:00
|
|
|
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.
|
|
|
|
|
2011-08-08 21:21:59 +09:00
|
|
|
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.
|
|
|
|
|
2009-05-16 19:51:14 +09:00
|
|
|
config HAVE_ARM_SCU
|
|
|
|
bool
|
|
|
|
help
|
2019-01-08 22:28:05 +09:00
|
|
|
This option enables support for the ARM snoop control unit
|
2009-05-16 19:51:14 +09:00
|
|
|
|
2012-11-12 23:33:44 +09:00
|
|
|
config HAVE_ARM_ARCH_TIMER
|
2012-01-12 02:25:17 +09:00
|
|
|
bool "Architected timer support"
|
|
|
|
depends on CPU_V7
|
2012-11-12 23:33:44 +09:00
|
|
|
select ARM_ARCH_TIMER
|
2012-01-12 02:25:17 +09:00
|
|
|
help
|
|
|
|
This option enables support for the ARM architected timer
|
|
|
|
|
2009-05-16 20:14:21 +09:00
|
|
|
config HAVE_ARM_TWD
|
|
|
|
bool
|
|
|
|
help
|
|
|
|
This options enables support for the ARM timer and watchdog unit
|
|
|
|
|
2012-04-12 15:45:22 +09:00
|
|
|
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.
|
|
|
|
|
2014-04-15 15:52:00 +09:00
|
|
|
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"
|
2015-11-19 23:49:23 +09:00
|
|
|
depends on BIG_LITTLE && MCPM && HOTPLUG_CPU && ARM_GIC
|
2014-04-23 06:26:27 +09:00
|
|
|
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.
|
|
|
|
|
2012-04-12 16:04:28 +09:00
|
|
|
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.
|
|
|
|
|
2008-08-26 05:03:32 +09:00
|
|
|
choice
|
|
|
|
prompt "Memory split"
|
2014-02-27 04:40:46 +09:00
|
|
|
depends on MMU
|
2008-08-26 05:03:32 +09:00
|
|
|
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"
|
2015-09-13 11:30:11 +09:00
|
|
|
config VMSPLIT_3G_OPT
|
2017-06-09 23:28:18 +09:00
|
|
|
depends on !ARM_LPAE
|
2015-09-13 11:30:11 +09:00
|
|
|
bool "3G/1G user/kernel split (for full 1G low memory)"
|
2008-08-26 05:03:32 +09:00
|
|
|
config VMSPLIT_2G
|
|
|
|
bool "2G/2G user/kernel split"
|
|
|
|
config VMSPLIT_1G
|
|
|
|
bool "1G/3G user/kernel split"
|
|
|
|
endchoice
|
|
|
|
|
|
|
|
config PAGE_OFFSET
|
|
|
|
hex
|
2014-02-27 04:40:46 +09:00
|
|
|
default PHYS_OFFSET if !MMU
|
2008-08-26 05:03:32 +09:00
|
|
|
default 0x40000000 if VMSPLIT_1G
|
|
|
|
default 0x80000000 if VMSPLIT_2G
|
2015-09-13 11:30:11 +09:00
|
|
|
default 0xB0000000 if VMSPLIT_3G_OPT
|
2008-08-26 05:03:32 +09:00
|
|
|
default 0xC0000000
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
config NR_CPUS
|
|
|
|
int "Maximum number of CPUs (2-32)"
|
|
|
|
range 2 32
|
|
|
|
depends on SMP
|
|
|
|
default "4"
|
|
|
|
|
2005-11-03 07:24:33 +09:00
|
|
|
config HOTPLUG_CPU
|
2012-10-23 06:54:30 +09:00
|
|
|
bool "Support for hot-pluggable CPUs"
|
2013-05-21 12:49:35 +09:00
|
|
|
depends on SMP
|
2019-01-21 22:42:42 +09:00
|
|
|
select GENERIC_IRQ_MIGRATION
|
2005-11-03 07:24:33 +09:00
|
|
|
help
|
|
|
|
Say Y here to experiment with turning CPUs off and on. CPUs
|
|
|
|
can be controlled through /sys/devices/system/cpu.
|
|
|
|
|
2012-12-13 04:20:52 +09:00
|
|
|
config ARM_PSCI
|
|
|
|
bool "Support for the ARM Power State Coordination Interface (PSCI)"
|
2016-01-04 23:46:47 +09:00
|
|
|
depends on HAVE_ARM_SMCCC
|
2015-07-31 23:46:19 +09:00
|
|
|
select ARM_PSCI_FW
|
2012-12-13 04:20:52 +09:00
|
|
|
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").
|
|
|
|
|
2013-02-03 20:24:48 +09:00
|
|
|
# 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.
|
2011-12-21 18:48:45 +09:00
|
|
|
config ARCH_NR_GPIO
|
|
|
|
int
|
2017-05-09 22:20:03 +09:00
|
|
|
default 2048 if ARCH_SOCFPGA
|
2018-04-20 22:28:27 +09:00
|
|
|
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
|
2014-07-03 20:17:12 +09:00
|
|
|
default 512 if ARCH_EXYNOS || ARCH_KEYSTONE || SOC_OMAP5 || \
|
|
|
|
SOC_DRA7XX || ARCH_S3C24XX || ARCH_S3C64XX || ARCH_S5PV210
|
2014-04-10 22:52:46 +09:00
|
|
|
default 416 if ARCH_SUNXI
|
2013-04-03 10:33:58 +09:00
|
|
|
default 392 if ARCH_U8500
|
2013-03-09 14:22:30 +09:00
|
|
|
default 352 if ARCH_VT8500
|
2014-05-26 07:13:51 +09:00
|
|
|
default 288 if ARCH_ROCKCHIP
|
2013-02-03 20:24:48 +09:00
|
|
|
default 264 if MACH_H4700
|
2011-12-21 18:48:45 +09:00
|
|
|
default 0
|
|
|
|
help
|
|
|
|
Maximum number of GPIOs in the system.
|
|
|
|
|
|
|
|
If unsure, leave the default value.
|
|
|
|
|
2013-04-28 07:31:10 +09:00
|
|
|
config HZ_FIXED
|
2006-03-03 07:41:59 +09:00
|
|
|
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
|
2015-03-14 06:57:24 +09:00
|
|
|
default 128 if SOC_AT91RM9200
|
2013-09-11 07:47:55 +09:00
|
|
|
default 0
|
2013-04-28 07:31:10 +09:00
|
|
|
|
|
|
|
choice
|
2013-09-11 07:47:55 +09:00
|
|
|
depends on HZ_FIXED = 0
|
2013-04-28 07:31:10 +09:00
|
|
|
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
|
2013-09-11 07:47:55 +09:00
|
|
|
default HZ_FIXED if HZ_FIXED != 0
|
2013-04-28 07:31:10 +09:00
|
|
|
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
|
2006-03-03 07:41:59 +09:00
|
|
|
|
2009-07-24 20:33:02 +09:00
|
|
|
config THUMB2_KERNEL
|
2011-12-10 04:52:10 +09:00
|
|
|
bool "Compile the kernel in Thumb-2 mode" if !CPU_THUMBONLY
|
2013-03-22 05:02:37 +09:00
|
|
|
depends on (CPU_V7 || CPU_V7M) && !CPU_V6 && !CPU_V6K
|
2011-12-10 04:52:10 +09:00
|
|
|
default y if CPU_THUMBONLY
|
2011-06-10 23:12:21 +09:00
|
|
|
select ARM_UNWIND
|
2009-07-24 20:33:02 +09:00
|
|
|
help
|
|
|
|
By enabling this option, the kernel will be compiled in
|
2017-11-29 15:52:52 +09:00
|
|
|
Thumb-2 mode.
|
2009-07-24 20:33:02 +09:00
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
2015-12-12 10:49:21 +09:00
|
|
|
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.
|
|
|
|
|
2006-01-15 01:33:50 +09:00
|
|
|
config AEABI
|
2019-07-09 04:38:15 +09:00
|
|
|
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
|
2006-01-15 01:33:50 +09:00
|
|
|
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.
|
|
|
|
|
2006-01-15 01:37:15 +09:00
|
|
|
config OABI_COMPAT
|
2006-02-09 06:09:55 +09:00
|
|
|
bool "Allow old ABI binaries to run with this kernel (EXPERIMENTAL)"
|
2013-01-17 11:53:14 +09:00
|
|
|
depends on AEABI && !THUMB2_KERNEL
|
2006-01-15 01:37:15 +09:00
|
|
|
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.
|
2013-11-09 08:51:56 +09:00
|
|
|
|
|
|
|
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.
|
|
|
|
|
2006-01-15 01:37:15 +09:00
|
|
|
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
|
2013-11-09 08:31:11 +09:00
|
|
|
at all). If in doubt say N.
|
2006-01-15 01:37:15 +09:00
|
|
|
|
2020-05-22 23:12:30 +09:00
|
|
|
config ARCH_SELECT_MEMORY_MODEL
|
|
|
|
bool
|
|
|
|
|
|
|
|
config ARCH_FLATMEM_ENABLE
|
2006-12-01 05:43:51 +09:00
|
|
|
bool
|
|
|
|
|
|
|
|
config ARCH_SPARSEMEM_ENABLE
|
|
|
|
bool
|
2020-05-22 23:12:30 +09:00
|
|
|
select SPARSEMEM_STATIC if SPARSEMEM
|
2008-10-02 05:39:58 +09:00
|
|
|
|
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
|
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
|
|
|
|
2008-09-19 13:36:12 +09:00
|
|
|
config HIGHMEM
|
2011-05-12 17:53:05 +09:00
|
|
|
bool "High Memory Support"
|
|
|
|
depends on MMU
|
2008-09-19 13:36:12 +09:00
|
|
|
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.
|
|
|
|
|
2009-08-18 04:02:06 +09:00
|
|
|
config HIGHPTE
|
2015-06-25 18:44:08 +09:00
|
|
|
bool "Allocate 2nd-level pagetables from highmem" if EXPERT
|
2009-08-18 04:02:06 +09:00
|
|
|
depends on HIGHMEM
|
2015-06-25 18:44:08 +09:00
|
|
|
default y
|
2015-06-25 18:49:45 +09:00
|
|
|
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.
|
2009-08-18 04:02:06 +09:00
|
|
|
|
2015-08-20 04:40:41 +09:00
|
|
|
config CPU_SW_DOMAIN_PAN
|
|
|
|
bool "Enable use of CPU domains to implement privileged no-access"
|
|
|
|
depends on MMU && !ARM_LPAE
|
2010-02-03 04:25:44 +09:00
|
|
|
default y
|
|
|
|
help
|
2015-08-20 04:40:41 +09:00
|
|
|
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.
|
2009-08-18 04:02:06 +09:00
|
|
|
|
2010-02-03 04:25:44 +09:00
|
|
|
config HW_PERF_EVENTS
|
2015-07-06 20:23:53 +09:00
|
|
|
def_bool y
|
|
|
|
depends on ARM_PMU
|
2010-02-03 04:25:44 +09:00
|
|
|
|
2012-07-25 22:32:38 +09:00
|
|
|
config SYS_SUPPORTS_HUGETLBFS
|
|
|
|
def_bool y
|
|
|
|
depends on ARM_LPAE
|
|
|
|
|
2012-07-25 22:39:26 +09:00
|
|
|
config HAVE_ARCH_TRANSPARENT_HUGEPAGE
|
|
|
|
def_bool y
|
|
|
|
depends on ARM_LPAE
|
|
|
|
|
2013-07-26 22:58:22 +09:00
|
|
|
config ARCH_WANT_GENERAL_HUGETLB
|
|
|
|
def_bool y
|
|
|
|
|
2014-11-25 00:54:35 +09:00
|
|
|
config ARM_MODULE_PLTS
|
|
|
|
bool "Use PLTs to allow module memory to spill over into vmalloc area"
|
|
|
|
depends on MODULES
|
2018-03-26 22:54:25 +09:00
|
|
|
default y
|
2014-11-25 00:54:35 +09:00
|
|
|
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.
|
|
|
|
|
2018-03-26 22:54:25 +09:00
|
|
|
Disabling this is usually safe for small single-platform
|
|
|
|
configurations. If unsure, say y.
|
2014-11-25 00:54:35 +09:00
|
|
|
|
2015-09-04 18:54:58 +09:00
|
|
|
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
|
|
|
|
|
2010-07-05 18:00:11 +09:00
|
|
|
config FORCE_MAX_ZONEORDER
|
2015-08-14 22:51:06 +09:00
|
|
|
int "Maximum zone order"
|
2012-10-09 06:37:53 +09:00
|
|
|
default "12" if SOC_AM33XX
|
2011-11-17 22:36:23 +09:00
|
|
|
default "9" if SA1111 || ARCH_EFM32
|
2010-07-05 18:00:11 +09:00
|
|
|
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.
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
config ALIGNMENT_TRAP
|
|
|
|
bool
|
2006-09-26 17:36:37 +09:00
|
|
|
depends on CPU_CP15_MMU
|
2005-04-17 07:20:36 +09:00
|
|
|
default y if !ARCH_EBSA110
|
2010-01-11 02:23:29 +09:00
|
|
|
select HAVE_PROC_CPU if PROC_FS
|
2005-04-17 07:20:36 +09:00
|
|
|
help
|
2006-10-04 05:53:09 +09:00
|
|
|
ARM processors cannot fetch/store information which is not
|
2005-04-17 07:20:36 +09:00
|
|
|
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.
|
|
|
|
|
2009-03-10 03:30:09 +09:00
|
|
|
config UACCESS_WITH_MEMCPY
|
2012-09-11 00:36:37 +09:00
|
|
|
bool "Use kernel mem{cpy,set}() for {copy_to,clear}_user()"
|
|
|
|
depends on MMU
|
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.
|
|
|
|
|
2015-11-23 19:32:57 +09:00
|
|
|
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.
|
|
|
|
|
2012-09-17 23:58:17 +09:00
|
|
|
config XEN_DOM0
|
|
|
|
def_bool y
|
|
|
|
depends on XEN
|
|
|
|
|
|
|
|
config XEN
|
2014-09-18 06:07:06 +09:00
|
|
|
bool "Xen guest support on ARM"
|
2013-03-07 16:17:25 +09:00
|
|
|
depends on ARM && AEABI && OF
|
2012-10-09 19:33:52 +09:00
|
|
|
depends on CPU_V7 && !CPU_V6
|
2013-03-07 16:17:25 +09:00
|
|
|
depends on !GENERIC_ATOMIC64
|
2014-03-03 23:25:52 +09:00
|
|
|
depends on MMU
|
2014-04-23 06:26:27 +09:00
|
|
|
select ARCH_DMA_ADDR_T_64BIT
|
2013-04-25 03:47:18 +09:00
|
|
|
select ARM_PSCI
|
2018-04-03 23:43:51 +09:00
|
|
|
select SWIOTLB
|
2013-10-10 22:40:44 +09:00
|
|
|
select SWIOTLB_XEN
|
2015-11-23 19:32:57 +09:00
|
|
|
select PARAVIRT
|
2012-09-17 23:58:17 +09:00
|
|
|
help
|
|
|
|
Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
|
|
|
|
|
2018-12-06 17:32:57 +09:00
|
|
|
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.
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
endmenu
|
|
|
|
|
|
|
|
menu "Boot options"
|
|
|
|
|
2011-04-29 05:27:20 +09:00
|
|
|
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
|
2011-04-29 05:27:20 +09:00
|
|
|
select OF
|
|
|
|
help
|
|
|
|
Include support for flattened device tree machine descriptions.
|
|
|
|
|
2012-09-01 11:03:25 +09:00
|
|
|
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.
|
|
|
|
|
2013-03-26 07:04:41 +09:00
|
|
|
config BUILD_ARM_APPENDED_DTB_IMAGE
|
|
|
|
bool "Build a concatenated zImage/dtb by default"
|
|
|
|
depends on OF
|
|
|
|
help
|
2020-04-22 11:20:24 +09:00
|
|
|
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
|
2013-03-26 07:04:41 +09:00
|
|
|
|
|
|
|
config BUILD_ARM_APPENDED_DTB_IMAGE_NAME
|
|
|
|
string "Default dtb name"
|
|
|
|
depends on BUILD_ARM_APPENDED_DTB_IMAGE
|
|
|
|
help
|
2020-04-22 11:20:24 +09:00
|
|
|
Space separated list of names of dtbs to append when building a
|
|
|
|
concatenated zImage-dtb.
|
2013-03-26 07:04:41 +09:00
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
# 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"
|
2020-06-09 11:28:14 +09:00
|
|
|
default 0x0
|
2005-04-17 07:20:36 +09:00
|
|
|
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"
|
2020-06-09 11:28:14 +09:00
|
|
|
default 0x0
|
2005-04-17 07:20:36 +09:00
|
|
|
help
|
2006-09-21 07:28:51 +09:00
|
|
|
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.
|
2005-04-17 07:20:36 +09:00
|
|
|
|
|
|
|
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
|
2014-01-01 20:59:44 +09:00
|
|
|
depends on !ARM_APPENDED_DTB && !XIP_KERNEL && !AUTO_ZRELADDR
|
2005-04-17 07:20:36 +09:00
|
|
|
help
|
|
|
|
Say Y here if you intend to execute your compressed kernel image
|
|
|
|
(zImage) directly from ROM or flash. If unsure, say N.
|
|
|
|
|
2011-05-28 07:45:50 +09:00
|
|
|
config ARM_APPENDED_DTB
|
|
|
|
bool "Use appended device tree blob to zImage (EXPERIMENTAL)"
|
2014-01-01 20:59:44 +09:00
|
|
|
depends on OF
|
2011-05-28 07:45:50 +09:00
|
|
|
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.
|
|
|
|
|
2011-09-14 11:37:07 +09:00
|
|
|
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.
|
|
|
|
|
2012-06-27 00:37:59 +09:00
|
|
|
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
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
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).
|
|
|
|
|
2011-05-05 01:07:55 +09:00
|
|
|
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.
|
|
|
|
|
2010-02-17 03:04:53 +09:00
|
|
|
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.
|
2011-05-05 01:07:55 +09:00
|
|
|
endchoice
|
2010-02-17 03:04:53 +09:00
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
config XIP_KERNEL
|
|
|
|
bool "Kernel Execute-In-Place from ROM"
|
2014-01-01 20:59:44 +09:00
|
|
|
depends on !ARM_LPAE && !ARCH_MULTIPLATFORM
|
2005-04-17 07:20:36 +09:00
|
|
|
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.
|
|
|
|
|
2017-08-25 13:54:18 +09:00
|
|
|
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.
|
|
|
|
|
2007-02-07 05:29:00 +09:00
|
|
|
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)
|
2020-01-10 21:37:59 +09:00
|
|
|
depends on MMU
|
2015-09-10 07:38:55 +09:00
|
|
|
select KEXEC_CORE
|
2007-02-07 05:29:00 +09:00
|
|
|
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
|
2007-10-20 08:34:40 +09:00
|
|
|
but it is independent of the system firmware. And like a reboot
|
2007-02-07 05:29:00 +09:00
|
|
|
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
|
2013-08-21 04:38:03 +09:00
|
|
|
initially work for you.
|
2007-02-07 05:29:00 +09:00
|
|
|
|
2008-01-02 08:56:46 +09:00
|
|
|
config ATAGS_PROC
|
|
|
|
bool "Export atags in procfs"
|
2012-09-01 11:03:25 +09:00
|
|
|
depends on ATAGS && KEXEC
|
2008-02-23 00:45:18 +09:00
|
|
|
default y
|
2008-01-02 08:56:46 +09:00
|
|
|
help
|
|
|
|
Should the atags used to boot the kernel be exported in an "atags"
|
|
|
|
file in procfs. Useful with kexec.
|
|
|
|
|
2010-11-19 03:14:52 +09:00
|
|
|
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
|
|
|
|
|
2019-06-14 03:21:39 +09:00
|
|
|
For more details see Documentation/admin-guide/kdump/kdump.rst
|
2010-11-19 03:14:52 +09:00
|
|
|
|
2010-07-05 22:56:50 +09:00
|
|
|
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.
|
|
|
|
|
2015-09-24 12:17:54 +09:00
|
|
|
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
|
2020-04-16 04:54:18 +09:00
|
|
|
select EFI_GENERIC_STUB
|
2015-09-24 12:17:54 +09:00
|
|
|
select EFI_RUNTIME_WRAPPERS
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2015-09-24 12:17:54 +09:00
|
|
|
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.
|
|
|
|
|
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.
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
endmenu
|
|
|
|
|
2008-08-19 01:26:00 +09:00
|
|
|
menu "CPU Power Management"
|
2005-04-17 07:20:36 +09:00
|
|
|
|
|
|
|
source "drivers/cpufreq/Kconfig"
|
|
|
|
|
2008-08-19 01:26:00 +09:00
|
|
|
source "drivers/cpuidle/Kconfig"
|
|
|
|
|
|
|
|
endmenu
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
menu "Floating point emulation"
|
|
|
|
|
|
|
|
comment "At least one emulation must be selected"
|
|
|
|
|
|
|
|
config FPE_NWFPE
|
|
|
|
bool "NWFPE math emulation"
|
2010-12-14 05:56:03 +09:00
|
|
|
depends on (!AEABI || OABI_COMPAT) && !THUMB2_KERNEL
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2005-04-17 07:20:36 +09:00
|
|
|
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"
|
2005-11-08 06:12:08 +09:00
|
|
|
depends on FPE_NWFPE
|
2005-04-17 07:20:36 +09:00
|
|
|
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)"
|
2013-01-17 11:53:14 +09:00
|
|
|
depends on (!AEABI || OABI_COMPAT) && !CPU_32v3
|
2020-06-14 01:50:22 +09:00
|
|
|
help
|
2005-04-17 07:20:36 +09:00
|
|
|
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"
|
2011-01-18 00:08:32 +09:00
|
|
|
depends on CPU_V6 || CPU_V6K || CPU_ARM926T || CPU_V7 || CPU_FEROCEON
|
2005-04-17 07:20:36 +09:00
|
|
|
help
|
|
|
|
Say Y to include VFP support code in the kernel. This is needed
|
|
|
|
if your hardware includes a VFP unit.
|
|
|
|
|
2019-04-15 03:51:10 +09:00
|
|
|
Please see <file:Documentation/arm/vfp/release-notes.rst> for
|
2005-04-17 07:20:36 +09:00
|
|
|
release notes and additional status information.
|
|
|
|
|
|
|
|
Say N if your target does not have VFP hardware.
|
|
|
|
|
2007-09-25 23:22:24 +09:00
|
|
|
config VFPv3
|
|
|
|
bool
|
|
|
|
depends on VFP
|
|
|
|
default y if CPU_V7
|
|
|
|
|
2008-01-11 03:16:17 +09:00
|
|
|
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.
|
|
|
|
|
2013-05-16 18:41:48 +09:00
|
|
|
config KERNEL_MODE_NEON
|
|
|
|
bool "Support for NEON in kernel mode"
|
2013-09-22 19:08:50 +09:00
|
|
|
depends on NEON && AEABI
|
2013-05-16 18:41:48 +09:00
|
|
|
help
|
|
|
|
Say Y to include support for NEON in kernel mode.
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
endmenu
|
|
|
|
|
|
|
|
menu "Power management options"
|
|
|
|
|
2005-11-15 20:31:41 +09:00
|
|
|
source "kernel/power/Kconfig"
|
2005-04-17 07:20:36 +09:00
|
|
|
|
2007-12-08 10:14:00 +09:00
|
|
|
config ARCH_SUSPEND_POSSIBLE
|
2013-08-16 18:28:24 +09:00
|
|
|
depends on CPU_ARM920T || CPU_ARM926T || CPU_FEROCEON || CPU_SA1100 || \
|
2012-02-01 18:00:00 +09:00
|
|
|
CPU_V6 || CPU_V6K || CPU_V7 || CPU_V7M || CPU_XSC3 || CPU_XSCALE || CPU_MOHAWK
|
2007-12-08 10:14:00 +09:00
|
|
|
def_bool y
|
|
|
|
|
2011-10-02 04:09:39 +09:00
|
|
|
config ARM_CPU_SUSPEND
|
2016-02-02 02:01:30 +09:00
|
|
|
def_bool PM_SLEEP || BL_SWITCHER || ARM_PSCI_FW
|
2016-02-02 02:01:29 +09:00
|
|
|
depends on ARCH_SUSPEND_POSSIBLE
|
2011-10-02 04:09:39 +09:00
|
|
|
|
2014-03-25 09:20:29 +09:00
|
|
|
config ARCH_HIBERNATION_POSSIBLE
|
|
|
|
bool
|
|
|
|
depends on MMU
|
|
|
|
default y if ARCH_SUSPEND_POSSIBLE
|
|
|
|
|
2005-04-17 07:20:36 +09:00
|
|
|
endmenu
|
|
|
|
|
2015-02-27 06:49:09 +09:00
|
|
|
source "drivers/firmware/Kconfig"
|
|
|
|
|
2015-03-10 17:47:44 +09:00
|
|
|
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"
|