Merge tag 'kconfig-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
authorLinus Torvalds <torvalds@linux-foundation.org>
Sat, 29 Dec 2018 21:03:29 +0000 (13:03 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 29 Dec 2018 21:03:29 +0000 (13:03 -0800)
Pull Kconfig updates from Masahiro Yamada:

 - support -y option for merge_config.sh to avoid downgrading =y to =m

 - remove S_OTHER symbol type, and touch include/config/*.h files correctly

 - fix file name and line number in lexer warnings

 - fix memory leak when EOF is encountered in quotation

 - resolve all shift/reduce conflicts of the parser

 - warn no new line at end of file

 - make 'source' statement more strict to take only string literal

 - rewrite the lexer and remove the keyword lookup table

 - convert to SPDX License Identifier

 - compile C files independently instead of including them from zconf.y

 - fix various warnings of gconfig

 - misc cleanups

* tag 'kconfig-v4.21' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (39 commits)
  kconfig: surround dbg_sym_flags with #ifdef DEBUG to fix gconf warning
  kconfig: split images.c out of qconf.cc/gconf.c to fix gconf warnings
  kconfig: add static qualifiers to fix gconf warnings
  kconfig: split the lexer out of zconf.y
  kconfig: split some C files out of zconf.y
  kconfig: convert to SPDX License Identifier
  kconfig: remove keyword lookup table entirely
  kconfig: update current_pos in the second lexer
  kconfig: switch to ASSIGN_VAL state in the second lexer
  kconfig: stop associating kconf_id with yylval
  kconfig: refactor end token rules
  kconfig: stop supporting '.' and '/' in unquoted words
  treewide: surround Kconfig file paths with double quotes
  microblaze: surround string default in Kconfig with double quotes
  kconfig: use T_WORD instead of T_VARIABLE for variables
  kconfig: use specific tokens instead of T_ASSIGN for assignments
  kconfig: refactor scanning and parsing "option" properties
  kconfig: use distinct tokens for type and default properties
  kconfig: remove redundant token defines
  kconfig: rename depends_list to comment_option_list
  ...

17 files changed:
1  2 
arch/arm/Kconfig
arch/arm64/Kconfig
arch/ia64/Kconfig
arch/m68k/Kconfig
arch/mips/kvm/Kconfig
arch/openrisc/Kconfig
arch/powerpc/Kconfig
arch/riscv/Kconfig
arch/s390/Kconfig
arch/sh/Kconfig
arch/sparc/Kconfig
arch/x86/Kconfig
block/Kconfig
crypto/Kconfig
drivers/crypto/Kconfig
drivers/hwmon/Kconfig
lib/Kconfig.debug

diff --combined arch/arm/Kconfig
@@@ -19,7 -19,6 +19,7 @@@ config AR
        select ARCH_HAVE_CUSTOM_GPIO_H
        select ARCH_HAS_GCOV_PROFILE_ALL
        select ARCH_MIGHT_HAVE_PC_PARPORT
 +      select ARCH_NO_SG_CHAIN if !ARM_HAS_SG_CHAIN
        select ARCH_OPTIONAL_KERNEL_RWX if ARCH_HAS_STRICT_KERNEL_RWX
        select ARCH_OPTIONAL_KERNEL_RWX_DEFAULT if CPU_V7
        select ARCH_SUPPORTS_ATOMIC_RMW
@@@ -30,7 -29,7 +30,7 @@@
        select CLONE_BACKWARDS
        select CPU_PM if (SUSPEND || CPU_IDLE)
        select DCACHE_WORD_ACCESS if HAVE_EFFICIENT_UNALIGNED_ACCESS
 -      select DMA_DIRECT_OPS if !MMU
 +      select DMA_REMAP if MMU
        select EDAC_SUPPORT
        select EDAC_ATOMIC_SCRUB
        select GENERIC_ALLOCATOR
          <http://www.arm.linux.org.uk/>.
  
  config ARM_HAS_SG_CHAIN
 -      select ARCH_HAS_SG_CHAIN
        bool
  
  config ARM_DMA_USE_IOMMU
@@@ -910,7 -910,7 +910,7 @@@ config PLAT_VERSATIL
  
  source "arch/arm/firmware/Kconfig"
  
- source arch/arm/mm/Kconfig
+ source "arch/arm/mm/Kconfig"
  
  config IWMMXT
        bool "Enable iWMMXt support"
@@@ -1810,21 -1810,6 +1810,21 @@@ config XE
        help
          Say Y if you want to run Linux in a Virtual Machine on Xen on ARM.
  
 +config STACKPROTECTOR_PER_TASK
 +      bool "Use a unique stack canary value for each task"
 +      depends on GCC_PLUGINS && STACKPROTECTOR && SMP && !XIP_DEFLATED_DATA
 +      select GCC_PLUGIN_ARM_SSP_PER_TASK
 +      default y
 +      help
 +        Due to the fact that GCC uses an ordinary symbol reference from
 +        which to load the value of the stack canary, this value can only
 +        change at reboot time on SMP systems, and all tasks running in the
 +        kernel's address space are forced to use the same canary value for
 +        the entire duration that the system is up.
 +
 +        Enable this option to switch to a different method that uses a
 +        different canary value for each task.
 +
  endmenu
  
  menu "Boot options"
diff --combined arch/arm64/Kconfig
@@@ -5,7 -5,7 +5,7 @@@ config ARM6
        select ACPI_GTDT if ACPI
        select ACPI_IORT if ACPI
        select ACPI_REDUCED_HARDWARE_ONLY if ACPI
 -      select ACPI_MCFG if ACPI
 +      select ACPI_MCFG if (ACPI && PCI)
        select ACPI_SPCR_TABLE if ACPI
        select ACPI_PPTT if ACPI
        select ARCH_CLOCKSOURCE_DATA
@@@ -23,6 -23,7 +23,6 @@@
        select ARCH_HAS_MEMBARRIER_SYNC_CORE
        select ARCH_HAS_PTE_SPECIAL
        select ARCH_HAS_SET_MEMORY
 -      select ARCH_HAS_SG_CHAIN
        select ARCH_HAS_STRICT_KERNEL_RWX
        select ARCH_HAS_STRICT_MODULE_RWX
        select ARCH_HAS_SYNC_DMA_FOR_DEVICE
@@@ -80,7 -81,7 +80,7 @@@
        select CPU_PM if (SUSPEND || CPU_IDLE)
        select CRC32
        select DCACHE_WORD_ACCESS
 -      select DMA_DIRECT_OPS
 +      select DMA_DIRECT_REMAP
        select EDAC_SUPPORT
        select FRAME_POINTER
        select GENERIC_ALLOCATOR
        select HAVE_ARCH_JUMP_LABEL
        select HAVE_ARCH_JUMP_LABEL_RELATIVE
        select HAVE_ARCH_KASAN if !(ARM64_16K_PAGES && ARM64_VA_BITS_48)
 +      select HAVE_ARCH_KASAN_SW_TAGS if HAVE_ARCH_KASAN
        select HAVE_ARCH_KGDB
        select HAVE_ARCH_MMAP_RND_BITS
        select HAVE_ARCH_MMAP_RND_COMPAT_BITS if COMPAT
        select OF
        select OF_EARLY_FLATTREE
        select OF_RESERVED_MEM
 -      select PCI_ECAM if ACPI
 +      select PCI_ECAM if (ACPI && PCI)
        select POWER_RESET
        select POWER_SUPPLY
        select REFCOUNT_FULL
@@@ -261,9 -261,6 +261,9 @@@ config ZONE_DMA3
  config HAVE_GENERIC_GUP
        def_bool y
  
 +config ARCH_ENABLE_MEMORY_HOTPLUG
 +      def_bool y
 +
  config SMP
        def_bool y
  
@@@ -277,7 -274,7 +277,7 @@@ config PGTABLE_LEVEL
        int
        default 2 if ARM64_16K_PAGES && ARM64_VA_BITS_36
        default 2 if ARM64_64K_PAGES && ARM64_VA_BITS_42
 -      default 3 if ARM64_64K_PAGES && ARM64_VA_BITS_48
 +      default 3 if ARM64_64K_PAGES && (ARM64_VA_BITS_48 || ARM64_USER_VA_BITS_52)
        default 3 if ARM64_4K_PAGES && ARM64_VA_BITS_39
        default 3 if ARM64_16K_PAGES && ARM64_VA_BITS_47
        default 4 if !ARM64_64K_PAGES && ARM64_VA_BITS_48
@@@ -316,13 -313,9 +316,13 @@@ menu "Kernel Features
  
  menu "ARM errata workarounds via the alternatives framework"
  
 +config ARM64_WORKAROUND_CLEAN_CACHE
 +      def_bool n
 +
  config ARM64_ERRATUM_826319
        bool "Cortex-A53: 826319: System might deadlock if a write cannot complete until read data is accepted"
        default y
 +      select ARM64_WORKAROUND_CLEAN_CACHE
        help
          This option adds an alternative code sequence to work around ARM
          erratum 826319 on Cortex-A53 parts up to r0p2 with an AMBA 4 ACE or
  config ARM64_ERRATUM_827319
        bool "Cortex-A53: 827319: Data cache clean instructions might cause overlapping transactions to the interconnect"
        default y
 +      select ARM64_WORKAROUND_CLEAN_CACHE
        help
          This option adds an alternative code sequence to work around ARM
          erratum 827319 on Cortex-A53 parts up to r0p2 with an AMBA 5 CHI
  config ARM64_ERRATUM_824069
        bool "Cortex-A53: 824069: Cache line might not be marked as clean after a CleanShared snoop"
        default y
 +      select ARM64_WORKAROUND_CLEAN_CACHE
        help
          This option adds an alternative code sequence to work around ARM
          erratum 824069 on Cortex-A53 parts up to r0p2 when it is connected
  config ARM64_ERRATUM_819472
        bool "Cortex-A53: 819472: Store exclusive instructions might cause data corruption"
        default y
 +      select ARM64_WORKAROUND_CLEAN_CACHE
        help
          This option adds an alternative code sequence to work around ARM
          erratum 819472 on Cortex-A53 parts up to r0p1 with an L2 cache
@@@ -507,36 -497,6 +507,36 @@@ config ARM64_ERRATUM_118887
  
          If unsure, say Y.
  
 +config ARM64_ERRATUM_1165522
 +      bool "Cortex-A76: Speculative AT instruction using out-of-context translation regime could cause subsequent request to generate an incorrect translation"
 +      default y
 +      help
 +        This option adds work arounds for ARM Cortex-A76 erratum 1165522
 +
 +        Affected Cortex-A76 cores (r0p0, r1p0, r2p0) could end-up with
 +        corrupted TLBs by speculating an AT instruction during a guest
 +        context switch.
 +
 +        If unsure, say Y.
 +
 +config ARM64_ERRATUM_1286807
 +      bool "Cortex-A76: Modification of the translation table for a virtual address might lead to read-after-read ordering violation"
 +      default y
 +      select ARM64_WORKAROUND_REPEAT_TLBI
 +      help
 +        This option adds workaround for ARM Cortex-A76 erratum 1286807
 +
 +        On the affected Cortex-A76 cores (r0p0 to r3p0), if a virtual
 +        address for a cacheable mapping of a location is being
 +        accessed by a core while another core is remapping the virtual
 +        address to a new physical page using the recommended
 +        break-before-make sequence, then under very rare circumstances
 +        TLBI+DSB completes before a read using the translation being
 +        invalidated has been observed by other observers. The
 +        workaround repeats the TLBI+DSB operation.
 +
 +        If unsure, say Y.
 +
  config CAVIUM_ERRATUM_22375
        bool "Cavium erratum 22375, 24313"
        default y
@@@ -606,16 -566,9 +606,16 @@@ config QCOM_FALKOR_ERRATUM_100
          is unchanged. Work around the erratum by invalidating the walk cache
          entries for the trampoline before entering the kernel proper.
  
 +config ARM64_WORKAROUND_REPEAT_TLBI
 +      bool
 +      help
 +        Enable the repeat TLBI workaround for Falkor erratum 1009 and
 +        Cortex-A76 erratum 1286807.
 +
  config QCOM_FALKOR_ERRATUM_1009
        bool "Falkor E1009: Prematurely complete a DSB after a TLBI"
        default y
 +      select ARM64_WORKAROUND_REPEAT_TLBI
        help
          On Falkor v1, the CPU may prematurely complete a DSB following a
          TLBI xxIS invalidate maintenance operation. Repeat the TLBI operation
@@@ -722,43 -675,15 +722,43 @@@ config ARM64_VA_BITS_4
  config ARM64_VA_BITS_48
        bool "48-bit"
  
 +config ARM64_USER_VA_BITS_52
 +      bool "52-bit (user)"
 +      depends on ARM64_64K_PAGES && (ARM64_PAN || !ARM64_SW_TTBR0_PAN)
 +      help
 +        Enable 52-bit virtual addressing for userspace when explicitly
 +        requested via a hint to mmap(). The kernel will continue to
 +        use 48-bit virtual addresses for its own mappings.
 +
 +        NOTE: Enabling 52-bit virtual addressing in conjunction with
 +        ARMv8.3 Pointer Authentication will result in the PAC being
 +        reduced from 7 bits to 3 bits, which may have a significant
 +        impact on its susceptibility to brute-force attacks.
 +
 +        If unsure, select 48-bit virtual addressing instead.
 +
  endchoice
  
 +config ARM64_FORCE_52BIT
 +      bool "Force 52-bit virtual addresses for userspace"
 +      depends on ARM64_USER_VA_BITS_52 && EXPERT
 +      help
 +        For systems with 52-bit userspace VAs enabled, the kernel will attempt
 +        to maintain compatibility with older software by providing 48-bit VAs
 +        unless a hint is supplied to mmap.
 +
 +        This configuration option disables the 48-bit compatibility logic, and
 +        forces all userspace addresses to be 52-bit on HW that supports it. One
 +        should only enable this configuration option for stress testing userspace
 +        memory management code. If unsure say N here.
 +
  config ARM64_VA_BITS
        int
        default 36 if ARM64_VA_BITS_36
        default 39 if ARM64_VA_BITS_39
        default 42 if ARM64_VA_BITS_42
        default 47 if ARM64_VA_BITS_47
 -      default 48 if ARM64_VA_BITS_48
 +      default 48 if ARM64_VA_BITS_48 || ARM64_USER_VA_BITS_52
  
  choice
        prompt "Physical address space size"
@@@ -857,7 -782,7 +857,7 @@@ config NEED_PER_CPU_EMBED_FIRST_CHUN
  config HOLES_IN_ZONE
        def_bool y
  
- source kernel/Kconfig.hz
+ source "kernel/Kconfig.hz"
  
  config ARCH_SUPPORTS_DEBUG_PAGEALLOC
        def_bool y
@@@ -933,39 -858,6 +933,39 @@@ config KEXE
          but it is independent of the system firmware.   And like a reboot
          you can start any kernel with it, not just Linux.
  
 +config KEXEC_FILE
 +      bool "kexec file based system call"
 +      select KEXEC_CORE
 +      help
 +        This is new version of kexec system call. This system call is
 +        file based and takes file descriptors as system call argument
 +        for kernel and initramfs as opposed to list of segments as
 +        accepted by previous system call.
 +
 +config KEXEC_VERIFY_SIG
 +      bool "Verify kernel signature during kexec_file_load() syscall"
 +      depends on KEXEC_FILE
 +      help
 +        Select this option to verify a signature with loaded kernel
 +        image. If configured, any attempt of loading a image without
 +        valid signature will fail.
 +
 +        In addition to that option, you need to enable signature
 +        verification for the corresponding kernel image type being
 +        loaded in order for this to work.
 +
 +config KEXEC_IMAGE_VERIFY_SIG
 +      bool "Enable Image signature verification support"
 +      default y
 +      depends on KEXEC_VERIFY_SIG
 +      depends on EFI && SIGNED_PE_FILE_VERIFICATION
 +      help
 +        Enable Image signature verification support.
 +
 +comment "Support for PE file signature verification disabled"
 +      depends on KEXEC_VERIFY_SIG
 +      depends on !EFI || !SIGNED_PE_FILE_VERIFICATION
 +
  config CRASH_DUMP
        bool "Build kdump crash kernel"
        help
@@@ -1066,20 -958,6 +1066,20 @@@ config ARM64_SSB
  
          If unsure, say Y.
  
 +config RODATA_FULL_DEFAULT_ENABLED
 +      bool "Apply r/o permissions of VM areas also to their linear aliases"
 +      default y
 +      help
 +        Apply read-only attributes of VM areas to the linear alias of
 +        the backing pages as well. This prevents code or read-only data
 +        from being modified (inadvertently or intentionally) via another
 +        mapping of the same memory page. This additional enhancement can
 +        be turned off at runtime by passing rodata=[off|on] (and turned on
 +        with rodata=full if this option is set to 'n')
 +
 +        This requires the linear region to be mapped down to pages,
 +        which may adversely affect performance in some cases.
 +
  menuconfig ARMV8_DEPRECATED
        bool "Emulate deprecated/obsolete ARMv8 instructions"
        depends on COMPAT
@@@ -1285,29 -1163,6 +1285,29 @@@ config ARM64_CN
  
  endmenu
  
 +menu "ARMv8.3 architectural features"
 +
 +config ARM64_PTR_AUTH
 +      bool "Enable support for pointer authentication"
 +      default y
 +      help
 +        Pointer authentication (part of the ARMv8.3 Extensions) provides
 +        instructions for signing and authenticating pointers against secret
 +        keys, which can be used to mitigate Return Oriented Programming (ROP)
 +        and other attacks.
 +
 +        This option enables these instructions at EL0 (i.e. for userspace).
 +
 +        Choosing this option will cause the kernel to initialise secret keys
 +        for each process at exec() time, with these keys being
 +        context-switched along with the process.
 +
 +        The feature is detected at runtime. If the feature is not present in
 +        hardware it will not be advertised to userspace nor will it be
 +        enabled.
 +
 +endmenu
 +
  config ARM64_SVE
        bool "ARM Scalable Vector Extension support"
        default y
@@@ -1392,13 -1247,6 +1392,13 @@@ config RANDOMIZE_MODULE_REGION_FUL
          a limited range that contains the [_stext, _etext] interval of the
          core kernel, so branch relocations are always in range.
  
 +config CC_HAVE_STACKPROTECTOR_SYSREG
 +      def_bool $(cc-option,-mstack-protector-guard=sysreg -mstack-protector-guard-reg=sp_el0 -mstack-protector-guard-offset=0)
 +
 +config STACKPROTECTOR_PER_TASK
 +      def_bool y
 +      depends on STACKPROTECTOR && CC_HAVE_STACKPROTECTOR_SYSREG
 +
  endmenu
  
  menu "Boot options"
diff --combined arch/ia64/Kconfig
@@@ -28,8 -28,8 +28,8 @@@ config IA6
        select HAVE_ARCH_TRACEHOOK
        select HAVE_MEMBLOCK_NODE_MAP
        select HAVE_VIRT_CPU_ACCOUNTING
 -      select ARCH_HAS_DMA_MARK_CLEAN
 -      select ARCH_HAS_SG_CHAIN
 +      select ARCH_HAS_DMA_COHERENT_TO_PFN if SWIOTLB
 +      select ARCH_HAS_SYNC_DMA_FOR_CPU
        select VIRT_TO_BUS
        select ARCH_DISCARD_MEMBLOCK
        select GENERIC_IRQ_PROBE
@@@ -261,7 -261,7 +261,7 @@@ config H
  endif
  
  if !IA64_HP_SIM
- source kernel/Kconfig.hz
+ source "kernel/Kconfig.hz"
  endif
  
  config IA64_BRL_EMU
diff --combined arch/m68k/Kconfig
@@@ -26,6 -26,7 +26,6 @@@ config M68
        select MODULES_USE_ELF_RELA
        select OLD_SIGSUSPEND3
        select OLD_SIGACTION
 -      select DMA_DIRECT_OPS if HAS_DMA
        select ARCH_DISCARD_MEMBLOCK
  
  config CPU_BIG_ENDIAN
@@@ -122,11 -123,11 +122,11 @@@ config BOOTINFO_PRO
  
  menu "Platform setup"
  
- source arch/m68k/Kconfig.cpu
+ source "arch/m68k/Kconfig.cpu"
  
- source arch/m68k/Kconfig.machine
+ source "arch/m68k/Kconfig.machine"
  
- source arch/m68k/Kconfig.bus
+ source "arch/m68k/Kconfig.bus"
  
  endmenu
  
diff --combined arch/mips/kvm/Kconfig
@@@ -18,7 -18,6 +18,7 @@@ if VIRTUALIZATIO
  config KVM
        tristate "Kernel-based Virtual Machine (KVM) support"
        depends on HAVE_KVM
 +      depends on MIPS_FP_SUPPORT
        select EXPORT_UASM
        select PREEMPT_NOTIFIERS
        select ANON_INODES
@@@ -73,6 -72,6 +73,6 @@@ config KVM_MIPS_DEBUG_COP0_COUNTER
  
          If unsure, say N.
  
- source drivers/vhost/Kconfig
+ source "drivers/vhost/Kconfig"
  
  endif # VIRTUALIZATION
diff --combined arch/openrisc/Kconfig
@@@ -7,6 -7,7 +7,6 @@@
  config OPENRISC
        def_bool y
        select ARCH_HAS_SYNC_DMA_FOR_DEVICE
 -      select DMA_DIRECT_OPS
        select OF
        select OF_EARLY_FLATTREE
        select IRQ_DOMAIN
@@@ -138,7 -139,7 +138,7 @@@ config SM
  
          If you don't know what to do here, say N.
  
- source kernel/Kconfig.hz
+ source "kernel/Kconfig.hz"
  
  config OPENRISC_NO_SPR_SR_DSX
        bool "use SPR_SR_DSX software emulation" if OR1K_1200
diff --combined arch/powerpc/Kconfig
@@@ -128,7 -128,6 +128,7 @@@ config PP
        #
        # Please keep this list sorted alphabetically.
        #
 +      select ARCH_HAS_DEBUG_VIRTUAL
        select ARCH_HAS_DEVMEM_IS_ALLOWED
        select ARCH_HAS_DMA_SET_COHERENT_MASK
        select ARCH_HAS_ELF_RANDOMIZE
        select ARCH_HAS_PTE_SPECIAL
        select ARCH_HAS_MEMBARRIER_CALLBACKS
        select ARCH_HAS_SCALED_CPUTIME          if VIRT_CPU_ACCOUNTING_NATIVE && PPC64
 -      select ARCH_HAS_SG_CHAIN
        select ARCH_HAS_STRICT_KERNEL_RWX       if ((PPC_BOOK3S_64 || PPC32) && !RELOCATABLE && !HIBERNATION)
        select ARCH_HAS_TICK_BROADCAST          if GENERIC_CLOCKEVENTS_BROADCAST
        select ARCH_HAS_UACCESS_FLUSHCACHE      if PPC64
@@@ -374,9 -374,9 +374,9 @@@ config PPC_ADV_DEBUG_DAC_RANG
        depends on PPC_ADV_DEBUG_REGS && 44x
        default y
  
 -config ZONE_DMA32
 +config ZONE_DMA
        bool
 -      default y if PPC64
 +      default y if PPC_BOOK3E_64
  
  config PGTABLE_LEVELS
        int
@@@ -393,7 -393,7 +393,7 @@@ config HIGHME
        bool "High memory support"
        depends on PPC32
  
- source kernel/Kconfig.hz
+ source "kernel/Kconfig.hz"
  
  config HUGETLB_PAGE_SIZE_VARIABLE
        bool
@@@ -556,7 -556,7 +556,7 @@@ config RELOCATABLE_TES
  
  config CRASH_DUMP
        bool "Build a dump capture kernel"
 -      depends on PPC64 || 6xx || FSL_BOOKE || (44x && !SMP)
 +      depends on PPC64 || PPC_BOOK3S_32 || FSL_BOOKE || (44x && !SMP)
        select RELOCATABLE if PPC64 || 44x || FSL_BOOKE
        help
          Build a kernel suitable for use as a dump capture kernel.
@@@ -816,7 -816,7 +816,7 @@@ config ARCH_WANTS_FREEZER_CONTRO
        def_bool y
        depends on ADB_PMU
  
- source kernel/power/Kconfig
+ source "kernel/power/Kconfig"
  
  config SECCOMP
        bool "Enable seccomp to safely compute untrusted bytecode"
@@@ -869,6 -869,10 +869,6 @@@ config IS
          have an IBM RS/6000 or pSeries machine, say Y.  If you have an
          embedded board, consult your board documentation.
  
 -config ZONE_DMA
 -      bool
 -      default y
 -
  config GENERIC_ISA_DMA
        bool
        depends on ISA_DMA_API
@@@ -1092,7 -1096,7 +1092,7 @@@ config PHYSICAL_START_BOO
  
  config PHYSICAL_START
        hex "Physical address where the kernel is loaded" if PHYSICAL_START_BOOL
 -      default "0x02000000" if PPC_STD_MMU && CRASH_DUMP && !NONSTATIC_KERNEL
 +      default "0x02000000" if PPC_BOOK3S && CRASH_DUMP && !NONSTATIC_KERNEL
        default "0x00000000"
  
  config PHYSICAL_ALIGN
@@@ -1142,7 -1146,7 +1142,7 @@@ config PIN_TLB_DAT
  
  config PIN_TLB_IMMR
        bool "Pinned TLB for IMMR"
 -      depends on PIN_TLB
 +      depends on PIN_TLB || PPC_EARLY_DEBUG_CPM
        default y
  
  config PIN_TLB_TEXT
diff --combined arch/riscv/Kconfig
@@@ -19,11 -19,11 +19,11 @@@ config RISC
        select ARCH_WANT_FRAME_POINTERS
        select CLONE_BACKWARDS
        select COMMON_CLK
 -      select DMA_DIRECT_OPS
        select GENERIC_CLOCKEVENTS
        select GENERIC_CPU_DEVICES
        select GENERIC_IRQ_SHOW
        select GENERIC_PCI_IOMAP
 +      select GENERIC_SCHED_CLOCK
        select GENERIC_STRNCPY_FROM_USER
        select GENERIC_STRNLEN_USER
        select GENERIC_SMP_IDLE_THREAD
@@@ -227,48 -227,39 +227,48 @@@ endmen
  
  menu "Boot options"
  
 -config CMDLINE_BOOL
 -      bool "Built-in kernel command line"
 +config CMDLINE
 +      string "Built-in kernel command line"
        help
 -        For most platforms, it is firmware or second stage bootloader
 -        that by default specifies the kernel command line options.
 -        However, it might be necessary or advantageous to either override
 -        the default kernel command line or add a few extra options to it.
 -        For such cases, this option allows hardcoding command line options
 -        directly into the kernel.
 +        For most platforms, the arguments for the kernel's command line
 +        are provided at run-time, during boot. However, there are cases
 +        where either no arguments are being provided or the provided
 +        arguments are insufficient or even invalid.
  
 -        For that, choose 'Y' here and fill in the extra boot parameters
 -        in CONFIG_CMDLINE.
 +        When that occurs, it is possible to define a built-in command
 +        line here and choose how the kernel should use it later on.
  
 -        The built-in options will be concatenated to the default command
 -        line if CMDLINE_FORCE is set to 'N'. Otherwise, the default
 -        command line will be ignored and replaced by the built-in string.
 +choice
 +      prompt "Built-in command line usage" if CMDLINE != ""
 +      default CMDLINE_FALLBACK
 +      help
 +        Choose how the kernel will handle the provided built-in command
 +        line.
  
 -config CMDLINE
 -      string "Built-in kernel command string"
 -      depends on CMDLINE_BOOL
 -      default ""
 +config CMDLINE_FALLBACK
 +      bool "Use bootloader kernel arguments if available"
        help
 -        Supply command-line options at build time by entering them here.
 +        Use the built-in command line as fallback in case we get nothing
 +        during boot. This is the default behaviour.
 +
 +config CMDLINE_EXTEND
 +      bool "Extend bootloader kernel arguments"
 +      help
 +        The command-line arguments provided during boot will be
 +        appended to the built-in command line. This is useful in
 +        cases where the provided arguments are insufficient and
 +        you don't want to or cannot modify them.
 +
  
  config CMDLINE_FORCE
 -      bool "Built-in command line overrides bootloader arguments"
 -      depends on CMDLINE_BOOL
 +      bool "Always use the default kernel command string"
        help
 -        Set this option to 'Y' to have the kernel ignore the bootloader
 -        or firmware command line.  Instead, the built-in command line
 -        will be used exclusively.
 +        Always use the built-in command line, even if we get one during
 +        boot. This is useful in case you need to override the provided
 +        command line on systems where you don't have or want control
 +        over it.
  
 -        If you don't know what to do here, say N.
 +endchoice
  
  endmenu
  
@@@ -296,6 -287,6 +296,6 @@@ endmen
  
  menu "Power management options"
  
- source kernel/power/Kconfig
+ source "kernel/power/Kconfig"
  
  endmenu
diff --combined arch/s390/Kconfig
@@@ -73,6 -73,7 +73,6 @@@ config S39
        select ARCH_HAS_KCOV
        select ARCH_HAS_PTE_SPECIAL
        select ARCH_HAS_SET_MEMORY
 -      select ARCH_HAS_SG_CHAIN
        select ARCH_HAS_STRICT_KERNEL_RWX
        select ARCH_HAS_STRICT_MODULE_RWX
        select ARCH_HAS_UBSAN_SANITIZE_ALL
        select HAVE_COPY_THREAD_TLS
        select HAVE_DEBUG_KMEMLEAK
        select HAVE_DMA_CONTIGUOUS
 -      select DMA_DIRECT_OPS
        select HAVE_DYNAMIC_FTRACE
        select HAVE_DYNAMIC_FTRACE_WITH_REGS
        select HAVE_EFFICIENT_UNALIGNED_ACCESS
@@@ -518,7 -520,7 +518,7 @@@ config SCHED_TOPOLOG
          making when dealing with machines that have multi-threading,
          multiple cores or multiple books.
  
- source kernel/Kconfig.hz
+ source "kernel/Kconfig.hz"
  
  config KEXEC
        def_bool y
diff --combined arch/sh/Kconfig
@@@ -7,6 -7,7 +7,6 @@@ config SUPER
        select ARCH_NO_COHERENT_DMA_MMAP if !MMU
        select HAVE_PATA_PLATFORM
        select CLKDEV_LOOKUP
 -      select DMA_DIRECT_OPS
        select HAVE_IDE if HAS_IOPORT_MAP
        select HAVE_MEMBLOCK_NODE_MAP
        select ARCH_DISCARD_MEMBLOCK
@@@ -596,7 -597,7 +596,7 @@@ endmen
  
  menu "Kernel features"
  
- source kernel/Kconfig.hz
+ source "kernel/Kconfig.hz"
  
  config KEXEC
        bool "kexec system call (EXPERIMENTAL)"
diff --combined arch/sparc/Kconfig
@@@ -40,6 -40,7 +40,6 @@@ config SPAR
        select MODULES_USE_ELF_RELA
        select ODD_RT_SIGACTION
        select OLD_SIGSUSPEND
 -      select ARCH_HAS_SG_CHAIN
        select CPU_NO_EFFICIENT_FFS
        select LOCKDEP_SMALL if LOCKDEP
        select NEED_DMA_MAP_STATE
@@@ -48,6 -49,7 +48,6 @@@
  config SPARC32
        def_bool !64BIT
        select ARCH_HAS_SYNC_DMA_FOR_CPU
 -      select DMA_DIRECT_OPS
        select GENERIC_ATOMIC64
        select CLZ_TAB
        select HAVE_UID16
@@@ -185,7 -187,7 +185,7 @@@ config NR_CPU
        default 32 if SPARC32
        default 4096 if SPARC64
  
- source kernel/Kconfig.hz
+ source "kernel/Kconfig.hz"
  
  config RWSEM_GENERIC_SPINLOCK
        bool
diff --combined arch/x86/Kconfig
@@@ -66,6 -66,7 +66,6 @@@ config X8
        select ARCH_HAS_UACCESS_FLUSHCACHE      if X86_64
        select ARCH_HAS_UACCESS_MCSAFE          if X86_64 && X86_MCE
        select ARCH_HAS_SET_MEMORY
 -      select ARCH_HAS_SG_CHAIN
        select ARCH_HAS_STRICT_KERNEL_RWX
        select ARCH_HAS_STRICT_MODULE_RWX
        select ARCH_HAS_SYNC_CORE_BEFORE_USERMODE
@@@ -89,6 -90,7 +89,6 @@@
        select CLOCKSOURCE_VALIDATE_LAST_CYCLE
        select CLOCKSOURCE_WATCHDOG
        select DCACHE_WORD_ACCESS
 -      select DMA_DIRECT_OPS
        select EDAC_ATOMIC_SCRUB
        select EDAC_SUPPORT
        select GENERIC_CLOCKEVENTS
@@@ -442,23 -444,19 +442,23 @@@ config RETPOLIN
          branches. Requires a compiler with -mindirect-branch=thunk-extern
          support for full protection. The kernel may run slower.
  
 -        Without compiler support, at least indirect branches in assembler
 -        code are eliminated. Since this includes the syscall entry path,
 -        it is not entirely pointless.
 -
 -config INTEL_RDT
 -      bool "Intel Resource Director Technology support"
 -      depends on X86 && CPU_SUP_INTEL
 +config RESCTRL
 +      bool "Resource Control support"
 +      depends on X86 && (CPU_SUP_INTEL || CPU_SUP_AMD)
        select KERNFS
        help
 -        Select to enable resource allocation and monitoring which are
 -        sub-features of Intel Resource Director Technology(RDT). More
 -        information about RDT can be found in the Intel x86
 -        Architecture Software Developer Manual.
 +        Enable Resource Control support.
 +
 +        Provide support for the allocation and monitoring of system resources
 +        usage by the CPU.
 +
 +        Intel calls this Intel Resource Director Technology
 +        (Intel(R) RDT). More information about RDT can be found in the
 +        Intel x86 Architecture Software Developer Manual.
 +
 +        AMD calls this AMD Platform Quality of Service (AMD QoS).
 +        More information about AMD QoS can be found in the AMD64 Technology
 +        Platform Quality of Service Extensions manual.
  
          Say N if unsure.
  
@@@ -802,12 -800,6 +802,12 @@@ config KVM_GUES
          underlying device model, the host provides the guest with
          timing infrastructure such as time of day, and system time
  
 +config PVH
 +      bool "Support for running PVH guests"
 +      ---help---
 +        This option enables the PVH entry point for guest virtual machines
 +        as specified in the x86/HVM direct boot ABI.
 +
  config KVM_DEBUG_FS
        bool "Enable debug information for KVM Guests in debugfs"
        depends on KVM_GUEST && DEBUG_FS
@@@ -1012,7 -1004,13 +1012,7 @@@ config NR_CPU
          to the kernel image.
  
  config SCHED_SMT
 -      bool "SMT (Hyperthreading) scheduler support"
 -      depends on SMP
 -      ---help---
 -        SMT scheduler support improves the CPU scheduler's decision making
 -        when dealing with Intel Pentium 4 chips with HyperThreading at a
 -        cost of slightly increased overhead in some places. If unsure say
 -        N here.
 +      def_bool y if SMP
  
  config SCHED_MC
        def_bool y
@@@ -1977,7 -1975,7 +1977,7 @@@ config SECCOM
  
          If unsure, say Y. Only embedded should say N here.
  
- source kernel/Kconfig.hz
+ source "kernel/Kconfig.hz"
  
  config KEXEC
        bool "kexec system call"
diff --combined block/Kconfig
@@@ -155,6 -155,12 +155,6 @@@ config BLK_CGROUP_IOLATENC
  
        Note, this is an experimental interface and could be changed someday.
  
 -config BLK_WBT_SQ
 -      bool "Single queue writeback throttling"
 -      depends on BLK_WBT
 -      ---help---
 -      Enable writeback throttling by default on legacy single queue devices
 -
  config BLK_WBT_MQ
        bool "Multiqueue writeback throttling"
        default y
@@@ -218,4 -224,4 +218,4 @@@ config BLK_MQ_RDM
  config BLK_PM
        def_bool BLOCK && PM
  
- source block/Kconfig.iosched
+ source "block/Kconfig.iosched"
diff --combined crypto/Kconfig
@@@ -430,14 -430,11 +430,14 @@@ config CRYPTO_CT
        help
          CTS: Cipher Text Stealing
          This is the Cipher Text Stealing mode as described by
 -        Section 8 of rfc2040 and referenced by rfc3962.
 -        (rfc3962 includes errata information in its Appendix A)
 +        Section 8 of rfc2040 and referenced by rfc3962
 +        (rfc3962 includes errata information in its Appendix A) or
 +        CBC-CS3 as defined by NIST in Sp800-38A addendum from Oct 2010.
          This mode is required for Kerberos gss mechanism support
          for AES encryption.
  
 +        See: https://csrc.nist.gov/publications/detail/sp/800-38a/addendum/final
 +
  config CRYPTO_ECB
        tristate "ECB support"
        select CRYPTO_BLKCIPHER
@@@ -496,50 -493,6 +496,50 @@@ config CRYPTO_KEYWRA
          Support for key wrapping (NIST SP800-38F / RFC3394) without
          padding.
  
 +config CRYPTO_NHPOLY1305
 +      tristate
 +      select CRYPTO_HASH
 +      select CRYPTO_POLY1305
 +
 +config CRYPTO_NHPOLY1305_SSE2
 +      tristate "NHPoly1305 hash function (x86_64 SSE2 implementation)"
 +      depends on X86 && 64BIT
 +      select CRYPTO_NHPOLY1305
 +      help
 +        SSE2 optimized implementation of the hash function used by the
 +        Adiantum encryption mode.
 +
 +config CRYPTO_NHPOLY1305_AVX2
 +      tristate "NHPoly1305 hash function (x86_64 AVX2 implementation)"
 +      depends on X86 && 64BIT
 +      select CRYPTO_NHPOLY1305
 +      help
 +        AVX2 optimized implementation of the hash function used by the
 +        Adiantum encryption mode.
 +
 +config CRYPTO_ADIANTUM
 +      tristate "Adiantum support"
 +      select CRYPTO_CHACHA20
 +      select CRYPTO_POLY1305
 +      select CRYPTO_NHPOLY1305
 +      help
 +        Adiantum is a tweakable, length-preserving encryption mode
 +        designed for fast and secure disk encryption, especially on
 +        CPUs without dedicated crypto instructions.  It encrypts
 +        each sector using the XChaCha12 stream cipher, two passes of
 +        an Îµ-almost-∆-universal hash function, and an invocation of
 +        the AES-256 block cipher on a single 16-byte block.  On CPUs
 +        without AES instructions, Adiantum is much faster than
 +        AES-XTS.
 +
 +        Adiantum's security is provably reducible to that of its
 +        underlying stream and block ciphers, subject to a security
 +        bound.  Unlike XTS, Adiantum is a true wide-block encryption
 +        mode, so it actually provides an even stronger notion of
 +        security than XTS, subject to the security bound.
 +
 +        If unsure, say N.
 +
  comment "Hash modes"
  
  config CRYPTO_CMAC
@@@ -983,18 -936,6 +983,18 @@@ config CRYPTO_SM
          http://www.oscca.gov.cn/UpFile/20101222141857786.pdf
          https://datatracker.ietf.org/doc/html/draft-shen-sm3-hash
  
 +config CRYPTO_STREEBOG
 +      tristate "Streebog Hash Function"
 +      select CRYPTO_HASH
 +      help
 +        Streebog Hash Function (GOST R 34.11-2012, RFC 6986) is one of the Russian
 +        cryptographic standard algorithms (called GOST algorithms).
 +        This setting enables two hash algorithms with 256 and 512 bits output.
 +
 +        References:
 +        https://tc26.ru/upload/iblock/fed/feddbb4d26b685903faa2ba11aea43f6.pdf
 +        https://tools.ietf.org/html/rfc6986
 +
  config CRYPTO_TGR192
        tristate "Tiger digest algorithms"
        select CRYPTO_HASH
@@@ -1065,8 -1006,7 +1065,8 @@@ config CRYPTO_AES_T
          8 for decryption), this implementation only uses just two S-boxes of
          256 bytes each, and attempts to eliminate data dependent latencies by
          prefetching the entire table into the cache at the start of each
 -        block.
 +        block. Interrupts are also disabled to avoid races where cachelines
 +        are evicted when the CPU is interrupted to do something else.
  
  config CRYPTO_AES_586
        tristate "AES cipher algorithms (i586)"
@@@ -1447,34 -1387,32 +1447,34 @@@ config CRYPTO_SALSA2
          Bernstein <djb@cr.yp.to>. See <http://cr.yp.to/snuffle.html>
  
  config CRYPTO_CHACHA20
 -      tristate "ChaCha20 cipher algorithm"
 +      tristate "ChaCha stream cipher algorithms"
        select CRYPTO_BLKCIPHER
        help
 -        ChaCha20 cipher algorithm, RFC7539.
 +        The ChaCha20, XChaCha20, and XChaCha12 stream cipher algorithms.
  
          ChaCha20 is a 256-bit high-speed stream cipher designed by Daniel J.
          Bernstein and further specified in RFC7539 for use in IETF protocols.
 -        This is the portable C implementation of ChaCha20.
 -
 -        See also:
 +        This is the portable C implementation of ChaCha20.  See also:
          <http://cr.yp.to/chacha/chacha-20080128.pdf>
  
 +        XChaCha20 is the application of the XSalsa20 construction to ChaCha20
 +        rather than to Salsa20.  XChaCha20 extends ChaCha20's nonce length
 +        from 64 bits (or 96 bits using the RFC7539 convention) to 192 bits,
 +        while provably retaining ChaCha20's security.  See also:
 +        <https://cr.yp.to/snuffle/xsalsa-20081128.pdf>
 +
 +        XChaCha12 is XChaCha20 reduced to 12 rounds, with correspondingly
 +        reduced security margin but increased performance.  It can be needed
 +        in some performance-sensitive scenarios.
 +
  config CRYPTO_CHACHA20_X86_64
 -      tristate "ChaCha20 cipher algorithm (x86_64/SSSE3/AVX2)"
 +      tristate "ChaCha stream cipher algorithms (x86_64/SSSE3/AVX2/AVX-512VL)"
        depends on X86 && 64BIT
        select CRYPTO_BLKCIPHER
        select CRYPTO_CHACHA20
        help
 -        ChaCha20 cipher algorithm, RFC7539.
 -
 -        ChaCha20 is a 256-bit high-speed stream cipher designed by Daniel J.
 -        Bernstein and further specified in RFC7539 for use in IETF protocols.
 -        This is the x86_64 assembler implementation using SIMD instructions.
 -
 -        See also:
 -        <http://cr.yp.to/chacha/chacha-20080128.pdf>
 +        SSSE3, AVX2, and AVX-512VL optimized implementations of the ChaCha20,
 +        XChaCha20, and XChaCha12 stream ciphers.
  
  config CRYPTO_SEED
        tristate "SEED cipher algorithm"
@@@ -1875,7 -1813,6 +1875,7 @@@ config CRYPTO_USER_API_AEA
  
  config CRYPTO_STATS
        bool "Crypto usage statistics for User-space"
 +      depends on CRYPTO_USER
        help
          This option enables the gathering of crypto stats.
          This will collect:
@@@ -1889,7 -1826,7 +1889,7 @@@ config CRYPTO_HASH_INF
        bool
  
  source "drivers/crypto/Kconfig"
- source crypto/asymmetric_keys/Kconfig
- source certs/Kconfig
+ source "crypto/asymmetric_keys/Kconfig"
+ source "certs/Kconfig"
  
  endif # if CRYPTO
diff --combined drivers/crypto/Kconfig
@@@ -258,7 -258,7 +258,7 @@@ config CRYPTO_DEV_HIFN_795X_RN
          Select this option if you want to enable the random number generator
          on the HIFN 795x crypto adapters.
  
- source drivers/crypto/caam/Kconfig
+ source "drivers/crypto/caam/Kconfig"
  
  config CRYPTO_DEV_TALITOS
        tristate "Talitos Freescale Security Engine (SEC)"
@@@ -762,12 -762,10 +762,12 @@@ config CRYPTO_DEV_CCRE
        select CRYPTO_ECB
        select CRYPTO_CTR
        select CRYPTO_XTS
 +      select CRYPTO_SM4
 +      select CRYPTO_SM3
        help
          Say 'Y' to enable a driver for the REE interface of the Arm
          TrustZone CryptoCell family of processors. Currently the
 -        CryptoCell 712, 710 and 630 are supported.
 +        CryptoCell 713, 703, 712, 710 and 630 are supported.
          Choose this if you wish to use hardware acceleration of
          cryptographic operations on the system REE.
          If unsure say Y.
diff --combined drivers/hwmon/Kconfig
@@@ -11,7 -11,7 +11,7 @@@ menuconfig HWMO
          of a system. Most modern motherboards include such a device. It
          can include temperature sensors, voltage sensors, fan speed
          sensors and various additional features such as the ability to
 -        control the speed of the fans.  If you want this support you
 +        control the speed of the fans. If you want this support you
          should say Y here and also to the specific driver(s) for your
          sensors chip(s) below.
  
@@@ -19,7 -19,7 +19,7 @@@
          sensors-detect script from the lm_sensors package.  Read
          <file:Documentation/hwmon/userspace-tools> for details.
  
 -        This support can also be built as a module.  If so, the module
 +        This support can also be built as a module. If so, the module
          will be called hwmon.
  
  if HWMON
@@@ -46,7 -46,7 +46,7 @@@ config SENSORS_AB850
          AB8500 die and two GPADC channels. The GPADC channel are preferably
          used to access sensors outside the AB8500 chip.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called abx500-temp.
  
  config SENSORS_ABITUGURU
@@@ -61,7 -61,7 +61,7 @@@
          of which motherboards have which revision see
          Documentation/hwmon/abituguru
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called abituguru.
  
  config SENSORS_ABITUGURU3
@@@ -75,7 -75,7 +75,7 @@@
          2005). For more info and a list of which motherboards have which
          revision see Documentation/hwmon/abituguru3
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called abituguru3.
  
  config SENSORS_AD7314
@@@ -116,7 -116,7 +116,7 @@@ config SENSORS_ADM102
          and ADM1023 sensor chips and clones: Maxim MAX1617 and MAX1617A,
          Genesys Logic GL523SM, National Semiconductor LM84 and TI THMC10.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called adm1021.
  
  config SENSORS_ADM1025
          If you say yes here you get support for Analog Devices ADM1025
          and Philips NE1619 sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called adm1025.
  
  config SENSORS_ADM1026
          If you say yes here you get support for Analog Devices ADM1026
          sensor chip.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called adm1026.
  
  config SENSORS_ADM1029
          sensor chip.
          Very rare chip, please let us know you use it.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called adm1029.
  
  config SENSORS_ADM1031
          If you say yes here you get support for Analog Devices ADM1031
          and ADM1030 sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called adm1031.
  
  config SENSORS_ADM9240
          If you say yes here you get support for Analog Devices ADM9240,
          Dallas DS1780, National Semiconductor LM81 sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called adm9240.
  
  config SENSORS_ADT7X10
          This module contains common code shared by the ADT7310/ADT7320 and
          ADT7410/ADT7420 temperature monitoring chip drivers.
  
 -        If build as a module, the module will be called adt7x10.
 +        If built as a module, the module will be called adt7x10.
  
  config SENSORS_ADT7310
        tristate "Analog Devices ADT7310/ADT7320"
@@@ -242,7 -242,7 +242,7 @@@ config SENSORS_ADT747
          ADT7473, ADT7475, ADT7476 and ADT7490 hardware monitoring
          chips.
  
 -        This driver can also be build as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called adt7475.
  
  config SENSORS_ASC7621
          aSC7621
          aSC7621a
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called asc7621.
  
  config SENSORS_K8TEMP
          microarchitecture. Please note that you will need at least
          lm-sensors 2.10.1 for proper userspace support.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called k8temp.
  
  config SENSORS_K10TEMP
          12h (Llano), 14h (Brazos), 15h (Bulldozer/Trinity/Kaveri/Carrizo)
          and 16h (Kabini/Mullins) microarchitectures.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called k10temp.
  
  config SENSORS_FAM15H_POWER
          If you say yes here you get support for processor power
          information of your AMD family 15h CPU.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called fam15h_power.
  
  config SENSORS_APPLESMC
@@@ -326,7 -326,7 +326,7 @@@ config SENSORS_ARM_SCM
          and power sensors available on SCMI based platforms. The actual
          number and type of sensors exported depend on the platform.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called scmi-hwmon.
  
  config SENSORS_ARM_SCPI
@@@ -346,7 -346,7 +346,7 @@@ config SENSORS_ASB10
          If you say yes here you get support for the ASB100 Bach sensor
          chip found on some Asus mainboards.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called asb100.
  
  config SENSORS_ASPEED
@@@ -371,7 -371,7 +371,7 @@@ config SENSORS_ATXP
          If your board have such a chip, you are able to control your CPU
          core and other voltages.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called atxp1.
  
  config SENSORS_DS620
          If you say yes here you get support for Dallas Semiconductor
          DS620 sensor chip.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called ds620.
  
  config SENSORS_DS1621
          - Maxim Integrated DS1721
          - Maxim Integrated DS1731
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called ds1621.
  
  config SENSORS_DELL_SMM
@@@ -427,7 -427,7 +427,7 @@@ config SENSORS_DA905
          If you say yes here you get support for ADC on the Dialog
          Semiconductor DA9055 PMIC.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called da9055-hwmon.
  
  config SENSORS_I5K_AMB
@@@ -448,7 -448,7 +448,7 @@@ config SENSORS_F71805
          features of the Fintek F71805F/FG, F71806F/FG and F71872F/FG
          Super-I/O chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called f71805f.
  
  config SENSORS_F71882FG
            F81801U
            F81865F
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called f71882fg.
  
  config SENSORS_F75375S
          If you say yes here you get support for hardware monitoring
          features of the Fintek F75375S/SP, F75373 and F75387
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called f75375s.
  
  config SENSORS_MC13783_ADC
@@@ -502,7 -502,7 +502,7 @@@ config SENSORS_FSCHM
          fscscy and fscher drivers and adding support for several other FSC
          sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called fschmd.
  
  config SENSORS_FTSTEUTATES
@@@ -524,7 -524,7 +524,7 @@@ config SENSORS_GL518S
          If you say yes here you get support for Genesys Logic GL518SM
          sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called gl518sm.
  
  config SENSORS_GL520SM
          If you say yes here you get support for Genesys Logic GL520SM
          sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called gl520sm.
  
  config SENSORS_G760A
          If you say yes here you get support for Global Mixed-mode
          Technology Inc G760A fan speed PWM controller chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called g760a.
  
  config SENSORS_G762
          If you say yes here you get support for Global Mixed-mode
          Technology Inc G762 and G763 fan speed PWM controller chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called g762.
  
  config SENSORS_GPIO_FAN
        help
          If you say yes here you get support for fans connected to GPIO lines.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called gpio-fan.
  
  config SENSORS_HIH6130
          If you say yes here you get support for Honeywell Humidicon
          HIH-6130 and HIH-6131 Humidicon humidity sensors.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called hih6130.
  
  config SENSORS_IBMAEM
          the x3350, x3550, x3650, x3655, x3755, x3850 M2, x3950 M2,
          and certain HC10/HS2x/LS2x/QS2x blades.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called ibmaem.
  
  config SENSORS_IBMPEX
          x3655, and x3755; the x3800, x3850, and x3950 models that have
          PCI Express; and some of the HS2x, LS2x, and QS2x blades.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called ibmpex.
  
  config SENSORS_IBMPOWERNV
@@@ -656,7 -656,7 +656,7 @@@ config SENSORS_IT8
          IT8603E, IT8620E, IT8623E, and IT8628E sensor chips, and the SiS950
          clone.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called it87.
  
  config SENSORS_JZ4740
          If you say yes here you get support for reading adc values from the ADCIN
          pin on Ingenic JZ4740 SoC based boards.
  
 -        This driver can also be build as a module. If so, the module will be
 +        This driver can also be built as a module. If so, the module will be
          called jz4740-hwmon.
  
  config SENSORS_JC42
          MCP9808, MCP98242, MCP98243, MCP98244, MCP9843, SE97, SE98,
          STTS424(E), STTS2002, STTS3000, TSE2002, TSE2004, TS3000, and TS3001.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called jc42.
  
  config SENSORS_POWR1220
          functions of the Lattice POWR1220 isp Power Supply Monitoring,
          Sequencing and Margining Controller.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called powr1220.
  
  config SENSORS_LINEAGE
          series of DC/DC and AC/DC converters such as CP1800, CP2000AC,
          CP2000DC, CP2725, and others.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lineage-pem.
  
  config SENSORS_LTC2945
@@@ -803,7 -803,7 +803,7 @@@ config SENSORS_MAX111
          Say y here to support Maxim's MAX1110, MAX1111, MAX1112, and MAX1113
          ADC chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called max1111.
  
  config SENSORS_MAX16065
            MAX16070
            MAX16071
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called max16065.
  
  config SENSORS_MAX1619
        help
          If you say yes here you get support for MAX1619 sensor chip.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called max1619.
  
  config SENSORS_MAX1668
          If you say yes here you get support for MAX1668, MAX1989 and
          MAX1805 chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called max1668.
  
  config SENSORS_MAX197
@@@ -881,7 -881,7 +881,7 @@@ config SENSORS_MAX663
          If you say yes here you get support for the MAX6639
          sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called max6639.
  
  config SENSORS_MAX6642
          MAX6642 is a SMBus-Compatible Remote/Local Temperature Sensor
          with Overtemperature Alarm from Maxim.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called max6642.
  
  config SENSORS_MAX6650
          If you say yes here you get support for the MAX6650 / MAX6651
          sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called max6650.
  
  config SENSORS_MAX6697
          MAX6636, MAX6689, MAX6693, MAX6694, MAX6697, MAX6698, and MAX6699
          temperature sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called max6697.
  
  config SENSORS_MAX31790
          If you say yes here you get support for 6-Channel PWM-Output
          Fan RPM Controller.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called max31790.
  
  config SENSORS_MCP3021
          The MCP3021 is a A/D converter (ADC) with 10-bit and the MCP3221
          with 12-bit resolution.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called mcp3021.
  
  config SENSORS_MLXREG_FAN
@@@ -957,7 -957,7 +957,7 @@@ config SENSORS_TC65
          The TC654 and TC655 are PWM mode fan speed controllers with
          FanSense technology for use with brushless DC fans.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called tc654.
  
  config SENSORS_MENF21BMC_HWMON
@@@ -983,7 -983,7 +983,7 @@@ config SENSORS_ADCX
  
          Examples : ADC081S101, ADC124S501, ...
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called adcxx.
  
  config SENSORS_LM63
          on the Tyan S4882 (Thunder K8QS Pro) motherboard, among
          others.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lm63.
  
  config SENSORS_LM70
          LM70, LM71, LM74 and Texas Instruments TMP121/TMP123 digital tempera-
          ture sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lm70.
  
  config SENSORS_LM73
        help
          If you say yes here you get support for National Semiconductor LM73
          sensor chips.
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lm73.
  
  config SENSORS_LM75
                - National Semiconductor LM75, LM75A
                - NXP's LM75A
                - ST Microelectronics STDS75
 +              - ST Microelectronics STLM75
                - TelCom (now Microchip) TCN75
                - Texas Instruments TMP100, TMP101, TMP105, TMP112, TMP75,
                  TMP175, TMP275
          that with some chips which don't replicate LM75 quirks exactly,
          you may need the "force" module parameter.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lm75.
  
  config SENSORS_LM77
          If you say yes here you get support for National Semiconductor LM77
          sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lm77.
  
  config SENSORS_LM78
          If you say yes here you get support for National Semiconductor LM78,
          LM78-J and LM79.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lm78.
  
  config SENSORS_LM80
          If you say yes here you get support for National Semiconductor
          LM80 and LM96080 sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lm80.
  
  config SENSORS_LM83
          If you say yes here you get support for National Semiconductor
          LM82 and LM83 sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lm83.
  
  config SENSORS_LM85
          sensor chips and clones: ADM1027, ADT7463, ADT7468, EMC6D100,
          EMC6D101, EMC6D102, and EMC6D103.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lm85.
  
  config SENSORS_LM87
          If you say yes here you get support for National Semiconductor LM87
          and Analog Devices ADM1024 sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lm87.
  
  config SENSORS_LM90
          Winbond/Nuvoton W83L771W/G/AWG/ASG, Philips SA56004, GMT G781, and
          Texas Instruments TMP451 sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lm90.
  
  config SENSORS_LM92
          If you say yes here you get support for National Semiconductor LM92
          and Maxim MAX6635 sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lm92.
  
  config SENSORS_LM93
          If you say yes here you get support for National Semiconductor LM93,
          LM94, and compatible sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lm93.
  
  config SENSORS_LM95234
          If you say yes here you get support for the LM95233 and LM95234
          temperature sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lm95234.
  
  config SENSORS_LM95241
          If you say yes here you get support for LM95231 and LM95241 sensor
          chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lm95241.
  
  config SENSORS_LM95245
          If you say yes here you get support for LM95235 and LM95245
          temperature sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called lm95245.
  
  config SENSORS_PC87360
          control.  The PC87365 and PC87366 additionally have voltage and
          temperature monitoring.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called pc87360.
  
  config SENSORS_PC87427
          monitoring. Fan speed monitoring and control are supported, as
          well as temperature monitoring. Voltages aren't supported yet.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called pc87427.
  
  config SENSORS_NTC_THERMISTOR
  
          Currently, this driver supports
          NCP15WB473, NCP18WB473, NCP21WB473, NCP03WB473, NCP15WL333,
 -        NCP03WF104 and NCP15XH103 from Murata and B57330V2103 from EPCOS.
 +        NCP03WF104 and NCP15XH103 from Murata and B57330V2103 and
 +        B57891S0103 from EPCOS.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called ntc-thermistor.
  
  config SENSORS_NCT6683
          If you say yes here you get support for the hardware monitoring
          functionality of the Nuvoton NCT6683D eSIO chip.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called nct6683.
  
  config SENSORS_NCT6775
          Super-I/O chips. This driver replaces the w83627ehf driver for
          NCT6775F and NCT6776F.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called nct6775.
  
  config SENSORS_NCT7802
          If you say yes here you get support for the Nuvoton NCT7802Y
          hardware monitoring chip.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called nct7802.
  
  config SENSORS_NCT7904
          If you say yes here you get support for the Nuvoton NCT7904
          hardware monitoring chip, including manual fan speed control.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called nct7904.
  
  config SENSORS_NPCM7XX
@@@ -1295,8 -1293,6 +1295,8 @@@ config SENSORS_NSA32
          This driver can also be built as a module. If so, the module
          will be called nsa320-hwmon.
  
 +source "drivers/hwmon/occ/Kconfig"
 +
  config SENSORS_PCF8591
        tristate "Philips PCF8591 ADC/DAC"
        depends on I2C
          If you say yes here you get support for Philips PCF8591 4-channel
          ADC, 1-channel DAC chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called pcf8591.
  
          These devices are hard to detect and rarely found on mainstream
 -        hardware.  If unsure, say N.
 +        hardware. If unsure, say N.
  
- source drivers/hwmon/pmbus/Kconfig
+ source "drivers/hwmon/pmbus/Kconfig"
  
  config SENSORS_PWM_FAN
        tristate "PWM fan"
          The driver uses the generic PWM interface, thus it will work on a
          variety of SoCs.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called pwm-fan.
  
  config SENSORS_RASPBERRYPI_HWMON
@@@ -1342,7 -1338,7 +1342,7 @@@ config SENSORS_SHT1
          If you say yes here you get support for the Sensiron SHT10, SHT11,
          SHT15, SHT71, SHT75 humidity and temperature sensors.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called sht15.
  
  config SENSORS_SHT21
          If you say yes here you get support for the Sensiron SHT21, SHT25
          humidity and temperature sensors.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called sht21.
  
  config SENSORS_SHT3x
          If you say yes here you get support for the Sensiron SHT30 and SHT31
          humidity and temperature sensors.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called sht3x.
  
  config SENSORS_SHTC1
          If you say yes here you get support for the Sensiron SHTC1 and SHTW1
          humidity and temperature sensors.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called shtc1.
  
  config SENSORS_S3C
@@@ -1400,7 -1396,7 +1400,7 @@@ config SENSORS_SIS559
          If you say yes here you get support for the integrated sensors in
          SiS5595 South Bridges.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called sis5595.
  
  config SENSORS_DME1737
          and fan control features of the SMSC DME1737, SCH311x, SCH5027, and
          Asus A8000 Super-I/O chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called dme1737.
  
  config SENSORS_EMC1403
@@@ -1433,7 -1429,7 +1433,7 @@@ config SENSORS_EMC210
          If you say yes here you get support for the temperature
          and fan sensors of the SMSC EMC2103 chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called emc2103.
  
  config SENSORS_EMC6W201
          If you say yes here you get support for the SMSC EMC6W201
          hardware monitoring chip.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called emc6w201.
  
  config SENSORS_SMSC47M1
          driver, select also "SMSC LPC47M192 and compatibles" below for
          those.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called smsc47m1.
  
  config SENSORS_SMSC47M192
          "SMSC LPC47M10x and compatibles" above. You need both drivers
          if you want fan control and voltage/temperature sensor support.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called smsc47m192.
  
  config SENSORS_SMSC47B397
          If you say yes here you get support for the SMSC LPC47B397-NC
          sensor chip.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called smsc47b397.
  
  config SENSORS_SCH56XX_COMMON
@@@ -1503,7 -1499,7 +1503,7 @@@ config SENSORS_SCH562
          features of the SMSC SCH5627 Super-I/O chip including support for
          the integrated watchdog.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called sch5627.
  
  config SENSORS_SCH5636
          Theseus' hardware monitoring features including support for the
          integrated watchdog.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called sch5636.
  
  config SENSORS_STTS751
          If you say yes here you get support for STTS751
          temperature sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called stts751.
  
  config SENSORS_SMM665
@@@ -1565,7 -1561,7 +1565,7 @@@ config SENSORS_ADS101
          If you say yes here you get support for Texas Instruments
          ADS1015/ADS1115 12/16-bit 4-input ADC device.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called ads1015.
  
  config SENSORS_ADS7828
          ADS7830 8-channel A/D converters. ADS7828 resolution is 12-bit, while
          it is 8-bit on ADS7830.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called ads7828.
  
  config SENSORS_ADS7871
        help
          If you say yes here you get support for TI ADS7871 & ADS7870
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called ads7871.
  
  config SENSORS_AMC6821
          If you say yes here you get support for the Texas Instruments
          AMC6821 hardware monitoring chips.
  
 -        This driver can also be build as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called amc6821.
  
  config SENSORS_INA209
@@@ -1620,7 -1616,7 +1620,7 @@@ config SENSORS_INA2X
          The INA2xx driver is configured for the default configuration of
          the part as described in the datasheet.
          Default value for Rshunt is 10 mOhms.
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called ina2xx.
  
  config SENSORS_INA3221
          If you say yes here you get support for  the TI INA3221 Triple Power
          Monitor.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called ina3221.
  
  config SENSORS_TC74
          If you say yes here you get support for Microchip TC74 single
          input temperature sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called tc74.
  
  config SENSORS_THMC50
          If you say yes here you get support for Texas Instruments THMC50
          sensor chips and clones: the Analog Devices ADM1022.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called thmc50.
  
  config SENSORS_TMP102
          If you say yes here you get support for Texas Instruments TMP102
          sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called tmp102.
  
  config SENSORS_TMP103
          If you say yes here you get support for Texas Instruments TMP103
          sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called tmp103.
  
  config SENSORS_TMP108
          If you say yes here you get support for Texas Instruments TMP108
          sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called tmp108.
  
  config SENSORS_TMP401
          If you say yes here you get support for Texas Instruments TMP401,
          TMP411, TMP431, TMP432, TMP435, and TMP461 temperature sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called tmp401.
  
  config SENSORS_TMP421
          If you say yes here you get support for Texas Instruments TMP421,
          TMP422, TMP423, TMP441, and TMP442 temperature sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called tmp421.
  
  config SENSORS_VEXPRESS
@@@ -1731,7 -1727,7 +1731,7 @@@ config SENSORS_VIA686
          If you say yes here you get support for the integrated sensors in
          Via 686A/B South Bridges.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called via686a.
  
  config SENSORS_VT1211
          If you say yes here then you get support for hardware monitoring
          features of the VIA VT1211 Super-I/O chip.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called vt1211.
  
  config SENSORS_VT8231
          If you say yes here then you get support for the integrated sensors
          in the VIA VT8231 device.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called vt8231.
  
  config SENSORS_W83773G
          If you say yes here you get support for the Nuvoton W83773G hardware
          monitoring chip.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called w83773g.
  
  config SENSORS_W83781D
          of sensor chips: the W83781D, W83782D and W83783S, and the similar
          Asus AS99127F.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called w83781d.
  
  config SENSORS_W83791D
        help
          If you say yes here you get support for the Winbond W83791D chip.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called w83791d.
  
  config SENSORS_W83792D
        help
          If you say yes here you get support for the Winbond W83792D chip.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called w83792d.
  
  config SENSORS_W83793
          hardware monitoring chip, including support for the integrated
          watchdog.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called w83793.
  
  config SENSORS_W83795
          W83795ADG hardware monitoring chip, including manual fan speed
          control.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called w83795.
  
  config SENSORS_W83795_FANCTRL
@@@ -1844,7 -1840,7 +1844,7 @@@ config SENSORS_W83L785T
          sensor chip, which is used on the Asus A7N8X, among other
          motherboards.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called w83l785ts.
  
  config SENSORS_W83L786NG
          If you say yes here you get support for the Winbond W83L786NG
          and W83L786NR sensor chips.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called w83l786ng.
  
  config SENSORS_W83627HF
          of sensor chips: the W83627HF, W83627THF, W83637HF, W83687THF and
          W83697HF.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called w83627hf.
  
  config SENSORS_W83627EHF
          This driver also supports Nuvoton W83667HG, W83667HG-B, NCT6775F
          (also known as W83667HG-I), and NCT6776F.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called w83627ehf.
  
  config SENSORS_WM831X
          monitoring functionality of the Wolfson Microelectronics
          WM831x series of PMICs.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called wm831x-hwmon.
  
  config SENSORS_WM8350
          If you say yes here you get support for the hardware
          monitoring features of the WM835x series of PMICs.
  
 -        This driver can also be built as a module.  If so, the module
 +        This driver can also be built as a module. If so, the module
          will be called wm8350-hwmon.
  
  config SENSORS_ULTRA45
diff --combined lib/Kconfig.debug
@@@ -439,7 -439,7 +439,7 @@@ config DEBUG_KERNE
  
  menu "Memory Debugging"
  
- source mm/Kconfig.debug
+ source "mm/Kconfig.debug"
  
  config DEBUG_OBJECTS
        bool "Debug object operations"
@@@ -593,21 -593,6 +593,21 @@@ config DEBUG_KMEMLEAK_DEFAULT_OF
          Say Y here to disable kmemleak by default. It can then be enabled
          on the command line via kmemleak=on.
  
 +config DEBUG_KMEMLEAK_AUTO_SCAN
 +      bool "Enable kmemleak auto scan thread on boot up"
 +      default y
 +      depends on DEBUG_KMEMLEAK
 +      help
 +        Depending on the cpu, kmemleak scan may be cpu intensive and can
 +        stall user tasks at times. This option enables/disables automatic
 +        kmemleak scan at boot up.
 +
 +        Say N here to disable kmemleak auto scan thread to stop automatic
 +        scanning. Disabling this option disables automatic reporting of
 +        memory leaks.
 +
 +        If unsure, say Y.
 +
  config DEBUG_STACK_USAGE
        bool "Stack utilization instrumentation"
        depends on DEBUG_KERNEL && !IA64
@@@ -1624,7 -1609,7 +1624,7 @@@ config LATENCYTO
          Enable this option if you want to use the LatencyTOP tool
          to find out which userspace is blocking on what kernel operations.
  
- source kernel/trace/Kconfig
+ source "kernel/trace/Kconfig"
  
  config PROVIDE_OHCI1394_DMA_INIT
        bool "Remote debugging over FireWire early on boot"
@@@ -1991,16 -1976,6 +1991,16 @@@ config TEST_MEMCAT_
  
          If unsure, say N.
  
 +config TEST_OBJAGG
 +      tristate "Perform selftest on object aggreration manager"
 +      default n
 +      depends on OBJAGG
 +      help
 +        Enable this option to test object aggregation manager on boot
 +        (or module load).
 +
 +        If unsure, say N.
 +
  endif # RUNTIME_TESTING_MENU
  
  config MEMTEST