]> Git Repo - linux.git/commitdiff
Merge tag 'kconfig-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy...
authorLinus Torvalds <[email protected]>
Wed, 6 Jun 2018 18:31:45 +0000 (11:31 -0700)
committerLinus Torvalds <[email protected]>
Wed, 6 Jun 2018 18:31:45 +0000 (11:31 -0700)
Pull Kconfig updates from Masahiro Yamada:
 "Kconfig now supports new functionality to perform textual
  substitution. It has been a while since Linus suggested to move
  compiler option tests from makefiles to Kconfig. Finally, here it is.

  The implementation has been generalized into a Make-like macro
  language.

  Some built-in functions such as 'shell' are provided. Variables and
  user-defined functions are also supported so that 'cc-option',
  'ld-option', etc. are implemented as macros.

  Summary:

   - refactor package checks for building {m,n,q,g}conf

   - remove unused/unmaintained localization support

   - remove Kbuild cache

   - drop CONFIG_CROSS_COMPILE support

   - replace 'option env=' with direct variable expansion

   - add built-in functions such as 'shell'

   - support variables and user-defined functions

   - add helper macros as as 'cc-option'

   - add unit tests and a document of the new macro language

   - add 'testconfig' to help

   - fix warnings from GCC 8.1"

* tag 'kconfig-v4.18' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild: (30 commits)
  kconfig: Avoid format overflow warning from GCC 8.1
  kbuild: Move last word of nconfig help to the previous line
  kconfig: Add testconfig into make help output
  kconfig: add basic helper macros to scripts/Kconfig.include
  kconfig: show compiler version text in the top comment
  kconfig: test: add Kconfig macro language tests
  Documentation: kconfig: document a new Kconfig macro language
  kconfig: error out if a recursive variable references itself
  kconfig: add 'filename' and 'lineno' built-in variables
  kconfig: add 'info', 'warning-if', and 'error-if' built-in functions
  kconfig: expand lefthand side of assignment statement
  kconfig: support append assignment operator
  kconfig: support simply expanded variable
  kconfig: support user-defined function and recursively expanded variable
  kconfig: begin PARAM state only when seeing a command keyword
  kconfig: replace $(UNAME_RELEASE) with function call
  kconfig: add 'shell' built-in function
  kconfig: add built-in function support
  kconfig: make default prompt of mainmenu less specific
  kconfig: remove sym_expand_string_value()
  ...

1  2 
MAINTAINERS
Makefile
arch/sh/Kconfig
arch/sparc/Kconfig
arch/x86/Kconfig
init/Kconfig

diff --combined MAINTAINERS
index cfae882e63df0afba8dde963d9cf545b9207d388,79decb12cfbf3085e594944b15180a4352334426..66cd131c517d96d81f791d8841a49d03211a681a
@@@ -767,14 -767,12 +767,14 @@@ F:      drivers/gpu/drm/amd/amdgpu/amdgpu_am
  F:    drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd.h
  F:    drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v7.c
  F:    drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v8.c
 +F:    drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gfx_v9.c
  F:    drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_fence.c
  F:    drivers/gpu/drm/amd/amdgpu/amdgpu_amdkfd_gpuvm.c
  F:    drivers/gpu/drm/amd/amdkfd/
  F:    drivers/gpu/drm/amd/include/cik_structs.h
  F:    drivers/gpu/drm/amd/include/kgd_kfd_interface.h
  F:    drivers/gpu/drm/amd/include/vi_structs.h
 +F:    drivers/gpu/drm/amd/include/v9_structs.h
  F:    include/uapi/linux/kfd_ioctl.h
  
  AMD SEATTLE DEVICE TREE SUPPORT
@@@ -2333,14 -2331,6 +2333,14 @@@ S:    Maintaine
  F:    drivers/gpio/gpio-ath79.c
  F:    Documentation/devicetree/bindings/gpio/gpio-ath79.txt
  
 +ATHEROS 71XX/9XXX USB PHY DRIVER
 +M:    Alban Bedel <[email protected]>
 +W:    https://github.com/AlbanBedel/linux
 +T:    git git://github.com/AlbanBedel/linux
 +S:    Maintained
 +F:    drivers/phy/qualcomm/phy-ath79-usb.c
 +F:    Documentation/devicetree/bindings/phy/phy-ath79-usb.txt
 +
  ATHEROS ATH GENERIC UTILITIES
  M:    Kalle Valo <[email protected]>
  L:    [email protected]
@@@ -3441,12 -3431,6 +3441,12 @@@ S:    Maintaine
  F:    Documentation/devicetree/bindings/input/touchscreen/chipone_icn8318.txt
  F:    drivers/input/touchscreen/chipone_icn8318.c
  
 +CHIPONE ICN8505 I2C TOUCHSCREEN DRIVER
 +M:    Hans de Goede <[email protected]>
 +L:    [email protected]
 +S:    Maintained
 +F:    drivers/input/touchscreen/chipone_icn8505.c
 +
  CHROME HARDWARE PLATFORM SUPPORT
  M:    Benson Leung <[email protected]>
  M:    Olof Johansson <[email protected]>
@@@ -4346,14 -4330,12 +4346,14 @@@ W:   http://git.infradead.org/users/hch/d
  S:    Supported
  F:    lib/dma-debug.c
  F:    lib/dma-direct.c
 +F:    lib/dma-noncoherent.c
  F:    lib/dma-virt.c
  F:    drivers/base/dma-mapping.c
  F:    drivers/base/dma-coherent.c
  F:    include/asm-generic/dma-mapping.h
  F:    include/linux/dma-direct.h
  F:    include/linux/dma-mapping.h
 +F:    include/linux/dma-noncoherent.h
  
  DME1737 HARDWARE MONITOR DRIVER
  M:    Juerg Haefliger <[email protected]>
@@@ -4687,7 -4669,7 +4687,7 @@@ F:      Documentation/devicetree/bindings/di
  
  DRM DRIVERS FOR FREESCALE DCU
  M:    Stefan Agner <[email protected]>
 -M:    Alison Wang <alison.wang@freescale.com>
 +M:    Alison Wang <alison.wang@nxp.com>
  L:    [email protected]
  S:    Supported
  F:    drivers/gpu/drm/fsl-dcu/
@@@ -4798,14 -4780,6 +4798,14 @@@ S:    Maintaine
  F:    drivers/gpu/drm/omapdrm/
  F:    Documentation/devicetree/bindings/display/ti/
  
 +DRM DRIVERS FOR V3D
 +M:    Eric Anholt <[email protected]>
 +S:    Supported
 +F:    drivers/gpu/drm/v3d/
 +F:    include/uapi/drm/v3d_drm.h
 +F:    Documentation/devicetree/bindings/display/brcm,bcm-v3d.txt
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +
  DRM DRIVERS FOR VC4
  M:    Eric Anholt <[email protected]>
  T:    git git://github.com/anholt/linux
@@@ -4852,15 -4826,6 +4852,15 @@@ S:    Maintaine
  F:    drivers/gpu/drm/tinydrm/
  F:    include/drm/tinydrm/
  
 +DRM DRIVERS FOR XEN
 +M:    Oleksandr Andrushchenko <[email protected]>
 +T:    git git://anongit.freedesktop.org/drm/drm-misc
 +L:    [email protected]
 +L:    [email protected]
 +S:    Supported
 +F:    drivers/gpu/drm/xen/
 +F:    Documentation/gpu/xen-front.rst
 +
  DRM TTM SUBSYSTEM
  M:    Christian Koenig <[email protected]>
  M:    Roger He <[email protected]>
@@@ -5448,11 -5413,6 +5448,11 @@@ S:    Maintaine
  F:    Documentation/hwmon/f71805f
  F:    drivers/hwmon/f71805f.c
  
 +FADDR2LINE
 +M:    Josh Poimboeuf <[email protected]>
 +S:    Maintained
 +F:    scripts/faddr2line
 +
  FANOTIFY
  M:    Jan Kara <[email protected]>
  R:    Amir Goldstein <[email protected]>
@@@ -5605,7 -5565,6 +5605,7 @@@ S:      Maintaine
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/atull/linux-fpga.git
  Q:    http://patchwork.kernel.org/project/linux-fpga/list/
  F:    Documentation/fpga/
 +F:    Documentation/driver-api/fpga/
  F:    Documentation/devicetree/bindings/fpga/
  F:    drivers/fpga/
  F:    include/linux/fpga/
@@@ -5989,8 -5948,8 +5989,8 @@@ S:      Maintaine
  F:    scripts/get_maintainer.pl
  
  GFS2 FILE SYSTEM
 -M:    Steven Whitehouse <[email protected]>
  M:    Bob Peterson <[email protected]>
 +M:    Andreas Gruenbacher <[email protected]>
  L:    [email protected]
  W:    http://sources.redhat.com/cluster/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
@@@ -6258,7 -6217,6 +6258,7 @@@ L:      [email protected]
  W:    http://hwmon.wiki.kernel.org/
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging.git
  S:    Maintained
 +F:    Documentation/devicetree/bindings/hwmon/
  F:    Documentation/hwmon/
  F:    drivers/hwmon/
  F:    include/linux/hwmon*.h
  S:    Supported
  F:    drivers/scsi/ibmvscsi/ibmvfc*
  
 +IBM Power Virtual Management Channel Driver
 +M:    Bryant G. Ly <[email protected]>
 +M:    Steven Royer <[email protected]>
 +S:    Supported
 +F:    drivers/misc/ibmvmc.*
 +
  IBM Power Virtual SCSI Device Drivers
  M:    Tyrel Datwyler <[email protected]>
  L:    [email protected]
  S:    Maintained
  F:    drivers/video/fbdev/i810/
  
 -INTEL ASoC BDW/HSW DRIVERS
 +INTEL ASoC DRIVERS
 +M:    Pierre-Louis Bossart <[email protected]>
 +M:    Liam Girdwood <[email protected]>
  M:    Jie Yang <[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  S:    Supported
 -F:    sound/soc/intel/common/sst-dsp*
 -F:    sound/soc/intel/common/sst-firmware.c
 -F:    sound/soc/intel/boards/broadwell.c
 -F:    sound/soc/intel/haswell/
 +F:    sound/soc/intel/
  
  INTEL C600 SERIES SAS CONTROLLER DRIVER
  M:    Intel SCU Linux support <[email protected]>
@@@ -7684,8 -7637,9 +7684,9 @@@ M:      Masahiro Yamada <yamada.masahiro@soc
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild.git kconfig
  L:    [email protected]
  S:    Maintained
- F:    Documentation/kbuild/kconfig-language.txt
+ F:    Documentation/kbuild/kconfig*
  F:    scripts/kconfig/
+ F:    scripts/Kconfig.include
  
  KDUMP
  M:    Dave Young <[email protected]>
@@@ -8256,7 -8210,7 +8257,7 @@@ F:      drivers/misc/lkdtm/
  
  LINUX KERNEL MEMORY CONSISTENCY MODEL (LKMM)
  M:    Alan Stern <[email protected]>
 -M:    Andrea Parri <parri.andrea@gmail.com>
 +M:    Andrea Parri <andrea.parri@amarulasolutions.com>
  M:    Will Deacon <[email protected]>
  M:    Peter Zijlstra <[email protected]>
  M:    Boqun Feng <[email protected]>
@@@ -8363,7 -8317,6 +8364,7 @@@ F:      Documentation/admin-guide/LSM/LoadPi
  LOCKING PRIMITIVES
  M:    Peter Zijlstra <[email protected]>
  M:    Ingo Molnar <[email protected]>
 +M:    Will Deacon <[email protected]>
  L:    [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git locking/core
  S:    Maintained
@@@ -9748,7 -9701,7 +9749,7 @@@ S:      Maintaine
  F:    drivers/net/ethernet/netronome/
  
  NETWORK BLOCK DEVICE (NBD)
 -M:    Josef Bacik <jbacik@fb.com>
 +M:    Josef Bacik <josef@toxicpanda.com>
  S:    Maintained
  L:    [email protected]
  L:    [email protected]
@@@ -11300,7 -11253,6 +11301,7 @@@ M:   Sebastian Reichel <[email protected]
  L:    [email protected]
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/sre/linux-power-supply.git
  S:    Maintained
 +F:    Documentation/ABI/testing/sysfs-class-power
  F:    Documentation/devicetree/bindings/power/supply/
  F:    include/linux/power_supply.h
  F:    drivers/power/supply/
@@@ -11703,13 -11655,6 +11704,13 @@@ F: Documentation/devicetree/bindings/me
  F:    Documentation/media/v4l-drivers/qcom_camss.rst
  F:    drivers/media/platform/qcom/camss-8x16/
  
 +QUALCOMM CPUFREQ DRIVER MSM8996/APQ8096
 +M:  Ilia Lin <[email protected]>
 +S:  Maintained
 +F:  Documentation/devicetree/bindings/opp/kryo-cpufreq.txt
 +F:  drivers/cpufreq/qcom-cpufreq-kryo.c
 +
  QUALCOMM EMAC GIGABIT ETHERNET DRIVER
  M:    Timur Tabi <[email protected]>
  L:    [email protected]
@@@ -13161,7 -13106,7 +13162,7 @@@ F:   include/uapi/sound
  F:    sound/
  
  SOUND - COMPRESSED AUDIO
 -M:    Vinod Koul <v[email protected]>
 +M:    Vinod Koul <v[email protected]>
  L:    [email protected] (moderated for non-subscribers)
  T:    git git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git
  S:    Supported
@@@ -14427,15 -14372,6 +14428,15 @@@ S: Maintaine
  F:    drivers/tc/
  F:    include/linux/tc.h
  
 +TURBOSTAT UTILITY
 +M:    "Len Brown" <[email protected]>
 +L:    [email protected]
 +B:    https://bugzilla.kernel.org
 +Q:    https://patchwork.kernel.org/project/linux-pm/list/
 +T:    git git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux.git turbostat
 +S:    Supported
 +F:    tools/power/x86/turbostat/
 +
  TW5864 VIDEO4LINUX DRIVER
  M:    Bluecherry Maintainers <[email protected]>
  M:    Anton Sviridenko <[email protected]>
@@@ -14726,7 -14662,6 +14727,7 @@@ S:   Maintaine
  F:    Documentation/usb/usbip_protocol.txt
  F:    drivers/usb/usbip/
  F:    tools/usb/usbip/
 +F:    tools/testing/selftests/drivers/usb/usbip/
  
  USB PEGASUS DRIVER
  M:    Petko Manolov <[email protected]>
@@@ -15541,13 -15476,6 +15542,13 @@@ S: Supporte
  F:    arch/x86/xen/*swiotlb*
  F:    drivers/xen/*swiotlb*
  
 +XEN SOUND FRONTEND DRIVER
 +M:    Oleksandr Andrushchenko <[email protected]>
 +L:    [email protected] (moderated for non-subscribers)
 +L:    [email protected] (moderated for non-subscribers)
 +S:    Supported
 +F:    sound/xen/*
 +
  XFS FILESYSTEM
  M:    Darrick J. Wong <[email protected]>
  M:    [email protected]
  S:    Supported
  F:    drivers/char/xillybus/
  
 +XLP9XX I2C DRIVER
 +M:    George Cherian <[email protected]>
 +M:    Jan Glauber <[email protected]>
 +L:    [email protected]
 +W:    http://www.cavium.com
 +S:    Supported
 +F:    drivers/i2c/busses/i2c-xlp9xx.c
 +
  XRA1403 GPIO EXPANDER
  M:    Nandor Han <[email protected]>
  M:    Semi Malinen <[email protected]>
  S:    Maintained
  F:    mm/zsmalloc.c
  F:    include/linux/zsmalloc.h
 -F:    Documentation/vm/zsmalloc.txt
 +F:    Documentation/vm/zsmalloc.rst
  
  ZSWAP COMPRESSED SWAP CACHING
  M:    Seth Jennings <[email protected]>
diff --combined Makefile
index 0d5cdaa72d5f078dc3ba87a4cac8e0c0391a86f9,defb383d8f6caf66590a168f8cd902bda978bfe9..bbc979aeea29c88b31b38ce162266fa0ae9dac79
+++ b/Makefile
@@@ -2,7 -2,7 +2,7 @@@
  VERSION = 4
  PATCHLEVEL = 17
  SUBLEVEL = 0
 -EXTRAVERSION = -rc7
 +EXTRAVERSION =
  NAME = Merciless Moray
  
  # *DOCUMENTATION*
@@@ -316,12 -316,9 +316,9 @@@ SUBARCH := $(shell uname -m | sed -e s/
  # CROSS_COMPILE can be set on the command line
  # make CROSS_COMPILE=ia64-linux-
  # Alternatively CROSS_COMPILE can be set in the environment.
- # A third alternative is to store a setting in .config so that plain
- # "make" in the configured kernel build directory always uses that.
  # Default value for CROSS_COMPILE is not to prefix executables
  # Note: Some architectures assign CROSS_COMPILE in their arch/*/Makefile
  ARCH          ?= $(SUBARCH)
- CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%)
  
  # Architecture as present in compile.h
  UTS_MACHINE   := $(ARCH)
@@@ -445,6 -442,8 +442,8 @@@ export KBUILD_AFLAGS_MODULE KBUILD_CFLA
  export KBUILD_AFLAGS_KERNEL KBUILD_CFLAGS_KERNEL
  export KBUILD_ARFLAGS
  
+ export CC_VERSION_TEXT := $(shell $(CC) --version | head -n 1)
  # When compiling out-of-tree modules, put MODVERDIR in the module
  # tree rather than in the kernel tree. The kernel tree might
  # even be read-only.
@@@ -504,7 -503,7 +503,7 @@@ KBUILD_CFLAGS      += $(call cc-option,-fno-
  KBUILD_AFLAGS += $(call cc-option,-fno-PIE)
  
  # check for 'asm goto'
- ifeq ($(call shell-cached,$(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) $(KBUILD_CFLAGS)), y)
+ ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC) $(KBUILD_CFLAGS)), y)
    CC_HAVE_ASM_GOTO := 1
    KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
    KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO
@@@ -802,12 -801,13 +801,12 @@@ KBUILD_CFLAGS += $(call cc-option, -fno
  endif
  
  ifdef CONFIG_LD_DEAD_CODE_DATA_ELIMINATION
 -KBUILD_CFLAGS += $(call cc-option,-ffunction-sections,)
 -KBUILD_CFLAGS += $(call cc-option,-fdata-sections,)
 +KBUILD_CFLAGS_KERNEL  += $(call cc-option,-ffunction-sections,)
 +KBUILD_CFLAGS_KERNEL  += $(call cc-option,-fdata-sections,)
  endif
  
  # arch Makefile may override CC so keep this after arch Makefile is included
- NOSTDINC_FLAGS += -nostdinc -isystem $(call shell-cached,$(CC) -print-file-name=include)
+ NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
 -CHECKFLAGS     += $(NOSTDINC_FLAGS)
  
  # warn about C99 declaration after statement
  KBUILD_CFLAGS += $(call cc-option,-Wdeclaration-after-statement,)
@@@ -877,12 -877,6 +876,12 @@@ ifeq ($(CONFIG_STRIP_ASM_SYMS),y
  LDFLAGS_vmlinux       += $(call ld-option, -X,)
  endif
  
 +# insure the checker run with the right endianness
 +CHECKFLAGS += $(if $(CONFIG_CPU_BIG_ENDIAN),-mbig-endian,-mlittle-endian)
 +
 +# the checker needs the correct machine size
 +CHECKFLAGS += $(if $(CONFIG_64BIT),-m64,-m32)
 +
  # Default kernel image to build when no specific target is given.
  # KBUILD_IMAGE may be overruled on the command line or
  # set in the environment
@@@ -1630,7 -1624,6 +1629,6 @@@ clean: $(clean-dirs
                -o -name '*.asn1.[ch]' \
                -o -name '*.symtypes' -o -name 'modules.order' \
                -o -name modules.builtin -o -name '.tmp_*.o.*' \
-               -o -name .cache.mk \
                -o -name '*.c.[012]*.*' \
                -o -name '*.ll' \
                -o -name '*.gcno' \) -type f -print | xargs rm -f
@@@ -1768,7 -1761,7 +1766,7 @@@ quiet_cmd_rmfiles = $(if $(wildcard $(r
  # Run depmod only if we have System.map and depmod is executable
  quiet_cmd_depmod = DEPMOD  $(KERNELRELEASE)
        cmd_depmod = $(CONFIG_SHELL) $(srctree)/scripts/depmod.sh $(DEPMOD) \
 -                   $(KERNELRELEASE) "$(patsubst y,_,$(CONFIG_HAVE_UNDERSCORE_SYMBOL_PREFIX))"
 +                   $(KERNELRELEASE)
  
  # Create temporary dir for module support files
  # clean it up only when building all modules
diff --combined arch/sh/Kconfig
index a97538b607a47a0b9d9ac353f69b83f437bfcd0c,c8400e34e255ef2e680b7b96c11192ba08e2910a..ae619d54018c570b13f9a9ad9f9018c9a5f95e34
@@@ -14,6 -14,7 +14,6 @@@ config SUPER
        select HAVE_OPROFILE
        select HAVE_GENERIC_DMA_COHERENT
        select HAVE_ARCH_TRACEHOOK
 -      select HAVE_DMA_API_DEBUG
        select HAVE_PERF_EVENTS
        select HAVE_DEBUG_BUGVERBOSE
        select ARCH_HAVE_CUSTOM_GPIO_H
@@@ -50,9 -51,6 +50,9 @@@
        select HAVE_ARCH_AUDITSYSCALL
        select HAVE_FUTEX_CMPXCHG if FUTEX
        select HAVE_NMI
 +      select NEED_DMA_MAP_STATE
 +      select NEED_SG_DMA_LENGTH
 +
        help
          The SuperH is a RISC processor targeted for use in embedded systems
          and consumer electronics; it was also used in the Sega Dreamcast
@@@ -60,7 -58,7 +60,7 @@@
          <http://www.linux-sh.org/>.
  
  config SUPERH32
-       def_bool ARCH = "sh"
+       def_bool "$(ARCH)" = "sh"
        select HAVE_KPROBES
        select HAVE_KRETPROBES
        select HAVE_IOREMAP_PROT if MMU && !X2TLB
@@@ -79,7 -77,7 +79,7 @@@
        select HAVE_CC_STACKPROTECTOR
  
  config SUPERH64
-       def_bool ARCH = "sh64"
+       def_bool "$(ARCH)" = "sh64"
        select HAVE_EXIT_THREAD
        select KALLSYMS
  
@@@ -163,6 -161,12 +163,6 @@@ config DMA_COHEREN
  config DMA_NONCOHERENT
        def_bool !DMA_COHERENT
  
 -config NEED_DMA_MAP_STATE
 -      def_bool DMA_NONCOHERENT
 -
 -config NEED_SG_DMA_LENGTH
 -      def_bool y
 -
  config PGTABLE_LEVELS
        default 3 if X2TLB
        default 2
diff --combined arch/sparc/Kconfig
index 435dbc033afe099a431cddc14deae8b55f8b3d7c,df7410cb1608ca7ef748e12e5898b6d262b9b489..b42ba888217d573139e34d93644db8728382a09a
@@@ -1,6 -1,6 +1,6 @@@
  config 64BIT
-       bool "64-bit kernel" if ARCH = "sparc"
-       default ARCH = "sparc64"
+       bool "64-bit kernel" if "$(ARCH)" = "sparc"
+       default "$(ARCH)" = "sparc64"
        help
          SPARC is a family of RISC microprocessors designed and marketed by
          Sun Microsystems, incorporated.  They are very widely found in Sun
@@@ -25,6 -25,7 +25,6 @@@ config SPAR
        select RTC_CLASS
        select RTC_DRV_M48T59
        select RTC_SYSTOHC
 -      select HAVE_DMA_API_DEBUG
        select HAVE_ARCH_JUMP_LABEL if SPARC64
        select GENERIC_IRQ_SHOW
        select ARCH_WANT_IPC_PARSE_VERSION
@@@ -43,8 -44,6 +43,8 @@@
        select ARCH_HAS_SG_CHAIN
        select CPU_NO_EFFICIENT_FFS
        select LOCKDEP_SMALL if LOCKDEP
 +      select NEED_DMA_MAP_STATE
 +      select NEED_SG_DMA_LENGTH
  
  config SPARC32
        def_bool !64BIT
@@@ -68,7 -67,6 +68,7 @@@ config SPARC6
        select HAVE_SYSCALL_TRACEPOINTS
        select HAVE_CONTEXT_TRACKING
        select HAVE_DEBUG_KMEMLEAK
 +      select IOMMU_HELPER
        select SPARSE_IRQ
        select RTC_DRV_CMOS
        select RTC_DRV_BQ4802
@@@ -104,6 -102,14 +104,6 @@@ config ARCH_AT
        bool
        default y if SPARC64
  
 -config ARCH_DMA_ADDR_T_64BIT
 -      bool
 -      default y if ARCH_ATU
 -
 -config IOMMU_HELPER
 -      bool
 -      default y if SPARC64
 -
  config STACKTRACE_SUPPORT
        bool
        default y if SPARC64
@@@ -140,6 -146,12 +140,6 @@@ config ZONE_DM
        bool
        default y if SPARC32
  
 -config NEED_DMA_MAP_STATE
 -      def_bool y
 -
 -config NEED_SG_DMA_LENGTH
 -      def_bool y
 -
  config GENERIC_ISA_DMA
        bool
        default y if SPARC32
diff --combined arch/x86/Kconfig
index 1fe24b624d44c9cc1611c18fea8ab87ed070d147,22365050ef5e5272b63868b91009017baa5d54d7..ed796c92701f61b31245d6d6f30636b3d1ce852c
@@@ -1,8 -1,8 +1,8 @@@
  # SPDX-License-Identifier: GPL-2.0
  # Select 32 or 64 bit
  config 64BIT
-       bool "64-bit kernel" if ARCH = "x86"
-       default ARCH != "i386"
+       bool "64-bit kernel" if "$(ARCH)" = "x86"
+       default "$(ARCH)" != "i386"
        ---help---
          Say yes to build a 64-bit kernel - formerly known as x86_64
          Say no to build a 32-bit kernel - formerly known as i386
@@@ -28,8 -28,6 +28,8 @@@ config X86_6
        select ARCH_USE_CMPXCHG_LOCKREF
        select HAVE_ARCH_SOFT_DIRTY
        select MODULES_USE_ELF_RELA
 +      select NEED_DMA_MAP_STATE
 +      select SWIOTLB
        select X86_DEV_DMA_OPS
        select ARCH_HAS_SYSCALL_WRAPPER
  
@@@ -62,7 -60,6 +62,7 @@@ config X8
        select ARCH_HAS_PMEM_API                if X86_64
        select ARCH_HAS_REFCOUNT
        select ARCH_HAS_UACCESS_FLUSHCACHE      if X86_64
 +      select ARCH_HAS_UACCESS_MCSAFE          if X86_64
        select ARCH_HAS_SET_MEMORY
        select ARCH_HAS_SG_CHAIN
        select ARCH_HAS_STRICT_KERNEL_RWX
        select HAVE_C_RECORDMCOUNT
        select HAVE_DEBUG_KMEMLEAK
        select HAVE_DEBUG_STACKOVERFLOW
 -      select HAVE_DMA_API_DEBUG
        select HAVE_DMA_CONTIGUOUS
        select HAVE_DYNAMIC_FTRACE
        select HAVE_DYNAMIC_FTRACE_WITH_REGS
        select HAVE_UNSTABLE_SCHED_CLOCK
        select HAVE_USER_RETURN_NOTIFIER
        select IRQ_FORCED_THREADING
 +      select NEED_SG_DMA_LENGTH
        select PCI_LOCKLESS_CONFIG
        select PERF_EVENTS
        select RTC_LIB
@@@ -239,6 -236,13 +239,6 @@@ config ARCH_MMAP_RND_COMPAT_BITS_MA
  config SBUS
        bool
  
 -config NEED_DMA_MAP_STATE
 -      def_bool y
 -      depends on X86_64 || INTEL_IOMMU || DMA_API_DEBUG || SWIOTLB
 -
 -config NEED_SG_DMA_LENGTH
 -      def_bool y
 -
  config GENERIC_ISA_DMA
        def_bool y
        depends on ISA_DMA_API
@@@ -871,7 -875,6 +871,7 @@@ config DM
  
  config GART_IOMMU
        bool "Old AMD GART IOMMU support"
 +      select IOMMU_HELPER
        select SWIOTLB
        depends on X86_64 && PCI && AMD_NB
        ---help---
  
  config CALGARY_IOMMU
        bool "IBM Calgary IOMMU support"
 +      select IOMMU_HELPER
        select SWIOTLB
        depends on X86_64 && PCI
        ---help---
@@@ -921,6 -923,20 +921,6 @@@ config CALGARY_IOMMU_ENABLED_BY_DEFAUL
          Calgary anyway, pass 'iommu=calgary' on the kernel command line.
          If unsure, say Y.
  
 -# need this always selected by IOMMU for the VIA workaround
 -config SWIOTLB
 -      def_bool y if X86_64
 -      ---help---
 -        Support for software bounce buffers used on x86-64 systems
 -        which don't have a hardware IOMMU. Using this PCI devices
 -        which can only access 32-bits of memory can be used on systems
 -        with more than 3 GB of memory.
 -        If unsure, say Y.
 -
 -config IOMMU_HELPER
 -      def_bool y
 -      depends on CALGARY_IOMMU || GART_IOMMU || SWIOTLB || AMD_IOMMU
 -
  config MAXSMP
        bool "Enable Maximum number of SMP Processors and NUMA Nodes"
        depends on X86_64 && SMP && DEBUG_KERNEL
@@@ -1442,7 -1458,6 +1442,7 @@@ config HIGHME
  config X86_PAE
        bool "PAE (Physical Address Extension) Support"
        depends on X86_32 && !HIGHMEM4G
 +      select PHYS_ADDR_T_64BIT
        select SWIOTLB
        ---help---
          PAE is required for NX support, and furthermore enables
@@@ -1470,6 -1485,14 +1470,6 @@@ config X86_5LEVE
  
          Say N if unsure.
  
 -config ARCH_PHYS_ADDR_T_64BIT
 -      def_bool y
 -      depends on X86_64 || X86_PAE
 -
 -config ARCH_DMA_ADDR_T_64BIT
 -      def_bool y
 -      depends on X86_64 || HIGHMEM64G
 -
  config X86_DIRECT_GBPAGES
        def_bool y
        depends on X86_64 && !DEBUG_PAGEALLOC
diff --combined init/Kconfig
index 829a4c1117f29690b6b351bbd82d76f1ab3b194d,f1b0cfb897628bc634e92c10f8a01cb58d2c2925..0274d0d28df7970282d214e5bcb3ef4dca017c52
@@@ -1,20 -1,12 +1,12 @@@
- config ARCH
-       string
-       option env="ARCH"
- config KERNELVERSION
-       string
-       option env="KERNELVERSION"
  config DEFCONFIG_LIST
        string
        depends on !UML
        option defconfig_list
-       default "/lib/modules/$UNAME_RELEASE/.config"
+       default "/lib/modules/$(shell,uname --release)/.config"
        default "/etc/kernel-config"
-       default "/boot/config-$UNAME_RELEASE"
-       default "$ARCH_DEFCONFIG"
-       default "arch/$ARCH/defconfig"
+       default "/boot/config-$(shell,uname --release)"
+       default ARCH_DEFCONFIG
+       default "arch/$(ARCH)/defconfig"
  
  config CONSTRUCTORS
        bool
@@@ -54,15 -46,6 +46,6 @@@ config INIT_ENV_ARG_LIMI
          Maximum of each of the number of arguments and environment
          variables passed to init from the kernel command line.
  
- config CROSS_COMPILE
-       string "Cross-compiler tool prefix"
-       help
-         Same as running 'make CROSS_COMPILE=prefix-' but stored for
-         default make runs in this kernel build directory.  You don't
-         need to set this unless you want the configured kernel build
-         directory to select the cross-compiler automatically.
  config COMPILE_TEST
        bool "Compile also drivers which will not load"
        depends on !UML
@@@ -1038,33 -1021,6 +1021,33 @@@ config CC_OPTIMIZE_FOR_SIZ
  
  endchoice
  
 +config HAVE_LD_DEAD_CODE_DATA_ELIMINATION
 +      bool
 +      help
 +        This requires that the arch annotates or otherwise protects
 +        its external entry points from being discarded. Linker scripts
 +        must also merge .text.*, .data.*, and .bss.* correctly into
 +        output sections. Care must be taken not to pull in unrelated
 +        sections (e.g., '.text.init'). Typically '.' in section names
 +        is used to distinguish them from label names / C identifiers.
 +
 +config LD_DEAD_CODE_DATA_ELIMINATION
 +      bool "Dead code and data elimination (EXPERIMENTAL)"
 +      depends on HAVE_LD_DEAD_CODE_DATA_ELIMINATION
 +      depends on EXPERT
 +      help
 +        Select this if the architecture wants to do dead code and
 +        data elimination with the linker by compiling with
 +        -ffunction-sections -fdata-sections, and linking with
 +        --gc-sections.
 +
 +        This can reduce on disk and in-memory size of the kernel
 +        code and static data, particularly for small configs and
 +        on small systems. This has the possibility of introducing
 +        silently broken kernel if the required annotations are not
 +        present. This option is not well tested yet, so use at your
 +        own risk.
 +
  config SYSCTL
        bool
  
This page took 0.147318 seconds and 4 git commands to generate.